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 | 18 May 2012 09:00
Oren Eini writes "....This is a bad test, because what it does is ensuring that something does not works. I just finished implementing the session.Advaned.Defer support, and this test got my attention by failing the build. Bad test, you should be telling me when I broke..."
Read more » A bad test
Ayende @ Rahien | 17 May 2012 09:00
Oren Eini writes "....Take a look at the following code: public static Task ParseAsync(IPartialDataAccess source, IPartialDataAccess seed, Stream output, IEnumerable<RdcNeed> needList)
{
return Task.Factory.StartNew(() =>
{
foreach (var item in..."
Read more » When using the Task Parallel Library, Wait() is a BAD warning sign
Ayende @ Rahien | 16 May 2012 09:00
Oren Eini writes "....ReleaseCandidateTracker is a new RavenDB based application by Szymon Pobiega. I reviewed version 5f7e42e0fb1dea70e53bace63f3e18d95d2a62dd. At this point, I don’t know anything about this application, including what exactly it means, Release..."
Read more » Reviewing RavenDB app: ReleaseCandidateTracker
Ayende @ Rahien | 15 May 2012 09:00
Oren Eini writes "....This post is partly in response for this post, discussing the Azure problem with leap year. But it is actually a bit more general than that.
In my code, here is how I define “one year from..."
Read more » Non overlapping time periods–because I like the pain of 2 AM wakeup calls
Ayende @ Rahien | 14 May 2012 09:00
Oren Eini writes "....“We need to run a specific task every 72 hours, I thought about this approach…” public class TimedTask
{
public static Timer Timer;
public static void Init()
{
Timer = new Timer(ExecuteEvery72Hours, null, TimeSpan.FromHours(72),..."
Read more » Rotten Scheduling: Don’t roll your own
Ayende @ Rahien | 11 May 2012 09:00
Oren Eini writes "....“We need to run a specific task every 72 hours, I thought about this approach…” public class TimedTask
{
public static Timer Timer;
public static void Init()
{
Timer = new Timer(ExecuteEvery72Hours, null, TimeSpan.FromHours(72),..."
Read more » Rotten Scheduling
Ayende @ Rahien | 10 May 2012 09:00
Oren Eini writes "....Xenta Framework is the extensible enterprise n-tier application framework with multilayered architecture. I was asked by the coordinator for the project to review it. This isn’t going to take long. I looked at the code, and I got this: I am sure..."
Read more » Reviewing Xenta and wishing I hadn’t
Ayende @ Rahien | 09 May 2012 09:00
Oren Eini writes "....In any system that gets to a certain size, especially one that is multi threaded, there are a certain class of bugs that are really a bitch to figure out. They are usually boil down to some sort of a race condition. I have been doing that recently,..."
Read more » The best multi threading debugging tool is Microsoft Excel
Ayende @ Rahien | 08 May 2012 09:00
Oren Eini writes "....This made me laugh: And yes, I am aware that laughing at my own action is… strange...."
Read more » Answering customer questions
Ayende @ Rahien | 07 May 2012 09:00
Oren Eini writes "....One of the really nice things about Rhino Service Bus applications is that we have created a structured way to handle inputs and outputs. You have messages coming in and out, as well as the endpoint local state to deal with. You don’t have to worry..."
Read more » Testing Rhino Service Bus applications