ma•ven (mā'vən)

n.  A person who has special knowledge or experience;
an expert.


n.  An expert developer with great influence.

Oren Eini

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 | 30 Jul 2021 12:00

Open for extension, closed for modification as an architectural patternSubscribe to this feed

Oren Eini writes "....The Open Closed Principle is part of the SOLID principles. It isn’t new or anything exciting, but I wanted to discuss this today in the context of using that not as a code artifact but as part of your overall architecture.The Open Closed Principle..."
Read more »  Open for extension, closed for modification as an architectural pattern

Ayende @ Rahien | 29 Jul 2021 12:00

System.Threading.Tasks.Task isn’t an execution unitSubscribe to this feed

Oren Eini writes "....From a conceptual model, a thread and a task are very similar. That is very much by design, since the Task is meant to allow you to work with asynchronous code while maintaining the illusion that you are running in a sequential manner. It is..."
Read more »  System.Threading.Tasks.Task isn’t an execution unit

Ayende @ Rahien | 28 Jul 2021 12:00

Architecture foresight: Put a queue on thatSubscribe to this feed

Oren Eini writes "....If you build any kind of non trivial system, one of the absolutely best things that you can do for the long term health of your system is to move all significant processing to sit behind a queue.  That is one of those things that is going to..."
Read more »  Architecture foresight: Put a queue on that

Ayende @ Rahien | 27 Jul 2021 12:00

Responsibility Abdication: The path to create flexible business systemSubscribe to this feed

Oren Eini writes "....I had a long conversation with a dev team that are building a non trivial business system. One of the chief problems that they have to deal with is that the “business logic” that they are asked to work with is extremely mutable, situation dependent..."
Read more »  Responsibility Abdication: The path to create flexible business system

Ayende @ Rahien | 26 Jul 2021 12:00

Working with business events and RavenDBSubscribe to this feed

Oren Eini writes "....About twenty years ago, I remember looking at a typical business application and most of the code was basically about massaging data to and from the database. The situation has changed, but even the most sophisticated of applications today spent an..."
Read more »  Working with business events and RavenDB

Ayende @ Rahien | 23 Jul 2021 12:00

Postmortem: Accidentally quadratic indexing outputSubscribe to this feed

Oren Eini writes "....Tracking down a customer’s performance issue, we eventually tracked things down to a single document modification that would grind the entire server to a halt. The actual save was working fine, it was when indexing time came around that we saw the..."
Read more »  Postmortem: Accidentally quadratic indexing output

Ayende @ Rahien | 14 Jul 2021 12:00

Developing a terraform provider in C#, for WindowsSubscribe to this feed

Oren Eini writes "....Terraform is all the rage on the DevOps world now, and we decided to take a look. In general, Terraform is written in Go, but it uses a pretty nifty plugins system to work with additional providers. A terraform provider is an executable that you..."
Read more »  Developing a terraform provider in C#, for Windows

Ayende @ Rahien | 13 Jul 2021 12:00

Postmortem: The case of the pauses, the fault and the GCSubscribe to this feed

Oren Eini writes "....A RavenDB customer called us with an interesting issue. Every now and then, RavenDB will stop process any and all requests. These pauses could last for as long as two to three minutes and occurred on a fairly random, if frequent, basis. A team of..."
Read more »  Postmortem: The case of the pauses, the fault and the GC

Ayende @ Rahien | 12 Jul 2021 12:00

RavenDB 5.2: Rolling index deploymentSubscribe to this feed

Oren Eini writes "....RavenDB 5.2 introduce a new concept for deploying indexes: Rolling indexes deployment. Typically, deploying an index to production on a loaded database is something that you do only with great trepidation. There are many horror stories about..."
Read more »  RavenDB 5.2: Rolling index deployment

Ayende @ Rahien | 09 Jul 2021 12:00

Work offloading and controlled parallelismSubscribe to this feed

Oren Eini writes "....For a database engine, controlling the amount of work that is being executed is a very important factor for the stability of the system. If we can’t control the work that is being done, it is quite easy to get to the point where we are overwhelmed...."
Read more »  Work offloading and controlled parallelism

This Maven's Blog

Oren Eini

Ayende Rahien