Oren Eini is a senior developer / architect, focusing on architecture, data access and best practices. Most often, he is working on building complex business systems using .Net 2.0, NHibernate and Castle's Frameworks, providing training and guidance for the use of Object Relational Mapping, Inversion of Control, Domain Driven Design and other exciting topics. Oren is an active member in several leading Open Source projects, including (but not limited :-) ) NHibernate, Castle and Rhino Mocks.
Ayende @ Rahien | 22 Apr 2014 09:00
Oren Eini writes "....During the RavenDB courses* in the past few weeks, I was talking with one of the attendees and I came up with what I think is a great analogy. * Yes, courses, in the past 4 weeks, I’ve given the RavenDB course 3 times. That probably explains why I..."
Read more » Success: From Opening a Champagne Bottle To Hiding Under the Bed with Said Bottle
Ayende @ Rahien | 21 Apr 2014 09:00
Oren Eini writes "....There are a lot of stuff that are hard to do when you are working on a large team. But the really nice thing is the velocity in which you can move. I just started the morning with the following commands: And I have another PR pending for a..."
Read more » The nice thing about working in a large team…
Ayende @ Rahien | 18 Apr 2014 09:00
Oren Eini writes "....One of the nice features that Voron got from LMDB is the notion of multi trees. If I recall correctly, LMDB calls them duplicate items, or something like that. Basically, it is the ability to store multiple values for a single key.
Read more » Optimizing Voron and the cost of Multi Trees
Ayende @ Rahien | 17 Apr 2014 09:00
Oren Eini writes "....I posted before about design practice for how I would approach building a search engine library. I decided to bite the bullet and actually try to do this. Using Voron, that turned out to be a really simple thing to do. Of course, this..."
Read more » The Corax Experiment: API
Ayende @ Rahien | 16 Apr 2014 09:00
Oren Eini writes "....RavenDB is a server product, as such, we are obvious going to have to talk over the network. That is great, except that it means we need a system wide resource, a TCP port. And that isn’t so great, because it turn out that there are a lot of things..."
Read more » Finding a port in a storm: Or how to get a consistent build experience
Ayende @ Rahien | 15 Apr 2014 09:00
Oren Eini writes "....Note: This is done purely as a design practice. We don’t have any current plans to implement this, but I find that it is a good exercise in general.
How would I go about building a search engine for RavenDB to replace Lucene. Well, we have..."
Read more » Design practice: Building a search engine library
Ayende @ Rahien | 14 Apr 2014 09:00
Oren Eini writes "....I’ve been using Lucene for the past six or seven years, and after my last post, I thought it would be a good idea to talk a bit about the kind of things that it isn’t doing well. We’ve been using it extensively in RavenDB for the past 5 years, and I..."
Read more » The dark sides of Lucene
Ayende @ Rahien | 11 Apr 2014 09:00
Oren Eini writes "....Lucene is a search engine library, which is great. But as it turns out, there is a lot going on there. After working with it for several years, I can say with confidence that it is a pretty awesome library. But surprisingly, a lot of the effort that..."
Read more » What Lucene does, a look under the hood
Ayende @ Rahien | 10 Apr 2014 09:00
Oren Eini writes "....I talked about the Lucene formula and how it calculate things using tf-idf for best matches. Now I want to talk about the actual sorting implementation. As it turned out, the default sorting (by relevancy) is really simple. All you need is to get..."
Read more » Sorting with Lucene
Ayende @ Rahien | 09 Apr 2014 16:04
Oren Eini writes "....Now that the conference is over ,and I am merely doing 3 back to back RavenDB courses in 3 cities and 2 continents, I can sit back and look at that. I was, in a word, a blast. We had eight speakers giving 14 talks, about topics that moved from date..."
Read more » RavenDB Conf: Success!