Oren Eini

CEO of RavenDB

a NoSQL Open Source Document Database

Get in touch with me:

oren@ravendb.net +972 52-548-6969

Posts: 7,640
|
Comments: 51,260
Privacy Policy · Terms
filter by tags archive
time to read 2 min | 361 words

I think that anybody who ever done some serious development was in the Zone, that place where you can see the whole system in your head, and can see what would happen if you make this change. It's a happy place, and you can easily lose track of time (or meetings :-)) when you're there. It's also highly annoying to be taken out of it suddenly (phone ring, for instance).

So, given all that, why does pairing work? In the last couple of months I had a chance to pair with several people, some of them were better than me, some where worse (in the technology that we were writing with). Sometimes the difference were pretty big. Nevertheless, I think that I consistently find that I work faster, and actually have a lot more fun when paring. I recently had to do some math work with a friend, and the same thing happened there, I think that together we were three or four times faster than each of us on his own.

And we don't spend all the time developing, or solving math problems, we talk, argue, call each other stupid because of cource you can see that it does this because of that, etc. So, I can get why I'm productive when I'm in the Zone, but I never get the chance to get into something even remotedly similar to this when pairing with someone.

I think that this is in part because when you work with someone else you need to explain yourself to the other person as you go along, and as a part of that you explain to yourself. I can't really count the number of times that I've explained a piece of code (that I just sweated hours on) to a co-worker, and suddenly I take a piece of paper and start writing scenarios that I didn't even see before. I know that doing math problems it certainly was like that. I knew some stuff and the other guy knew some stuff, and by mutual argument we reached to the (possibly, at least 95.454%) answer.

time to read 1 min | 124 words

Is unshamelessly a word? Nevermind about that, I've a real problem here.

If you're not aware, I'm the author of a fairly nice (and I'm being objective here) mocking framework for .Net. So what is the problem? I'm reading a lot of stuff on the TDD mailing list, and mocking comes up fairly frequently, especially lately, for some reason. So far I managed to keep from putting little comments like: "In Rhino Mocks you can do this easily by...", since I think that this isn't nice, and on the long run, it will sound as if I'm trying to sell it (even though it's free).

Any ideas on what is the recommended behavior?

time to read 2 min | 231 words

Two tales of Customer Service for this day:

The Bad:

I'm signed up to a wireless router as well as hosting from Barak. The idea was that I wouldn't need to bother about setting it up, etc. In practice, I called them yesterday at around 10:00 PM, because I couldn't connect my laptop via wireless (first time I'm trying to do that with this laptop). They kept me waiting for over 30 minutes, listening to stupid voice and a stupid message telling me to reboot the computer and check my name and password (over and over and over again).

The girl on the other side couldn't solve the problem, and promised to escelate the problem to a more senior person, which would call me back. He called me back half an hour ago, meaning over 30 hours of wait. it took another call after that to deal with it.

The (very) Good:

I just tried to ordered some prints of digital photos that I have from Asaf (Hebrew site). I had a problem with the site, and I used the contant us a mail complaining about it. In 30 minutes they called me back and make sure that the problem is fixed.

I like this kind of service.

Boo vs Python

time to read 1 min | 68 words

I'm using Spam Bayes as my spam filter, and mostly it is doing spectacular job.

The interesting thing is that the single consistent false positives that it has is with mails regarding Boo. I'm not certain how to view this...

Perhpas I should mention that Spam Bayes is written using python? Sibling rivalry? (Okay, maybe distant cousins).

No More Swapping

time to read 3 min | 434 words

I'm getting another 1Gb of RAM tomorrow. My main machine has 1Gb of RAM, and I constantly has to monitor the memory usage because I use a lot of applications simultaneity. Right now I'm using 967Mb:

  • Outlook is the usual culprit, with 91Mb.
  • RssBandit add another 68Mb to the pressure.
  • NAnt is currently compiling Castle, so it's happily eating 110Mb.
  • WBEditor (which I use to write this post) is taking a hefty 59Mb to allow me to do that
  • Firefox is no mincemeat with 55Mb taken.
  • Winword is active because I'm writing a mail message, add another 48Mb to the cake.
  • SQLServer is a modesy 46Mb
  • Explorer is another 30Mb

I'm reporting only the current mem usage, there is also the peak mem usage to consider, since I don't see it being returned the the free memory pool until the process is closed. And I've not even talked about the amount of memory Visual Studio feels free to grab. While I wrote this post the memory usage went up to 1037Mb, the peak memory usage for this machine is 1.5Gb.

I'm pretty pissed that I need to do that, even though the last upgrade I made on this computer was over a year ago, I expect 1Gb to last, damn it. The one thing that I can't stand is when I'm thinking faster than the computer can follow. The problem is that the moment that this starts, I can feel the thoughts going away, and I know that I'm going to lose them while I wait the computer to finish whatever it is that it is doing.

Swapping is a great idea, but it make the computer totally unusable for the user seating in fornt of it. It breaks every assumtion that you have with regard to cheap/costly operations. To everyone who says that memory is cheap, consider this: I'm probably going to break Outlook 2003, since it's not capable of handling more than 1Gb of RAM (but it has a hotfix).

time to read 1 min | 184 words

I don't usualy talk about politics, but this time I would like to make an observation to anyone who is interested in Israel politics. After the election of Amir Perech as the leader for the Avoda (Labor) party, there seemed to have been a huge shift in the political landscape in Israel.

For the first time, there is the possibility of an election where the main focus is not about peace or security, but rather the social issues. I currently don't hold an opinion about any of the parties, but I definately like the way it is going. An election focused on social issues is due for a long time. Peace is important, and saving life is more so, but I don't see that much of a difference between any of the candidates regarding the peace process or protecting Israel from terror.

Regardless of who will will the elections, it put a whole new spin on the political arena, one that the politician had conveniently ignored for "more important issues" for too long.

Spam Attack

time to read 1 min | 86 words

There are over 60 spam messages in my junk mail folder right now, a result of less than 20 hours of not opening the mail.

What the hell is happening out there that I'm getting so much spam? Strangely, most of it seems to be from my own domain, and masquerading as delivery failures. I can't see anyone profiting from that.

Any ideas?

Update: Over 130 spam messages, what the hell has happened?

time to read 2 min | 254 words

Amazon solved the AI problem. They pay a human to do the things a computer is not smart enough to do.

The idea is that you have a very complex problem that a human could solve instantly, such as: "Is there a red balon on this picture?" You make a web service call, and somewhere a human will look at the problem, and solve it to you. You program thinks that it just called a normal external service. The human gets some money for each task s/he complete. This is very cool. And very scary. I'm reminded of SF books that had a similar idea, but with pain/pleasure receptors instead of money.

Assuming that the cost of each task is 0.2$, and a human can answer 45 tasks per hour, 8 hours a day, that is 72$ a day, which translate to about 22.5 thousands of dollars a year (6 work days per week). Considering that the only thing that you need to do is to use the pattern matching part of the brain, it's really cool.

I can certainly see people who do that for a living. Consider the difference in buying power from the First World to the Third World, and you'll see that it's a pretty lucartive offer in many markets. In addition to that, it's soemthing that require no skills and no training. You can do use that to reduce unemployement for lots of areas.

time to read 2 min | 314 words

[Via Alex Bendig] There is a post in The Business of Software about a new manager that came into the company:

... we got a new director of engineering.  During a meeting on why we were late on our current project and what could be done about it, I joked and said he could get us a fridge in the lab with Mt. Dew in it.  Well not an hour later, a guy comes in wheeling a mini fridge...stocked with Mt. Dew.

Personally, nothing has motivated me more to want to work in that dull white lab and put in some extra effort then that small [sic]jesture.

There were a lot of comments there saying that they should have asked for [Aeron Chair/Dual LCD monitors/more RAM/Etc], but some of the commenters there got the issue (Joel Spolsky & Eric Sink). It's not about what was requested, it wasn't a meeting to request stuff that they needed. It was a chance comment that the manager acted upon, and in one simple gesture, he gained quite a lot of good will and made sure that the entire department would like being there.

I'm currently reading Peopleware, and the whole book can be summarized as "Make them happy!" That manager made his people happy, period. It's a small investement, but it'll pay off big dividends later on. People who like what they doing are going to do it better.

FUTURE POSTS

No future posts left, oh my!

RECENT SERIES

  1. API Design (10):
    29 Jan 2026 - Don't try to guess
  2. Recording (20):
    05 Dec 2025 - Build AI that understands your business
  3. Webinar (8):
    16 Sep 2025 - Building AI Agents in RavenDB
  4. RavenDB 7.1 (7):
    11 Jul 2025 - The Gen AI release
  5. Production postmorterm (2):
    11 Jun 2025 - The rookie server's untimely promotion
View all series

Syndication

Main feed ... ...
Comments feed   ... ...