Ayende @ Rahien

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


+972 52-548-6969

, @ Q c

Posts: 6,026 | Comments: 44,842

filter by tags archive

ReviewC# in Depth

time to read 2 min | 358 words

C# in Depth has a very different focus from most “Learn language X” books. Starting from the premise that you are already am familiar with the basic language syntax (for 1.0, or maybe you are a Java or C++ programmer), it focus entirely on the new additions to the language and platform.

Its stated goal is to take C# 1.0 developers and give them all the changes that happened to the language in the C# 2.0 and 3.0 versions. And it most certainly deserves the “in Depth” part of the name.

I consider myself a fairly proficient developer, and I believe that I have adequate knowledge in both C# 2.0 and 3.0, but I still found myself learning new things. More to the point, as someone who do know much of the material in the book, I was quite impress with the quality of the material, the depth of the discussion and the level in which it is being presented.

I think that Jon has managed to capture a lot of the complexities of the language in a way that is approachable, easy to understand and complete.

I have been recommending that book for clients ever since I read it, and only recently realized that I have never actually posted about it. I kept intending to, but that doesn’t seem to put words on the blog, unfortunately (otherwise I would blog even more).

The complexity of the C# is a personal worry of mine, mostly because I see how hard it is for people to bridge the gap when moving to the newer versions of the language and having to face the explosion of possibilities. I think that this book is a big step in closing that gap.

Perhaps the best compliment that I can give to the book is that I fully intend to use the 2nd edition as the text to read to get into C# 4.0 when it is out. No reason not to let Jon do all the hard work :-)

Haven’t we been tortured enough?!

time to read 1 min | 117 words

This has nothing to do with technology. It has to do with books. In particular the Wheel of Time books.

Go and read this announcement. I want to cry!

For crying out loud, I have been reading this series of book for the last decade. I spent most of my high school re-reading the books, and I consider them a big reason for why I able to understand English at the level that I want.

Hell, I own several copies of some of the books, but for crying out loud, another three books? And ones that would be basically cut in the middle?

Gnashing of teeth describe my current status quite nicely.

5 Books that I am waiting for…

time to read 2 min | 288 words

Well, technically I am not expecting this any longer, since it is out.


One of the best sources for information about NHibernate is finally available!

Moving on to books that aren’t out yet, but I am really looking for, and have nothing to do with technology (well, they are both SF, but other than that):

image image

Both are really good, and I have been reading (well, hearing) the series for a long time. Don’t expect to hear much from me the next day or two after each of them out.

And, of course, this book is on Amazon as well:


Although you can read it right now, it feels more real that you can see it in Amazon.

I am still trying to convince Manning that Oren Eini is not a fiction, and that it should really appear on the cover as well.

And this is not a book, but I am very excited about this:


I should have this next week, and then my time would get even busier, because the Kindle is the ultimate impulse read device.

On Hadoop

time to read 2 min | 207 words

Yesterday or the day before that I read the available chapters for Hadoop in Action. Hadoop is a Map Reduce implementation in Java, and it includes some very interesting ideas.

The concept of Map Reduce isn't new, but I liked seeing the actual code examples, which made it so much easier to follow what is actually going on. As usual, an In Action book has a lot of stuff in it that relates to getting things started, and since I don't usually work in Java, they were of little interest to me. But the core ideas are very interesting.

It does seems to be limited to a very small set of scenarios, needing to, in essence, index large sets of data. Some of the examples in the book made sense as theoretical problems, but I think that I am still missing the concrete "order to cash" scenario, seeing how we take a business problem and turn that into a set of technical challenges that can be resolved by utilizing Map Reduce in some part of the problem.

As I said, only the first 4 chapters are currently available, and I was reading the early access version, so it is likely will be fixed when more chapters are coming in.

A balancing act

time to read 2 min | 251 words

image Probably one of the hardest challenges that I am facing with writing the book is to know what to say and what to leave unsaid.

Phrasing it another way, it is choosing at what level to talk to the reader. On the one hand, I really want the reader to be able to make immediate use of the concepts that I am talking about, which drive me to do more practical demonstrations, code samples and covering more common situations. On the other hand, those take up a lot of room, and they tend to be boring if you don't need exactly what you need right this moment.

High level concepts, open ended possibilities and assuming a bit about the reader knowledge level makes for a book that is much more narrowly focused, and I think that it more valuable. However, it also tend to leave readers unsatisfied, because not everything is explained.

Currently I am writing a UI focused chapter, and to get a good experience from the UI you need to invest a lot of time. Metric tons of it. I am trying to chart the way and show how this can be done, but without getting mired in all the actual minute details.

This is a tough balancing act, and I am not sure if I am succeeding.

ReviewHibernate Search in Action

time to read 2 min | 325 words

image I just finished reading Hibernate Search in Action, and I loved it. I should point out that I was the porter of Hibernate Search to NHibernate Search, so I had some previous expertise in the topic. In addition to that, I approached this book at an angle completely orthogonal to the expected audience. Unlike most "in Action" books, I did not intend to make immediate use of the code and approaches suggested in the book. Instead, I looked to the book as a way to deepen my understanding of the tool and how it works.

I am impressed, massively so, that it did so well in this regard for someone who has gone through the entire source code of the project several times.

I'll not bore you with the actual details, you can get the actual content summary of off the site. From my perspective, after reading this book I know that I am going to take a completely different approach for most complex search scenarios, and I think that I have the practical theoretical knowledge to deal with it.

I highly recommend the book if you actually need to deal with Hibernate Search, but I would recommend it to people who are not using it, because it contains some important eye opening concepts if you are not used to full text search tools capabilities. As a nice bonus, I was able to take the information in the book and use it to discuss a problem the customer was having, ending up with something that I consider far superior of the solution that they currently employ.

It is not out yet, and I reviewed a non final copy, but you can order the PDF right now, and just reading the freely available first chapter is valuable in itself.

Quarter of a Book Review: The Last Centurion

time to read 2 min | 244 words

I am not really sure what to think about this book. On the one hand, it is entertaining. On the other hand, it seems to be filled with... propaganda?

I am not sure that this is an accurate statement, but I am on 2.5 hours, and so far it has been interesting. The description of the handling of a crisis and analysis of how it could be prevented is fascinating in itself. But the last twenty minutes or so seems to be focused really heavily on showing off the US healthcare system and interesting political views.

The start of the book is wonderful, as I already mentioned, and I am going to hear it all, because it is still entertaining, but I really hope it would get to some more interesting bits soon.

Two interesting observations, the story begins with a really interesting part, which establish the credentials of the protagonist and a certain style. In particular, Do. The. Math. is an expression that is often used to compare farming techniques (hand labor vs. mechanical). I have just realized that it is used in a more controversial form. It uses the trust established for this term earlier to support this statement.

I am not sure that I agree or disagree about what he is saying. I don't have all the facts, but again, it is interesting, although discomforting. I want to listen to a plot, not a lecture.

Book ReviewBy Schism Rent Asunder

time to read 1 min | 193 words


Okay, I just finished listening to this book. It was... hard to describe. The book itself is excellent, the sheer quality of the world that Weber paints is flat out amazing.

I really liked the amount of sheer magnificence that is going on there. The number of balls that Weber manages to keep in the air is impressive.

There is just one issue with this book. It is a setup.

That is, it lay down the ground for the next book, By Heresies Distressed. Which sounds like it would be action filled. I hoped for a more interesting ending, because it feels like the story just hit its stride and is ready for action when it is over.

By Heresies Distressed, the next book, is supposed to be released in early 2009, which supports my assumption that this a case where we have a single story, but in two books.

Highly recommended, and I am going to re-read it now in text format, to give you an idea of high high the quality of the book is.


No future posts left, oh my!


  1. Technical observations from my wife (3):
    13 Nov 2015 - Production issues
  2. Production postmortem (13):
    13 Nov 2015 - The case of the “it is slow on that machine (only)”
  3. Speaking (5):
    09 Nov 2015 - Community talk in Kiev, Ukraine–What does it take to be a good developer
  4. Find the bug (5):
    11 Sep 2015 - The concurrent memory buster
  5. Buffer allocation strategies (3):
    09 Sep 2015 - Bad usage patterns
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats