Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by email or phone:


+972 52-548-6969

, @ Q c

Posts: 6,333 | Comments: 47,034

filter by tags archive

No Email Today...

time to read 1 min | 140 words

I've started to get strage errors in Outlook (after working fine for the last couple of weeks, and with no configuration changes). Further investigation showed that I can't create connections to port 110 or port 25, but other computers on the same network can.

This seems like a classic firewall problem, except that I'm not running anything more than the built-in windows one (and the router's firewall is obviously set up properly, since other computers can do this).

I'd had this problem before (2003), and I can't for the life of me recall how I solved it.

This is one of those things that are just annoying, and the #1 reason why I hate to reinstall Operation Systems, you lose so much tweaking that it's not funny...

Book ReviewDomain Driven Desing

time to read 1 min | 152 words

I just finished reading Domain Driven Design, it took me over a month and a half to finish that. The last time that I read a book for that amount of time, I was learning English and reading with a dictionary by my side.

Some parts of it were very interesting, and I could certainly see how I would apply it in certain situations. Other parts, however (mostly toward the end, about large systems) I'd to force myself to read. This is probably because I've no real experience in building the typical business applications.

It'd gotten a really good review from many people, and I'm certainly going to apply those techniques where appropriate. It's several concepts there that are quite interesting, and I gathered several more books that I want to read because of it (mostly Fowler's :-) ).

Windows Start Menu

time to read 1 min | 148 words

A good read about Windows Start Menu Horrors, as I'm writing this, I've a week old install of WinXp, and the menu already crossed to the second column, and that is with 1280x1024.

I usually arrange them in deep hirercies to fix this, but this means that I simply forget that I've stuff, and this is the whole point, isn't it?

The WinXp Most Used Programs in the start menu, however, is one of the best ideas for usability. I currently have it setup for 12 programs, and it's listing 80% of what I need to do during my work.

What other alternatives are there for this problem? Suggestions anyone? IIRC on Linux Gnome and KDE has the same metaphor, with deep menus. The Mac I'm not familiar with, did Apple solved this problem?

If it ain't broke, don't fix it.

time to read 1 min | 105 words

Just finished spending several hours tinkering with the site, I tried to upgrade Cuyahoga, but I seemed to have broke something, so I kept getting exceptions. I finally settled on ndCMS, which seems to have a great UI for something about as simple as static file.

Why did I bother in the first place?

Anyone knows of an easy to setup site management that would allows me to basically manage an hierarchal site? Oh, and I want it in .Net using MySql or Access.

Oh, well. Time to go to sleep.

Cool Discoveries

time to read 2 min | 241 words

(I'm not always complaining :-) )

Well, I made two discoveries that are going to make my life better.

First, my ftp client of choice is SmartFTP, which is cool, fast and simple. But I've a... less than reliable FTP Server, and it used to drove me nuts that it sometimes cut of in the middle of uploading, thus breaking the site. Just yesterday I found out that the Global Queue is actually useful.

I tell you this, until you haven't watched something that used to take 3 hours and much frustration done by ten threads and in 1.5 minute, you didn't know the joy of the discovery.

The other thing is the usage of Anchor property in WinForms, I always used fixed sized forms or docking to preserve my forms styles. And I just now discovered what is the purpose of this property (this is what happen when you're self thought), it keeps the distance from the spesified directions. I've already started to put it into use.

Another cool discovery that I'm making as we speak is about DataBinding, I've always did it manually before, but now it seems like a much better way to do stuff, especially if you're using MVC.


Does anyone knows of a Spring like framework for WinForms?

Outlook Addins - Not a pleasant ride

time to read 2 min | 261 words

I'm trying to write an Outlook add-in, and I just can't believe how hard it is to get it to work.

For a start, to get it to work, you need to close Outlook, install the project (run the MSI) and then open Outlook. And the support that you get for errors and the like is zero. Outlook will happily eat errors and pretend that everything is fine.

I'd an exception in my startup code that took half an hour to find, because I thought I didn't registered it properly. Which bring me to the next point, where is the support for add in developers? Some minimal things, like easily being able to debug the add-in, is a must.

Currently I still can't debug my add-in, and resorted to logging every other sentence, which has yet to reveal to me the reason for some pretty basic things that are failing.

Then we get to the point were you shouldn't use the Primary Interop Assemblies that are generated by default, you need to install them by going back to the Office installation and choosing something like ".NET Programmability Support".

Sign, I currently have just ~500 lines of code, most of them dealing with setting up the UI, and I can't even get a simple list box to work.

If this goes on, I'm afraid that I'll have to just give up. I've more important things to do.


  1. Performance as a feature - 2 days from now
  2. Externalizing the HttpClient internals for fun & profit - 3 days from now
  3. Reducing the cost of occasionally needed information - 4 days from now
  4. Why we aren’t publishing benchmarks for RavenDB 4.0 yet - 5 days from now
  5. Deleting highly performant code - 6 days from now

And 1 more posts are pending...

There are posts all the way to Apr 03, 2017


  1. RavenDB Conference videos (12):
    03 Mar 2017 - Replication changes in 3.5
  2. Low level Voron optimizations (5):
    02 Mar 2017 - Primitives & abstraction levels
  3. Implementing low level trie (4):
    26 Jan 2017 - Digging into the C++ impl
  4. Answer (9):
    20 Jan 2017 - What does this code do?
  5. Challenge (48):
    19 Jan 2017 - What does this code do?
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats