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,591
|
Comments: 51,223
Privacy Policy · Terms
filter by tags archive
time to read 2 min | 293 words

I'm a funny guy. No, seriously.
I pay attention when the security experts advise: "Don't run as Administrator."
So I don't, I run as a normal user {not even a power user}.

So why the hell it is so bloody hard to do so?
There are many places where I've to get out of my way to make my setup work. One instance is VS.Net add-ins, a complete mystery all on itself.

Another, apperantely is Google Desktop.
Like most software I use, I install as administrator, and use as a normal user, so why, oh why do I get this error message?
"Google Desktop Search can only run when the user who installed it is logged in."
This is a killer bug for me, and the main reason why I unistalled Google Desktop.
There is a little page about it in the support section.

In this day and age, there is no reason for this. This is simply stupid.

Another things that irks me, why does it index my computer if the computer is idle for more than 30 seconds? That is insanely long time in computer terms.
When I work on the computer, I rarely leave it untouch for longer then 30 seconds, which means that Google Desktop will not run until I leave the computer.
This is broken.

MbUnit Mystery

time to read 3 min | 547 words

Consider the following code:

using System;

using MbUnit.Core;

using MbUnit.Core.Framework;

using MbUnit.Framework;

 

namespace ConsoleApplication1

{

      [TestFixture]

      public class Class1

      {

            [STAThread]

            static void Main(string[] args)

            {

                  using(AutoRunner auto = new AutoRunner())

                  {

                        auto.Run();

                  }

 

            }

 

            [Test]

            public void TestOne()

            {

                  Assert.AreEqual(200,100+100);

            }

 

      }

}

 

What would be the result of running this code?
Well, one result is that my floppy drive lights up and Filemon register the following activity:

15:13:34.562 ConsoleApplicat:3784 IRP_MJ_CREATE  A: SUCCESS Options: Open  Access: All 
15:13:35.562 ConsoleApplicat:3784 FASTIO_DEVICE_CONTROL A: FAILURE IOCTL: 0x560000 
15:13:35.562 ConsoleApplicat:3784 IRP_MJ_DEVICE_CONTROL A: INVALID DEVICE REQUEST IOCTL: 0x560000 
15:13:35.562 ConsoleApplicat:3784 IRP_MJ_CLEANUP A: SUCCESS  
15:13:35.562 ConsoleApplicat:3784 IRP_MJ_CLOSE  A: SUCCESS  

MbUnit version 2.22.0.0;

If someone can find out what is going on here I would be more than happy.

I tried to debug it, but I can't lie my hands on a fresh pile of MbUnit code {which moved from MbUnit homepage to TestDriven.Net and for which I can find not a sign of in the TestDriven.Net site}.

Solutions are welcome.

time to read 1 min | 65 words

Omer van Kloeten solved it.

 test(typeof(bool));

static void test( object t)
{
    Console.WriteLine(t.GetType().FullName);
}

Print System.RuntimeType (a subtype of System.Type) to the console.

I was expecting System.Boolean and that caused some head scratching. It was a call hidden five or six levels deep, and I couldn't for the life of me understand what was going on.

C# Riddle

time to read 1 min | 62 words

Consider the following code:

test(typeof(bool));

static

void test( object t)
{
    Console.WriteLine(t.GetType().FullName);
}

What would be printed?

Hint: It's not System.Boolean

Update: Omer van Kloeten pointed out that the original version worked, that is because I didn't write the example in VS.Net, or tested it.
Now it works (or doesn't work, depending how you look at it.)

time to read 1 min | 67 words

Well, apperantely I got burned because of a type mismatch.

The previous time was an IList insead of of TreeNodeCollection, now it was some strange behaviour on part of HybridDictionary.

Apperantely, hybridDictionary.Keys does not return an object[] or IList or anything like that, instead, they return a DictionaryEntry, and remember, we're talking about the Keys collection.

If not for Roy Osherove's help, I would still be stumped.
Thanks Roy.

Introduction

time to read 3 min | 416 words

Well, it's about time that I introduce myself properly, I think.
My real name is Oren Eini, I'm 22 years old. I lives in Israel, in a boring sleep-only town near Tel-Aviv.
I work at prison. :-D Today is my 699th day in prison.
That kind of thing simply ruins a person's resume, don't you think?
Anyway, I've in one prison or another for most of my service. It's one of those things that you don't really think about. You know that they exist, but no one bother to think about them.
Never mind, that is just a temporary setback, I'm an IT person at heart. :-)

It's kind of interesting, in a way. I get to lead a different life when I'm at prison and when I'm at home. My end-of-service date is a sixteen months from now, and you can't imagine how much I look forward to it. I want to learn, there is so much to learn and so much that I'm interested at that it's actually a bit depressing.
I'll get to go to the university at the time where most people finish it. But it was worth it for the experience. It's kind of hard to explain, but the banal saying does it best: "The army will make a man out of you."

Well, in my case, it was prison:-D.

But I get to meet a lot of interesting people and get exposed to a lot of hate things that I would've never seen otherwise. I was in Prison 6 for a while, which is a prison for soldiers (you know, desertion, discipline, drugs, etc.), horribly long working hours, but the people are interesting.
Now I'm in a prison for terrorists, which has normal better working hours, but more ethical dilemmas. People never think about what is going on after that terrorist or the other is arrested. Someone has to take care of them, feeding, health-care, keeping them looked, etc. It's a difficult problem, because on one hand you are keeping terrorists in prison, and on the other hand you make sure that they are whole & hearty.
Considering that most of the people I get to work with are a few years younger than me, that problem multiplies, most of them sees the world in black & white, and it's hard to make sure that their attitude remains professional.

BTW, I just googled for info about my prison, most of the English links contain some pretty derogatory information, not to mention incorrect.

Logo evolution

time to read 6 min | 1024 words

Shortly after I decided to create myself a web site I'd a very annoying problem to solve. The web site look & feel.
I hope that I don't need to tell you how important that a site will have a recognizable and pleasing to the eye look.

You can see that I pick a warm scheme for my site, simply because I like the colors.
I don't like the cold color schemes, the blue on gray or the gray-scale sites may look proffesional, but I think that they lack life.
There are many ways to create a color scheme, I simply choose a warm color (in thiscase FF9933 which translate to this color, and then I started playing, seeing what colors are working along with it. The result, if I say so myself, is quite pleasing to the eye.

But still, I needed one more quality for this to work. I needed a logo, this was terribly important to me, to get the logo exactly right.
So I fire up Photoshop and after a  couple of hours whipped a first proto-type:

This is nice, and I was satisfied with it, especially since it seemed to tax my rather limited graphical abilities. I created this logo following the instructions from Pega Web which tells you how to create a logo even if you are one of those who have trouble drawing a straight line with a ruler.
Considerring that my graphical apps were limited to a trail version of Photoshop that I got from a magazine subscription when dinosaurs roamed the earth and some knowledge of MS Paint.

I wasn't satisfied with this, however, and decided that abastract forms wasn't really for me, so I took a deep breath and tried to create something better:

Much better, I thought, now the “Custom Software Design” caught the eye nicely, and the strange shape (E in Windings2) completed the color balance nicely. But I was satisfied for a short while only, because this still has an amature quality to it.

I thought about it for a while, then decided that it the problem was with the abstract watermark (the orange shape in the background). It was too abstract, and was more appropriate for a cooler color scheme. In fact, merely inverting the colors of the images caused a big improvement:

 

Not perfect, but better than the originals, obviously this approach doesn't work. Now, considering that this is supposed to be about software, I thought that I could simply use a code background instead of a watermark. Here is the result:

This is nice, actually, and I liked it quite a bit, but is still wasn't quite what I was looking for. I wanted a background that would've more general meaning, and not one so specifically tied to the current purpose of the site. After all, the purpose might change, and I wouldn't want to change the logo then, would I?

So I thought about using some sort of a symbol to create the logo, I toyed for a while with the Windings font, but found that lacking for my purposes, then I thought about using an animal's shadow as the watermark. I thought about using some sort of dragon or a wolf, but those are really banal. I spent some time thinking about it until I finally decided to use a Rhino, I just thought about it and I think that it's cool. Beside, I don't know anyone else that uses Rhinos.

So now I found a picture of a rhino and drew it's outline, and then I'd this picture:

 

Now, this is nice. It took me some trying, much eventually, I'd the following logo:

This is nice, you can see that I made some changes, the red symbol is much prettier this way, my name is really noticeable, and I like the effect of the green initials. Unfortunately, this image doesn't scale down very easily, and doesn't look good in ??x?? which I uses as the logo size for my blog.

Time for another logo, this time, I was very pleased with it, I got rid of the graveyard's font of my name, and had some nice effects on it. I also removed the "Custom Software Design", this is for the future, not for now. I'd create two rhinos, in different color, which contrast quite well on the logo. Between the rhinos there was a lot of dead place, so I put some the symbol there to fill up the space.
The result is .

Still not good enough for me, too pale by much, and the left rhino is orange on orange, which make the whole logo looks sickly. Not a problem, actually :-)
I changed the color of the left rhino to pale green and increased the opacity of both rhinos, so there are less pronounced. I also increased the vitality of the background so it would be more attractive. Instead of the nearly invisible decoration, I've golden threads running throughout the logo. My name has some nicer effects on it, and the box that contain it got some new effects as well.
The result is .

Still not good enough, though. In the middle, those two symbols annoys me, but I can't just get rid of them, that would leave me a hole in my logo. I looked around a bit found a solution, another symbol, this time colored so it goes from blue (right) to green (left) throughout the whole rainbow.
I'm pretty proud of it, my final logo.

I think that it's very well done, and I invested quite heavily in it, the process that you saw here took about a month, all in all. But I'm quite satisfied with the result. Naturally, I would like to know if you've suggestions.

FUTURE POSTS

  1. Using Vector Search for Posts Recommendations - about one day from now

There are posts all the way to Jul 24, 2025

RECENT SERIES

  1. RavenDB 7.1 (7):
    11 Jul 2025 - The Gen AI release
  2. Production postmorterm (2):
    11 Jun 2025 - The rookie server's untimely promotion
  3. Webinar (7):
    05 Jun 2025 - Think inside the database
  4. Recording (16):
    29 May 2025 - RavenDB's Upcoming Optimizations Deep Dive
  5. RavenDB News (2):
    02 May 2025 - May 2025
View all series

Syndication

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