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,611
|
Comments: 51,242
Privacy Policy · Terms
filter by tags archive
time to read 3 min | 479 words

I am in Frankfurt right now [couldn't find network connection, so this is actually sent from Israel], waiting for the flight to Israel. Trans atlantic flights are getting very high on my list of things that I really don't like. Nevertheless, even with the burden of the travel, the conference itself was simply fantastic.

  • I stopped at a book store just before I left Canada, and stocked myself with fantasy books. Got a few technical books (Begining Ruby on Rails, Agile development in Java and Windows Rootkits) - I consider all three to be about expanding my horizions than anything else. I am getting too entrenched in my comport zone, I am thinking. To Roy, the technical fantasy book: "The Project That Didn't Fail" - is looking very good, not realistic, of course, but good plot.
  • Back to the conference stuff, the #1 reason to go is the people, hands down. I meet a lot of developers, and the overall quality at DevTeach was very high. The overall friendliness was awesome as well. After we finished all the lectures, we had a party (some speakers and attendees) that lasted for 10 hours and we had had similar parties in the previous two nights. My alcohol consumption level went way up, didn't notice any wierd behavior on my part, but I am not sure that I would.
  • Had a deep conversation with Adam while I was drunk, which I find hilarious now (mostly because of the effort in making myself both coherent and reasonable).
  • Bilingual sucks and I blame Udi. Apperantly I have a tendency to move between languages without noticing at certain points, usually it is only a word or two, but Udi has completely mess with my head with that. It is disturbing when I am talking English by default all of a sudden.
  • I mostly stuck to the agile track, so I didn't learn any new things, but it did make quite a few things clearer, and it was fun to be able to bounce ideas and thoughts off of people.
  • Roy & I managed to get some incriminating statements from Scott, which I have recorded, and will try to make available soon, get ready to start mocking him. :-)
  • Special thanks to Roy, for the "unprovoked CC'ing" and for a lot of help & tips in preparing for the presentations.
time to read 1 min | 181 words

Yesterday I did my Advance IoC talk, which went very well. I actually got to cover not only all that I intended to do, but I got so far ahead that I had to do off-the-cuff coding, which went well until I tried to do some of the more complex stuff, which didn't really work out. That was some pretty hard core presentation.

I did ended a few minutes before I was supposed to, even after taking questions from the audience, so I guess I was not as well prepared as I should have been, and I probably still need to work on the pace that I am talking at.

I will be heading home today, and I really really liked DevTeach. I met a lot of really cool people, had some amazing conversations, and got to put faces on a lot of names that I talk with quite a lot on the blogsphere.

And to think, I thought that Scott Bellware was a serious guy. :-)

time to read 4 min | 601 words

The P&P groups has a lot of stuff that they release to the world, often with a lot of fanfare and people talking about that. I have reached the point that I no longer care about what the P&P guys are doing. Just having them release something, practically guaratees that this is not something that I would like to use.

This has nothing to do with OSS vs. MS or something stupid like that. This has to do with the following reasons:

  • The P&P team doesn't work with their tools on real applications. Basically, these tools are created in vacum, not by having to solve real world problems. And going to a customer and asking about problems and then trying to give something that may solve that is not what I mean. I mean about having to work with a system day in and day out, and having the biggest incentive to smooth all the wrinkles.
  • The stuff that they release almost always build on the naked CLR, it tries to build on top of that something to ease the pains of people who are working with that. The problem is that if you are doing that, you may be making great strides in making a developer life easier, but you are taking them in the completely wrong direction.
  • Marketing. This is related to the next point, a lot of people are pushing this stuff, almost blindly. And Microsoft can dedicate a lot of resources to spread this around (evangelists, posts, articles, etc).
  • Quality vs. brand name. This is a touchy subject, and I would really like to make it clear that I am not saying that the P&P is producing bad code. What I do want to say is that the P&P code does not goes through the same level of scrutiny that real products from Microsoft goes through. In other words, the CLR, for instance, has gone a thorough testing and design effort. The DAAB, on the other hand, has a much lower testing & design effort in comparision. The problem is that people are seeing Microsoft DAAB, and they automatically assume that this has the same quality.
    I can push a code base fairly hard, and the CLR is pretty good about what I can do with it. When I tried to do the same to the P&P stuff, it literally fell apart.

When looking at the stuff that the P&P produce, I see things that are extremely complex to their purpose, hard to use and maintain, and don't really add any value to me from where I stand today. I am not speaking blindly here, it took me 40 minutes to repreduce the policy injection block.

Even if some of the stuff that they are producing has good stuff in it, it is usually in a form too abstract to be readily used. The CAB is a good example, I like some of the ideas there, but it comes with so much weight around it that it is not worth bothering. I can build on the same ideas in half a day and end up with a far more light wieght approach, easily testable and easier to explain to the next developer.

time to read 2 min | 280 words

Consider this scenario, where you need to build a complex application, and political issues says that you have to start from scratch. This means no access to any extrenal libraries (OSS or MS-Provided) ones.

Can you build a complex application that way?

The answer for me would be probably no. I know how I structure my applications today, and I am building them to use best practices approaches for maintainability and testability. There are a lot of tool support out there that I use in order to build my applications, not being able to use that would significantly cripple my ability to build applications.

I couldn't even write those frameworks from scratch, at least not in a reasonable time frame. A basic OR/M layer should take about a week to write, but it would be very basic, and wouldn't support any of the more powerful features that actually makes OR/M attractive (lazy loading & eager loading, for instance). A basic IoC takes two days to write, but it wouldn't allow interception and it wouldn't allow easy extensibility, and support for complex nested dependencies is going to be severly limited.

If you aren't working at that level, you may be able to roll out simple tools, and be successful, but I wouldn't be able to work within those limitation (I am often not able to work within the limitations of the current tools, at which point I extend them :-) ).

Anyway, just a point I wanted to make. Don't bother starting with a blank slate anymore, it is not worth it.

time to read 1 min | 190 words

Not really liking the name of this post, but...

A lot of people are familiar with GoF book, and quite a few people actually take pride in being able to use design patterns. One of the more horrifying indicators for trouble you can get is someone having the GoF book on their table, opened:

GoF-Horror.png

Right now, I consider the GoF book an essential part of the tools that I have in my toolkit, but knowing the GoF patterns is no longer an good indicator for quality, it is usually a sign of "I am following the herd, and design patterns are supposed to be cool..."

Something that I look at far more favorablely is the Patterns of Enterprise Application Architecture book:

This take the concept of design patterns and move them from the class level to the application level, and that is much more meaningful conversation when you are thinking about applications now.

time to read 2 min | 346 words

So after the conference ended, about 25 of us (speakers and attendees) had headed for a dinner, and then we came back to the hotel and sat on the pub, then we migrated downward to get for music (Carl Franklin and Mathew can't-recall-last-name were amazing, and Roy had amazing songs).

All of that took roughly 10 hours of just being with the guys, and it produced some really great quotes. You are probably not going to figure some of this out, but I am going to post it anyway.

Quotes:

  • MS-Jews 1.0 Beta
  • Scott Bellware - "I am trying to work here!"
  • Beer Driven Behavior
  • Rhino Bitch
  • Smrufitecture
  • Drunk Driven Design
  • What does a guy like you does in a blog like this?
  • Ghost porn? No! Goat porn!
  • So two years ago, when INETA was relevant... What is INETA?
  • The Doh! MVP
  • Half a Bambi
  • throw new OksanaException("You didn't tell me what Triangulafocation is!");

That is just what I can remember right now, there were a lot more, but I forgot them :-( The pictures didn't hit Flickr yet, so I am waiting for that.

Hell of a good time!

time to read 1 min | 140 words

Last night at the OSS panel, it was asked what are the indicators for a healthy OSS project. In my opinion, it is the size of the community and the number of active committers.

A good example of a project that wasn't healthy is NDoc, when the lead (single?) developer left, the project was mostly stranded, and the community basically died around it. A good example of a healthy OSS project is Castle, where we currently have ~20 active committers, and a very active community.

By the way, by this metric, Rhino Mocks is not a healthy project, which also came up yesterday, if I happen to meet a Bus somehow, I am not sure that the project will continue, even though there are a large number of people using it.

time to read 2 min | 276 words

So, today I did two presentations. The first one, about Rhino Mocks, happened in conjuction to Jean Paul Boodhoo, so it was fairly sparse. I feel good about that presentation, I literally had finished on the last minute, and I got to covered everything that I wanted to, as well as got some good interaction from the participants.

The second session was about MonoRail, and I had some technical issues there. The demo failed in the middle of the presentation, it should teach me about trying to deviate from the script in the middle of a demo. I also seemed to have some problems speaking in the middle of the presentation, sort of tripping on myself.

I am afraid that I got to hyper-speak mode again, because I finished about 15 minutes too early, but there were a lot of questions about it, including stuff that I didn't talk about in the talk itself (didn't think that I would have the time for that).

Met Marc André from Castle, but didn't get much time to speak with him :-(

On the evening there was the Open Source Panel, which was fun, and now I probably need to put a post or two about that one. After that there was the OR/M smackdown with Ted Neward on Dot Net Rocks, great discussion. It should be available next week, so look forward to that.

Lot of interesting talks during the day, as well, really liked the Pair Programming birds of feathers with the Oksana and Wendy from Oxygen Media.

time to read 1 min | 179 words

Jeremy Miller, me and Udi Dahan had a discussion about the echo chamber effect. Basically, we tend to talk to a lot of people who either agree with us, or in complete disagreement. Either way, the people we tend to talk to are those who are involved.

I was at a client two weeks ago (trying to tell them that a single remote debug server for 20 developers is not practical) and I saw people still doing active development in ASP classic. I went to lunch with them and tried some conversation avenues, but they were all met with glazed stares. This people are building something really big, which tens of thousands of people are using daily, and they literally had no idea about what Web Services were. (That was when I stopped to last year's buzzwards, in order to find if they know that.)

That is somewhat depressing, because there is no way that anything that we do here would be able to reach those types of guys.

FUTURE POSTS

No future posts left, oh my!

RECENT SERIES

  1. Recording (18):
    29 Sep 2025 - How To Run AI Agents Natively In Your Database
  2. Webinar (8):
    16 Sep 2025 - Building AI Agents in RavenDB
  3. RavenDB 7.1 (7):
    11 Jul 2025 - The Gen AI release
  4. Production postmorterm (2):
    11 Jun 2025 - The rookie server's untimely promotion
  5. RavenDB News (2):
    02 May 2025 - May 2025
View all series

Syndication

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