Ayende @ Rahien

Oren Eini aka Ayende Rahien CEO of Hibernating Rhinos LTD, which develops RavenDB, a NoSQL Open Source Document Database.

Get in touch with me:


+972 52-548-6969

Posts: 7,399 | Comments: 50,823

Privacy Policy Terms
filter by tags archive

Sleep, lack of

time to read 1 min | 195 words

Okay, here is the deal, I just got Mercedes Lackey's When Darkness Falls, and I'm probably going to read it all in my non existing spare time.

There for un-neccecary activities such as working on OSS, blogging (maybe), writing documentation and sleep are going to be put on hold. The issue is a bit more sever in that I got Steven Burst's Dzur in the package as well. I have been waiting for that one for ages.

Do no expect much acitivity in any front. However, this being such an important task, I would like some help picking a Wiki for my projects.

At the moment I have a site with MySQL 4 + PHP 5 (IIS) / ASP.Net 1.1, so any suggestions are welcome. I am already investigating Media Wiki, but I won't be able to take it live until I have sorted out the way it looks (orange and rhinos are my things, sue me.)

If you have any suggestions, or know how I can easily skin media wiki, I would like to hear about it.


time to read 2 min | 216 words

This is not a post about technology.

You may, or may not, have heard about the recent trouble in Israel. For the past month a Israeli soldier, Gilad Shalit is being held by Hamas terrorists. Today, eight of our soldiers were killed and two were kidnapped by the Hizballa terrorists.

There has been calls to immediately negotiate the release of thousands of terrorists held in Israeli's prison in exchange for those three kidnapped soldiers.

I have been personally involved in two such operations (links to Hebrew site).
  • New Path - to strengthen Abu Mazan position.
  • Blue & white - exchanging prisoners in return to a kidnapped civilian and the bodies of three sodliers.
The facts behind the numbers were that within a month about 25% of those released turned up in prison again, for terrorist activities. At that point I lost count and interest.

I know for certain of at least two occuations where prisoners that were released in those operations had commited suicide bombing (link to one of them, couldn't find the other on the web) that killed my people. In those two occations, the terrorists were released from my prison.

This is posted as a reminder that exchanging these prisoners does not end with the exchange itself.

Hebrew Blog

time to read 1 min | 143 words

I wanted to announce that I have a new Hebrew Blog here. This is part of the Blogs.Microsoft.co.il comminity. You can read about the community here.

I am going to post mainly Hebrew stuff there (since it kind of hard to explain why Reshumot is a bad name for the accounting package in English) and because I would like to learn to write in Hebrew again :-) This is still my main blog, I'll just be posting stuff there that just isn't meaningful to readers outside of Israel. I'm guessing that there will be a fair bit of overlap between the two, as well.

The community there is at the very start, of course, but be sure to subscribe now, there is going ot be a lot of content there soon.

Seeking a Game

time to read 1 min | 126 words

I am thinking about getting a game. Which would be the first in a year or two.

I don't usually play games because of time constraints (I can code or I can play, which would be more fun?)*

Anyway, I'm considerring getting something role playing game. The last I had was Neverwinter Nights (which didn't have a great graphics but was really cool {and programable, too}). I played Dungeon Siege for a while, but the very flat plot drove me away.

I'm not sure that I want to play a MMPORG (sp?) game, by the way. I just want to kill some zombies. But in an interesting ways, and preferably something that looks good.

Any recommendations?

* I do realize that this answer may be problematic in some people eyes :-)

Can't code

time to read 1 min | 121 words

I got VS.Net open since yesterday afternoon, a couple of bugs to fix, several new features to code on several projects. Interesting stuff, too.

I just can't find the drive to do so. When I used to write fiction I got the same feeling. Authors call in Writer's Block and there are many methods to break it. For me, it usually pass in a day or two, but this is ridiculious. I know what I need to do, and how to do it, but the engine won't start.

I've already tried to sleep it off, but it didn't work. I'm going to try reading, movies and excersize to get started again.

time to read 2 min | 291 words

Random thoughts about today, no real content:

  • Copying gigabytes of data is going to take a long time.
  • Debugging Brail is fun, you get to play the "Who exactly changed this bit" game, where you have the pre processor, Brail's compiler extentions and Boo's magic all mixing together to a complete whole.
  • It's not good to save dynamic assemblies to the bin directory of an ASP.Net application, the application will reset itself on each request. It make debuging sort of hard, I heard.
  • Causing your head to impact the wall at high speed hurts. And it also attracts some funny glances. What is up with those people?
  • It's actually a joy to work with Brail on a project, I get to remember all my previous design decisions, and I don't have anyone to blame. It's an interesting spot for me, since I usually blame Microsoft and/or Oracle.
  • Linking SQL Server to Oracle requires black magic and a couple of chickens. SQL Server will flat out refuse to read a perfectly innocent table from Oracle, but for some reason readily agree to read the same table when piped through a view.
  • One off solutions aren't.
  • SQL Server has a lot of different errors messages, I'm going to switch the language settings to Japanese and enjoy the pretty pictures in red brush.
  • Physical violance against machines works.
  • You can be agile when fixing errors. See: iterational error reduction (First iteration, 300 errors, second iteration, 150 errors, third iteration 140 errors, etc).
  • A run-check cycle of ~3 - 8 hours really sucks.
  • The varchar '000' is an invalid number, even when you try to get it as a varchar, but only when the moon is full and when you back is turned.
  • Relying of reference equality to manage syncronizations between objects can bite you in the ass.



time to read 1 min | 116 words

I look back at my posts for the last couple of weeks, and the are full of SQL stuff. One of the nicest things in having a blog is that you can go back and see what you did at various points in time. I knew that I blog about it, and indeed, I found out that I wrote my first trigger less than three months ago. That was a half day ordeal involving me and a couple of co-workers, checking out all sorts of crazy stuff (recursive triggers, for instance). But writing the last post took me 5 minutes for the SQL, and ten for the text between them :-)

Feeling Great

time to read 1 min | 106 words

I went to work today expecting to be there until it would all work, and I expected it to start working (if at all) only very late into the night. I got off today before I usually leave, with a really great feeling. Everything that should've worked by tonight worked. It is a great feeling. I'm not sure how we did it, because last week I would've probably said that it can't be done by the time frame we had, but we did :-)

Now it's a show & tell and off to the next stage, spit & polish.

The Yuck Factor

time to read 2 min | 255 words

I internally categorize a project on several factors:

  • Interest
  • Difficulity
  • Amount of new stuff that I learn
  • Yuck Factor

What I find is that while the first three things are very important, the Yuck Factor is usualy the thing that decides how I would remember the project, and how much I enjoy doing it. I'm not sure how I decide what is the Yuckiness of a project, though. It mostly has to do with design and it doesn't bear much in relation to the other factors. In my list of things to watch for are:

  • Hard to understand (#1 mistake).
  • Hard to modify / extend
  • Stupid! Stupid! Stupid!

I was very nearly in tears today when I saw what some people did to the poor machine. Some people really believe in dynamic programming (more on that later). And it means totally incomprehensible code. It doesn't matter that the project is intersting, not too difficult and I'm learning a lot of new stuff. It sucks to deal with it.


No future posts left, oh my!


  1. Production postmortem (48):
    27 Jan 2023 - The server ate all my memory
  2. Answer (12):
    05 Jan 2023 - what does this code print?
  3. Challenge (71):
    04 Jan 2023 - what does this code print?
  4. Recording (7):
    12 Dec 2022 - Software architecture with Oren Eini
  5. RavenDB Indexing (2):
    20 Oct 2022 - exact()
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats