Who needs a bookshelf?

EBooks are going to make it. Last holiday I’ve read more than three books, which for me is a lot in only 10 days!

But what’s more, I carried about thirty books with me on the trip. Thirty books? Yeah well, you know, they never weigh more than my ereader. And that’s not all My BeBook Neo can play chess!. Had to get the javascript chess on the Bebook for it but it works. Not that playing boardgames is the most wanted feature you need to have on an ereader. The most wanted feature for me was that the
BeBook Neo can properly show PDF files

This, in contrast to the best selling e-reader of this moment,
The Kindle 3G with New E Ink Pearl Technology, a great product but it does not support reflowable PDFs out of the box, you first have to convert PDFs to the kindle format.

Portable Document Format (PDF) is still the format that you’ll need if you want to see books exactly the same as the author has meant it. And for the books that I read myself, this is a necessity because I can’t stand wordwrapping in pages that have code-examples.

The books I’ve read this holiday that are related to coding:

  • Clean code
  • NHibernate in Action
  • Coders at work
  • Three very different books and that’s why I found them all interesting.

    Clean Code

    To summarize; Clean code, by Robert C. Martin is about maintainability of code and the craftsmanship that software developers have to expose, and gives clear guidance for the everyday work of software engineers. I believe a mustread for software developers who want to take their code to the next step of maintainability. Very good stuff and in my everyday work I can use this book in the codereviews that we do in our team at work.
    And while I was also reading Coders at work, I had to ask the author of the book, which is @unclebobmartin, and Robert nicely replied back to me. I guess I did not yet understand what Knuth meant by Literate programming after all.

    NHibernate in Action

    NHibernate in action is an indepth book about the ORM tool NHibernate. The book itself is not that different from its predecessor Hibernate in Action, the only difference is that the examples in the book are now all related to C#.Net, which for me is a good thing as that is the programming language we work with. Eyeopeners for me were the parts about second-level cache and none-lazy-loading, especially because the book emphasizes when not to use these techniques. Even suggests not to use ORM at all if getting the data that you need from your database is complicated to retrieve. Seems that this suggestion is also taken by people who really get their feet wet, because CQRS is one of those patterns that get back from the idea that ‘we could do everything with ORM’, No, instead, Command (ORM and saving) and Querying (for getting data for Reports) are very different things, so querying of data should at some points be done with good old database SQL instead of querying via the ORM. Thus outside the domainmodel and HQL queries. Do not get me wrong: HQL queries are very needed though, to get all the data you need at once, instead of relying on lazy=false flags and batchsize and join-tags in your mapping files. But don’t try to get all the nitty gritty details out of your database using ORM; reality is that it simply won’t perform well. Anyway: a good book full of examples. If you use Hibernate with .NET, read this book. You need to.

    Coders at Work

    The last book, Coders at Work, is the longest book and there is no code to be found in that book. Well apart from the
    10 print "Hello World"
    20 goto 10

    ..a program that nowadays everybody would understand.

    Coders at work is 600+ pages of talk with programmers, 15 interviews with developers of the old days. And that means even before my time. A little surprising for me was that when reading about LISP, I did not see the name of Douglas R Hofstadter come by anywhere. Probably because all the people who got interviewed were programming LISP before Hofstadter wrote his books at the end of the seventies and eighties. And now because Hofstadters books aren’t mentioned in Coders at Work, let me do that here. Just to give you some hints on the books you might want to get next on your EBook!
    Go get “Goedel, Escher, Bach” by D.R. Hofstadter, and of course Metamagical Themas, that included a chapter about recursion, and the solution of the Towers of Hanoi in Lisp. Things I read when I was a teenager and that got me started on programming.

    Reading books got me hooked on programming at first. It is great that it’s possible nowadays to carry multiple books with you in the form of Ebooks. It did not exist at that time, and I’m sure this will never go away; ereaders will probably only improve even more. Who needs a bookshelf?