Oren Eini

CEO of RavenDB

a NoSQL Open Source Document Database

Get in touch with me:

oren@ravendb.net +972 52-548-6969

Posts: 7,589
|
Comments: 51,218
Privacy Policy · Terms
filter by tags archive
time to read 1 min | 78 words

I made a documentation error in documentation how you should specify custom access strategies for NHibernate Generics. I forgot that nested types are accessed with a '+', and not '.' I updated this post and the documentation.

The nice thing is that I got an IM question about this very topic ~20 minutes after I made the update, and the second line was "Oh, I see it in your site now."

time to read 4 min | 668 words

Scott Hanselman posted about open source projects. He poses the question: "If you work on a Open Source Project, why do you do it? When will you stop?"

I literally has to stop and think about the number of open source projects I'm involved with. Right now it is:

  • Rhino Mocks - Under active development with a community that send patches when they run into problems. Really cool project. Started because I had too many problems with NMock and refactoring.
  • NHibernate Query Analyzer - Mostly done, not doing much with it for the last few months. Just this week I got the chance to use it several times, both to analyze what NHibernate is doing and for writing mapping for a project where the schema is highly not trivial. Started because I really like the ideas behind O/RM and I wanted to learn one in depth. At the beginning, it was merely a tool to let me poke into NHibernate, but it quickly grew to a general purpose tool for working with NHhibernate.
  • NHibernate Generics - Under active development, got several patches from users. Make it really nice to work with NHibernate in .Net 2.0. It got to the point where I use the collection I developed there in projects that has nothing to do with database at all. Started because I had a .Net 2.0 project and I really hate casting.
  • Brail (now part of Castle) - Under development, but sadly I don't get enough time to use it. Started because I wanted to play with Boo and Castle together.
  • Reflector.Boo - Not actively maintained, and no longer working against the recent build of Reflector. Started because I wanted to push Boo further, but I just lost interest after I pushed the first build out.
  • Boo.DesignByContract - Not actively maintained, mostly does with it needs to do. I lost interest and no longer have the time for it.
  • Castle - Great project, greater community. I'm involved in the following projects there:
    • Active Record - I like NHibernate, I hate XML. Active Record gives me the best of everything, and the firction to get it is approaching zero.
    • MonoRail - Started out because of Brail, but I really like the basic idea and the architecture is great.
    • Dynamic Proxy - Started because I needed to use it for Rhino Mocks.

In all cases, I had a "hidden motive" to work on open source stuff. I either wanted more features, wanted to learn the software or thought it was a cool hack that is worth trying. I stop when it has the features I want to or I lose interest. That doesn't mean that I don't work stuff that doesn't immediately benefit me, though. It needs to collide with stuff that I would like to do. And this mean that the reasons can range from "I got a couple of spare moments I can dedicate to this" to "I set this software free, but it come home begging and now I need to care and feed it."

 

time to read 1 min | 115 words

I updated my Projects page with some annoucements, and when I wrote the Rhino Mocks updates I noticed just how many changes I made to it.

It's both cool and scary. The nice thing about it is that I don't have a lot of documentation to write, since I didn't change much outfacing functionality.

I already updated the documentation for NHibernate Generics, so that is done.

The documentation on this site for Brail is deprecated! You should use the Castle website documentation. I'm going to update this one as soon as I can find the time to do so. This is the one project where quite a bit has changed that I need to document.

time to read 1 min | 144 words

I've updated NHibernate Generics (based on Dragos' suggestion) to add support for different accessors. You can now use the following types to select which naming strategy it will use to get your fields.

  • NHibernate.Generics.GenericAccessor+CamelCase, NHibernate.Generics
  • NHibernate.Generics.GenericAccessor+CamelCaseUnderscore, NHibernate.Generics
  • NHibernate.Generics.GenericAccessor+PascalCaseUnderscore, NHibernate.Generics
  • NHibernate.Generics.GenericAccessor+PascalCaseMUnderscore, NHibernate.Generics
  • NHibernate.Generics.GenericAccessor+LowerCase, NHibernate.Generics
  • NHibernate.Generics.GenericAccessor+LowerCaseUnderscore, NHibernate.Generics

The old accessor (NHibernate.Generics.GenericAccessor, NHibernate.Generics) still works, of course, and default to CamelCaseUnderscore naming strategy.

time to read 1 min | 95 words

Okay, the code is in the Subversion repository, but I'm not ready to release it yet. I've a shameful confession to make first:

I never used an IList with NHibernate (or ActiveRecord) before, so I'm not really sure whatever my code makes good sense or not. And, in addition to that, I haven't had the time to test it propertly. I would appriciate it if someone who had used it before could take it for a spin and tell me what they think the bad points are.

FUTURE POSTS

  1. RavenDB 7.1: The Gen AI release - 12 hours from now
  2. RavenDB and Gen AI Security - 4 days from now
  3. RavenDB & Distributed Debugging - 7 days from now
  4. RavenDB & Ansible - 12 days from now

There are posts all the way to Jul 22, 2025

RECENT SERIES

  1. RavenDB 7.1 (7):
    18 Mar 2025 - One IO Ring to rule them all
  2. Production postmorterm (2):
    11 Jun 2025 - The rookie server's untimely promotion
  3. Webinar (7):
    05 Jun 2025 - Think inside the database
  4. Recording (16):
    29 May 2025 - RavenDB's Upcoming Optimizations Deep Dive
  5. RavenDB News (2):
    02 May 2025 - May 2025
View all series

Syndication

Main feed ... ...
Comments feed   ... ...
}