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 | 31 Jul 2015 09:00
Oren Eini writes "....Several months ago we decided to ramp up the RavenDB on Linux migration effort, and hired a full time developer to do just that. We started this with great hopes, mostly because we were able to get Voron to run on Linux in a reasonable amount of..."
Read more » RavenDB On Linux–Status Update
Ayende @ Rahien | 29 Jul 2015 09:00
Oren Eini writes "....A customer gave us a call about a failure they were experiencing in their production environment. They didn’t install the license that they purchased for some reason, and when they tried to install that, RavenDB will not run. There is what this..."
Read more » Production postmortem: The evil licensing code
Ayende @ Rahien | 28 Jul 2015 09:00
Oren Eini writes "....I just finished writing the following code, the time is 2 AM local time, and I am chasing a conceptual issue deep in the guts of Voron (RavenDB’s internal storage system). By any measure of the word, this code should frighten anyone who reads it...."
Read more » Pointer arithmetic and dynamic HTML generation FTW–at 2 AM
Ayende @ Rahien | 27 Jul 2015 09:00
Oren Eini writes "....The background for this post: Recently I got an email from a startup founder about a service that they are offering. It so happened that this service matched something that I was actually considering doing, so I was very happy to try it out. I..."
Read more » User experience on the main path–get it or get lost
Ayende @ Rahien | 24 Jul 2015 09:00
Oren Eini writes "....In response for my previous post, Eric had the folowing comment (well, tweet):
I guess some baskets last longer or some eggs don't seem to rot e.g. C, C++, SQL, Java*, etc
And that is true, in some sense of the word. In other words, there isn't..."
Read more » Career planning: The immortal choices aren't
Ayende @ Rahien | 23 Jul 2015 09:00
Oren Eini writes "....This one is a pretty recent one. A customer complained about high memory usage in RavenDB under moderate usage. That was a cause for concern, since we care a lot about our memory utilization. So we started investigating that, and it turned out that..."
Read more » Production postmortem: The case of the native memory leak
Ayende @ Rahien | 22 Jul 2015 08:32
Oren Eini writes "....On Sunday, there was a news program about how tough it is to find work after 40s. It was full of the usual stuff about employers only looking for young people who can work 30 hours days*, and freezing out anyone too old for their taste, etc. This is..."
Read more » Career planning: The age of least resistance
Ayende @ Rahien | 21 Jul 2015 09:00
Oren Eini writes "....In this chapter I go over all the details of map/reduce. Both in terms of what you need to use it, and how it actually works in the RavenDB engine. You can download it using the following link. We now have PDF, Kindle and ePub versions available...."
Read more » Inside RavenDB–Chapter 10 (Map/Reduce) is done
Ayende @ Rahien | 20 Jul 2015 09:00
Oren Eini writes "....In my previous post, I explained an API design that give the user the option to perform an immediate operation, use the default fire and forget or use an explicit bulk mechanism. The idea is that most operations are small, and that the cost of..."
Read more » API Design: We’ll let the users sort it out
Ayende @ Rahien | 17 Jul 2015 09:00
Oren Eini writes "....In RavenDB 4.0 (yes, that is quite a bit away), we are working on additional data types and storage engines. One of the things that we’ll add, for example, is the notion of gossiping distributed counters. That doesn’t actually matter for our..."
Read more » API Design: Small modifications over a network