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 | 20 Jan 2017 10:00
Oren Eini writes "....This was a surprising shock, this code seems so simple, but it does something very different than what I would expect. The question is why? As it turns out, we are missing one character here: Notice the lack of the comma? Let us see how the..."
Read more » Answer: What does this code do?
Ayende @ Rahien | 19 Jan 2017 10:00
Oren Eini writes "....This was a wild trip. Take a look at the following piece of code, what do you think it is doing? Hint, it isn’t printing “Oren” to the console. Now, can you figure out why?!..."
Read more » Challenge: What does this code do?
Ayende @ Rahien | 17 Jan 2017 10:00
Oren Eini writes "....I just had an interesting discussion on Raspberry Pi and RavenDB over twitter. The 140 characters limit is a PITA when you try to express complex topics, so I thought that I would do better job explaining it here. RavenDB is running on the Raspberry..."
Read more » The RavenDB Pi Demo Unit
Ayende @ Rahien | 16 Jan 2017 10:00
Oren Eini writes "....I was going over design documents today, and I noticed some common themes in the changes that we have between RavenDB 3.5 and RavenDB 4.0. With RavenDB 3.5 (and all previous versions), we always had the communication layer as HTTP REST calls between..."
Read more » Protocol design implications: REST vs. TCP
Ayende @ Rahien | 13 Jan 2017 10:00
Oren Eini writes "....The following is an excerpt from a design document for a major feature in RavenDB 4.0 that I’m currently reviewing, written by Tal.
One of the major problems when debugging such issues in production is the fact that most of the interesting..."
Read more » Getting the design ready for production troubleshooting
Ayende @ Rahien | 12 Jan 2017 10:00
Oren Eini writes "....In my previous Rust post, I built a simple echo server that spun a whole new thread for each connection. In this one, I want to do this in an async manner. Rust doesn’t have the notion of async/await, or something similar to Go green threads (it..."
Read more » Rust based load balancing proxy server with async I/O
Ayende @ Rahien | 11 Jan 2017 10:00
Oren Eini writes "....The nightmare scenario for a database vendor is something like this: Over 27,000 databases managed by MongoDB held to ransom; 99,000 still vulnerable. To be fair, this isn’t quite the nightmare scenario. The nightmare scenario would be if this would..."
Read more » Database security and defaults
Ayende @ Rahien | 10 Jan 2017 10:00
Oren Eini writes "....Before getting to grips with a distributed gossip system in Rust, I decided that it would be better to look at something a bit more challenging, but smaller in scope. I decided to implement the low level trie challenge in Rust. This is interesting,..."
Read more » Building a low level trie with Rust: Part I
Ayende @ Rahien | 09 Jan 2017 11:47
Oren Eini writes "....We have just made public a test instance for RavenDB 4.0. You can access it using the following link: http://4.live-test.ravendb.net/ You can also play with the client API and its usage in 4.0 here: http://4.demo.ravendb.net/..."
Read more » Public live instance for RavenDB 4.0
Ayende @ Rahien | 09 Jan 2017 10:00
Oren Eini writes "....The previous post generated some great discussion, and we have done a bit of research in the meantime about what is going to be required in order to provide strong encryption support in RavenDB. Note: I’m still no encryption expert. I’m basing a..."
Read more » Initial design for strong encryption in RavenDB 4.0