Ayende @ Rahien

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

ayende@ayende.com

+972 52-548-6969

, @ Q c

Posts: 18 | Comments: 72

filter by tags archive

Book ReviewIn Search of Stupidity

time to read 2 min | 348 words

This book is good.

The author covers such things as IBM & the PC, Netscape vs. Microsoft, WordStart vs itself, and a lot more.

Above all, this book is funny, very funny.
I wasn't very much interested in software during the eighties, mainly due to the fact that I was eagerly unticipating my age moving into the two digit zone, but this book manage to capture the old mistakes and bring them to life.
I read it in three days {work got in the day, then the book got in the way of work :D} and it is awesome read.

The author's use of lanuague is superb, and manage to make me chuckle quite a bit.
The ancedotes include ancient history {a text co-proccessor?} to the dot com bomb. Some of them I can relate to personally.

Two things I didn't like:

  • "brainchild" - The first time ever I encountered this word, and the author uses it constantly, and it sort of jump out of the page at me everytime. Doesn't help the the Hebrew translation, literaly translated back, is: "Fruit of his Mind", which is just as rare.
  • The author include many instances where he made a projection that turned out to be correct - I couldn't find any instance where he admit to be wrong. I don't buy this, and it feel too much like ego-boosting.

Nevertheless, it's a facinating book. You can read it as a history book, a marketing advice, humor book or as a general information source.

Highly recommended.

Blog System

time to read 2 min | 222 words

I'm thinking about replacing my dasBlog with another system.
I'm very happy with dasBlog, and not so eager to replace it, but the project seems to be dead.
Going here: http://workspaces.gotdotnet.com/dasBlog/ - where I used to be able to download it leads me to GotDoNet workspaces page.
I have a single problem with dasBlog, I don't have a rich editing in Firefox. But this is a killer for me.
AFAIK, there is a new version that fixes this, but I can't find it!

Anyone knows where I can:

  • Get the new dasBlog files.
  • Ger a new blog system that:
    • Uses the file system / MySql as storage, as my account doesn't have SQL Server.
    • Free.
    • .Net
    • Support rich editing in Firefox.

Computers Are Liars - Part 1 - Virual Memory And Eambezzlement

time to read 4 min | 797 words

Had you ever had to explain some technicality about the inner working of your computer to a non-technical person?
Did you manage to make the other person grok what is actually happenning?
I'm trying to educate my little brother on how computers work, this is the result:

[Warning: The following conversation was taken while driving to a movie late at night, and in a different lanauge.]

Brother: What is Virtual Memory and why is it low {refering to an error message he got earlier}? I've a lot of memory in my computer. You just installed another 10GB!

Ayende: No, I installed a HD, not memory.

Brother: What is the difference?

Ayende: Well, it's like having a whiteboard and a dossier. You can write anything on the whiteboard, and you can see everything at one, but eventually you'll run out of room. With a dossier, you can put as much information as you want {at least until the dossier cracks} but it takes a lot of time to search for something. The difference is how much time it takes to read or write something, and how much information it can hold.

Borther: So, which is which?

Ayende: Your computer memory is is like a whiteboard, very easy to write or read, but limited in space. And can be deleted very easily. A HD is much larger, and it takes more time to read and write to it, just like a dossier.

Borther: So what is virtual memory? A divider in the dossier?

[Now it gets interesting]
Ayende: Well, no. The problem is that... that... {A this point I give up and decide to personify the computer}. The computer is like a bank clerk, and any program that you run is a client. The bank don't have a lot of money available, most of it is invested elsewhere. But when a program wants more memory {a client walks to the cashier and ask to withdraw} the computer gives it the memory. The problem is when there are too many request and the money run out.

Brother: What happens then? Does the computer tell it to come tomorrow?

Ayende: The computer is too nice a person to tell you to "Go away, we don't have any more memory! Sue us!"

Brother: But what actually happens?

Ayende: Well, the computer lies. It tells you, no problem, here is the check, just cash it in when you need. You see, it hopes that you want cash it in until some other customer make a deposit {a program releases memory}.

Brother: And what happens when you do use it before it has enough?

Ayende: Well, then it cheats. First, it looks into other accounts and find what funds {places in memory} are not likely to be used soon, then it embezzle the memory away and give it to the application that wants it.

Brother: And when the embezzled application wants that memory?

Ayende: Well, the computers lies again, it again find some place unlikely to be used soon, and give the application that place.

Brother: Sound like it would get caught sometime, because what if a lot of application suddenly wants their memory back at the same time? It would have to tell some of them that it doesn't have any.

Ayende: No, that would be rude. It just politely ask them to stand in line, and steals from any of them to satisfy the requests that they need.

Brother: And won't any of them notice that they were robbed?

Ayende: No, applications don't have wallets, so the only way to can get the money is through the cashier, and he is lying through his teeth to convince them that the bank has all the money in the world {or at least about 4 Billions of it}.

Brother: I didn't know that computers lied to each other as well.

Ayende: They do, all the time.

Brother: But it nobody notice that the computer is a liar, why I got this message about low Virtual Memory?

Ayende: Oh, now you are talking about swap...

[To be (hopefully) continued...]

In search of beauty

time to read 2 min | 219 words

I've a major problem regarding art, I can't draw a straight line with a ruler and a gun to my head.
Nevertheless, that doesn't stops me from admiring beauty. Naturally, I want my application, web site, desktop etc to be pretty.

More than that, I want them to look professional.
But that seems to be very hard to do, I looked here and thought I'd found some promise, but even Googling didn't help me!

DeviantArt has great resources, but most of the stuff there is copyrighted.
I would've thought, with all the developers donating their time to GPL and OSS, there would be some artists as well.

Anyone familiar with some resource that I can use?

Currently I found Noia Warm KDE set, which are GPLed, but there are limited in their expressiveness.

[Just to clarify, I would love nothing more than to pay enormous ammount of money to strange people for 32x32 icons. I just find myself unable to do so at the moment, at least until I'll start writing software commercially, and not as {not inexpensive} hobby.]

FireFox Cleanup

time to read 3 min | 431 words

I just cleaned up my Firefox setup.
I'd a lot of problems with it (two windows appearing when openning a link from RSS Bandit, frex) and was generally displeased with the way it was operating.
I uninstalled it, removed the %APPDATA%\FireFox and %APPDATA%\Mozilla {Lost my bookmarks in the process, because I forgot to backup, but I rarely use bookmarks anyway.}

I then installed Firefox 1.0 Preview Release and the following extentions {In order of usefulness}:

  • Googlebar - Nothing more needs to be said.
  • Tabbrowser Extensions - Very useful, lots of options. But what buys me is that it removes the "Open Link in new window" when you right click a link. My default behaviour is to right click and choose "Open link in new tab", so it's very conveniant to me to have it as the first item on the context menu. Lots of other, very cool options.
  • All-in-One Gestures Extension - Allows simple {Left, Right, Up, Down} gestures, with a UI that I can understand. I used RadialContext for a time, and that was nice, but I had a lot of mistakes, because it's very small interface.
  • Adblock - My eyes usually remove ads because my mind gets them, but this is nice to have.
  • Linkification - Scan the page for plain text URL and turn them into links, a real time saver.
  • Google pagerank - Nice to have, currently this site doesn't even appear on Google.

One thing that sucks in Firefox is their approach on installing stuff. It {correctly} blocks anything that is not defined {Basically, anything not on update.mozilla.org} but it gives you no option to temporarily allows installations. You've to allow the site to install stuff, install it, and then remove the site manually.

IE's approach since SP2 is much more sensible, "Allow this time only."

FUTURE POSTS

  1. RavenDB 3.0 New Stable Release - 5 hours from now
  2. Production postmortem: The industry at large - about one day from now
  3. The insidious cost of allocations - 2 days from now
  4. Buffer allocation strategies: A possible solution - 5 days from now
  5. Buffer allocation strategies: Explaining the solution - 6 days from now

And 3 more posts are pending...

There are posts all the way to Sep 11, 2015

RECENT SERIES

  1. Find the bug (5):
    20 Apr 2011 - Why do I get a Null Reference Exception?
  2. Production postmortem (10):
    01 Sep 2015 - The case of the lying configuration file
  3. What is new in RavenDB 3.5 (7):
    12 Aug 2015 - Monitoring support
  4. Career planning (6):
    24 Jul 2015 - The immortal choices aren't
View all series

RECENT COMMENTS

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats