DevOps Zone is brought to you in partnership with:

Allen is a content curator at DZone. He enjoys writing in the third person and composing short biographies about himself. Allen is a DZone Zone Leader and has posted 282 posts at DZone. You can read more from them at their website. View Full User Profile

Dev of the Week: Ayende Rahien

10.23.2013
| 8677 views |
  • submit to reddit
Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is working on now and what's coming next. This week we're talking to Ayende Rahien, author of Rhino Mocks and lead developer of RavenDB. Some of his most recent DZone posts include:


Thanks for talking to us! What have you been working on lately?

Mostly I've been dealing with getting things lined up for the RavenDB 3.0 release next year. We've got several new things coming up, and I think that all of that is going to be pretty exciting to see. I've also put some work into getting RavenDB 2.5 out the door.

You're working on Voron, a managed port of LMDB. How is Voron an improvement over LMDB, and how do you plan to use it?

Voron isn't exactly a managed port of LMDB. It might be better to call it the bastard child of LMDB and LevelDB, plus a lot of things that we needed that we added ourselves.

LMDB is a great DB, but being unmanaged means that the support burden that it carries is pretty high. We like to take ownership of our entire stack. And that is part of the reason why we started working on our own storage engine in the first place. Another aspect of that is that we have very different needs than what LMDB is optimized for. We routinely work with very large objects, we care a lot about write speed, etc.

Having our own managed storage engine gives us the ability to tailor the solution directly to our needs.

Are there any particular developer tools or resources you couldn't live without?

Resharper is invaluable to me. It has gotten to the point where it is almost impossible to work without it.


Do you have a favorite open source project (or projects) that you've contributed to recently?

Outside of the OSS projects that we produce (RavenDB is OSS), I haven't had the chance to really work with other OSS projects. I did go through both LMDB and LevelDB codebases and sent some suggestions / bug reports to the owners. But I don't know if that really fits.

Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?

I still consider Rhino Mocks to be one of the best codebases that I ever wrote. It is a small codebase, less than 15KLOC, but it s a really good one, if I do say so myself. And it was able to survive moving from .NET 1.0 to .Net 3.5 with many changes in between with very little change to the core architecture.

Anything else you'd like to mention?

I've recently been dealing a lot with low level storage stuff, it is a really interesting topic. I would strongly suggest to anyone who has interest in that to check out the codebases for LevelDB & LMDB. Two very different codebases, two very different approaches for the same problem, and both very interesting.

Thanks, Ayende!

Check out Ayende's blog and Twitter!