I live in Israel, and shipping time & cost from the US is quite prohibitive. At times, I have paid four or five times the cost of the book just to be able to get the bloody thing. So the rise of the Kindle filled me with a great sense of relief. I got a Kindle and started reading on that (I love it). I estimate that I read over 200 books on the thing already.
One thing that I really like is the ability to pre order a book, get it on my Kindle when it is out, and start reading immediately. But recently I have gotten several notifications about books that I really wanted to read. Here is one:
We're writing to let you know that we've canceled your order for Magic Bleeds because it will not be released by the publisher in Kindle format on Tuesday, May 25, 2071 as previously expected. We don't yet have a date for when this item will be released for Kindle. We will send you an email notifying you when the Kindle edition becomes available.
Okay, annoying. Let us hit audible.com and see if they have the audio book version available. It appears that this is not the case… but I can buy the CD version, which requires physical shipping, from Amazon.
Where does it leaves me?
There seems to be no way for me to get the book in a reasonable timeframe/cost.
Wait, let me rephrase that. There appears to be no legal way. While I have no direct knowledge of that, I am guessing that if I hit a torrent site and try to search for the book, I would not only find the book, but will be able to get the freaking thing faster than going with the legal download route.
It is actually quite simple. I would really like to give you some money, if you make it harder for me to give you money, you won’t get my money.
This decision is stupid, moronic, idiotic, senseless, irritating, annoying and in general lack all sense.
~Ayende the annoyed
I have an article to finish and code to write, but don’t expect to hear from me much for the next day or two.
I LOVE Kindle, the best purchase I made in the last 5 years. It means that I can relax in bed and read a book I ordered two minutes ago!!!
And yes, as you can see by the !!!! I am excited.
When I actually got the book in my hands I was ecstatic. That represent about two years worth of work, and some pretty tough hurdles to cross (think about the challenge that editing something the size of a book from my English is). And getting the content right was even harder.
On the one hand, I wanted to write something that is actionable, my success criteria for the book is that after reading it, you can go ahead and write production worthy Domain Specific Languages implementations. On the other hand, I didn’t want to have the reader left without the theoretical foundation that is required to understand what is actually going on.
Looking back at this, I think that I managed to get that done well enough. The total page count is ~350 pages, and without the index & appendixes, it is just about 300 pages. Which, I hope, is big enough to give you working knowledge without bogging you down with too much theory.
A while ago I run a poll about what posts you would like me to do, and the most requested topic was handling NHibernate in a Desktop application. I started writing a blog post about it, but when it hit twenty pages, I thought better on that and decided that I might as well post that as an article. MSDN Magazine just did.
You can read the about Building a Desktop To-Do Application with NHibernate in the latest issue of MSDN Magazine.
And now that the article is out, I can start posting about other topic in the code base that are pretty interesting as well.
I don’t usually read non fiction books, I read some tech books, but that is work, more than anything else. I do read a lot, and I thought that I might post what I like, in hope to get recommendations for more stuff.
The following list is mixed between authors & characters, depending on what I find more memorable. I only included authors / books that I read in the last 6 months or so.
- Robert Jordan
- Kris Longknife
- Miles Vorkosigan
- Jim C. Hines
- David Weber
- John Moore
- Rachel Caine
- Weather Warden
- Southern Vampire – Charlaine Harris
- The Lost Fleet – Jack Campbell
- Terry Prachett – the entire Discworld series
- Ilona Andrews
- On the Edge
- Kate Daniels
- Votta War
Those aren’t all of them, but that should be enough for now. Those are all that pop into mind as good reads.
I love the WoT series. My nickname, Ayende Rahien, is based on that series. So you can imagine how happy I was to start reading the Gathering Storm.
There are no spoilers in this post, I a going to spend some time digesting the book and then post a review about the actual details of the book.
What make this book unique is that the author was changed (the original author died), which caused a huge delay for this book and caused sever worries whatever the new author would be as good as the original.
I can tell you that I personally had not been able to figure out the original scenes vs. new author scenes. It does seems like there are less feminine clothing discussion (which I consider to be a great plus).
It is probably hard to see, but the cover art is still as bad as the previous ones, which also make me nostalgic.
This book focuses mostly on Rand, with some really interesting developments. There hasn’t been enough Rand in the last two books, so that is good. On the other hand, I could do with more Matrim scenes.
Things are moving, rushing pretty fast, actually. The book is a page turner, it is a 784 pages book that I finished in one seating, taking about 12 hours.
I can’t wait to read the rest.
Well, this is going to be a tad different than my usual posts, instead of doing technical post, or maybe a SF book review, I am going to talk about two authors that I really like.
David Weber is the author of the Honor Harrington series, the Prince Roger (in conjunction with Ringo) series, the Dahak series and the Safehold series, as well as other assorted books.
John Ringo is the author of the Prince Roger series, the Posleen series, the Council Wars series and a bunch of other stuff.
Both are really good authors, although I much prefer Weber’s books to Ringo’s. Their Prince Roger series of book was flat out amazing, and it is only after I read a lot more of their material that I can truly grasp how much each author contributed to them.
Ringo is way better in portraying the actual details of military, especially marines, SpecOp, etc. Small teams with a lot of mayhem attached. Unfortunately, he seems to be concentrating almost solely on having stupid opponents. I am sorry, but fighting enemies whose tactic is to shout Charge! isn’t a complex task. He is also way too attached to fighting scenes and a large percentage of his books are dedicated to that.
Well, he is Military SF writer, after all, but I think that he is not dedicating enough time to other stuff related to war. And his characters are sometimes unbelievable. The entire concept he base a lot of the Posleen series on is unbelievable in the extreme. No, not because it is SF. Because it goes against human nature to do some of the thing he portray them doing. The end of the Posleen war, for example, was one such case. The fleet comes back home, violating orders of supposedly friendly alien masters that want to see Earth destroyed by another bunch of aliens.
The problem is not that the fleet comes home in violation of orders, the problem is that it didn’t do so much sooner than that. Humans are not wired for something like that, especially since it was made clear that long before the actual event the fleet was well aware of what is going on. I spent 4 years in a military prison, orders be damned, I know exactly how far you can stretch that. And you can’t stretch it far at all. Not on a large scale with normal psych humans.
Or when one race of aliens is trying to subvert the war effort to help another race kill more humans. That is believable. What isn’t believable that the moment it was made widely spread knowledge they weren’t all exterminated. Instead, Ringo made them rulers. It makes for a good story, but I just didn’t find it believable at all. The books are still good, but the belief suspension required to go on with the story is annoying.
On a more personal note, I think Ringo is also a right winged red necked nutcase. A great author, admittedly, but I find it hard sometimes to not get annoyed about some of the perspectives that I see in the book.
Weber, on the other hand, is great in portraying navies. And I love reading his fight scenes. Mostly because he knows where to put them and how much to stretch them. He also put an amazing amount of depth into the worlds he create in surprisingly little brush strokes.
He does have a few themes that I also find fairly annoying. Chief among them, while not as annoying as having stupid enemies (which he have to some amount as well), is having the “good” side have amazingly good information about the other. Or have one side significantly better armed than the other. Sure it make it easy to make the good guys win, but I like a more realistic scenario.
His recent books in the Honor Harrington universe has portrayed exactly such a scenario and have been a pleasure to read. Beyond anything else, he knows how to give a depth to his universe, and his characters are well polished and likable. I can’t think of a scenario where a character has behaved in a way that I would consider wrong.
Weber is currently my favorite author, and I am eagerly waiting for Torch of Freedom in November.
But hands down, the best series is the Prince Roger series, on which they collaborated. This is a tale that has both Weber’s depth in creating a universe and Ringo’s touch for portraying military people. I wish there would be more books there.
This book (free online version!) is part of the Posleen series, and I stands quite well in that series. Ringo manages to weave a complete tale, and even there are some stuff there that stretch my credulity even in SF novel, I liked it.
One very interesting aspect of the book is the treatment for “war crimes” during the book. I don’t want to give any spoilers, since it is a good book, but let us just say that I could more than see how the enemies were able to use stupid and insane laws to hinder the protagonists.
The book ends in a rather surprising article, which I recommend reading.
I don’t agree with everything that they say there, mostly because it is primarily aimed for US readers, but they are saying quite a lot that I do agree with.
I just finished listening to this book, and it is… quite an interesting one. The basic premise of the book is enough to ensure that it would be interesting:
After the first [alien invasion] enemy landings in 2004, the German chancellor decides, despite fierce opposition, to rejuvenate survivors of the Waffen SS. Eager to redeem their tarnished honor, these veterans display the same steadfastness and fortitude that they did in Russia and Normandy.
I think that just from that, you can understand why it is interesting by default. I have to say, Ringo and Kratman managed to set a very believable world, and the handling of the topic was superb. I am going to have another post about Ringo’s style vs. Weber’s style, so I’ll skip a lot of that discussion in this post.
This is a Good Book, although I have to say, I find it much easier to accept alien invasions than the Judas Maccabiah SS brigade (which appear in the book).
I wonder the affect of Heinlein on Ringo’s writing. Some of the themes woven throughout the plot are definitely Heinleinism. The parasitic pacifist and peace through superior firepower, in particular.
I want to say that the book’s portrayal of the civilian attitude to the military mindset is unrealistic, but I have to say that unfortunately it isn’t so. There are some really stupid people out there.
The one thing that I find totally unrealistic in the book, however, was that political pressure was able to basically castrate the army. Mostly from environmentalist groups and the like. I have no idea how the German political and military game is played, but in most places, there is Peace and there is War. And you don’t mess around with the army in a time of war, the army tend to push back on that, and hard.
Hands down, David Weber is my favorite author. He has the ability to create rich worlds that are complete, logically consisted and interesting. While Weber is mostly known for the Harrington series, which I also really like, I have to say that the Prince Roger books (March Upcountry, etc) are the best military action series that I have read, and that the Safehold series is the best political action series.
Of the two, I actually think that I prefer the Safehold series, although it is a very close match, and I’ll likely change my mind if there would be a new book in the series.
All of that said, this book is actually about the latest book in the Safehold series, which includes Off Armageddon Reef and By Schism Rent Asunder. In a single sentence, I can tell you that Weber has managed to capture my interest all over again. His ability to weave so many concurrent plot lines is the key part of the high level of enjoyment (and quality) that I derive from the books.
The one problem that I have, like the one in the previous one, is stops too early! If I were smart, I would probably drop the series for a decade or so, and wait for Weber to pump enough books out that I can get them all in one shot.
That is not to say that the books are too long, or full of fluff. It is just that Weber is painting a big picture, and that takes time. Unfortunately, it means that by the book ends, I was left with quite a desire to known what the hell is going to happen next.
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 :-)
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.
Another big milestone, early access subscribers can now read the entire book, all 13 chapters and both appendixes.
Not edited yet, but much closer to completion.
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):
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.
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.
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.
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.
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.
I just started to listen to the Last Centurion. I am under the first minute, and I like it already. It is apparently in blog style, but I don't know, since I am listening to it. I like it because the very first minute the hero starts talking about nitpickers :-)
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.
Currently listening the By Schism Reapt Asunder
The hero ask a computer to find anomalies between two sets of records. Specifically, finding records of people who are assigned to different to several enclaves at the same time.
The quote that annoyed me was:
OWL was a fast computer, and it only took him two minutes to find the answer, even though there were millions of people in those records.
I just winced hearing that, I felt like shouting, that is not the way it works at all.
SciFi Inflation is the best term that I can use for this book series. It was engaging enough for me to go through all three books, but it bothered me enough to put a negative post about it.
Just about anything in those books is over-inflated. Interstellar travel times are measured in minutes, thousands of sentient races exists, sensors that can read the details of a ship from thirty light years away, an interstellar power has 300 million ships, etc.
This is like nails on board, highly disturbing for the flow of the story. And the story is good, it is just that those are beyond "wavehand physics away", I expect that. But I expect that to be done in a believable way.
Case in point, at one time the ship just blew up a few other ships, and it was hit with a bit of debris. The command that the Captain gibes? "Pilot, takes us half a light year out, I want to have a little time to respond if something like that happen again."
Does the author have any idea about how big a light year is?
In my absence, some evil person has re-arrange my library. Apparently having the books strewn on the floor is not cool, although it make them very accessible.
Since I can actually see all the books now, I thought it would be interesting to list some of the good technical books that I have read. As usual, it is without any particular order, with the only qualification is that reading this book literally changed the way I think about software development.
- Domain Driven Design - Evans:
This is a very dry book, but it contains a lot of valuable information. I am not sure if I am at the point where I can really make effective use of DDD, but it certainly change the way I am approaching software.
- The C++ Programing Language - Stroustrup:
If you know C++, you are more or less required to read it, and if you don't, learn C++ and then read it. This book is full of concepts that was very new to me when I read them. It is less useful for me now, but I still believe that you need to have some C++ background to be a good programmer. Until you haven't wrote your own string class you wouldn't understand what the whole fuss it about.
- Patterns of Enterprise Applications - Fowler:
I read this one at about the same time I was digging into NHibernate. It made a lot of sense of NHibernate's code, and at the same time, convinced me that there is no real reason to reimplement those patterns. (One of the reasons that I am a bit scared when someone mention design patterns).
- Working Effectively with Legacy Code - Feathers:
If you have not read it, go and do so. This book is directly responsible for the creation of Rhino Mocks, and it has affected my thinking very deeply. I am applying the same techniques for all code. I have found that it significantly increase my ability to work with complex software.
- Operating Systems Concepts - The dinosaur book:
Again, you really need to read this to be able to do effective in this field. Even if you and the metals are so far away that you need a satellite link to talk to it, you have to understand what is going on. Understanding thread scheduling, interrupts, memory management and its association to the file system, paging and reclamation policies are critical to our ability to figure out how to approach a problem.
- Modern Operating Systems - Tanenbaum:
Similar to the previous book, but give a lower level at some points. I read it about the same time I read Operating System Concepts, and it was very helpful to have two point of view on some things.
- Operating Systems - Design and Implementation - Tanenbaum:
The Minix book, I think of it. Similar to the last two, but with a greater focus of actual code, rather than abstract concepts.
- Practical file system design - Giampaolo (available as PDF):
This is a really interesting book. It focus on a relatively narrow subject, but it is full of interesting tidbits, history, education, constraints and fun. Highly recommended.
- In Search of Stupidity - Chapman:
This is not a technical book per-se, but it is a great book to understand failures in the industry. It is hilarious as well.
- Programming Erlang - Armstrong:
Go and read this book. The language itself is interesting, but it is the concepts that you will be exposed during this book that makes this really fascinating.
- Virtual Machine Design and Implementation - Blunder:
This is not such a good book, but it did ensure that I will get an appreciation for the complexities involved in some tasks. This is a book that shows how easy it is to create a virtual machine. And it very easy indeed. (well, until you have to make guarantees about threading models and memory, need to provide hooks for JITing, debugging and profiling, etc. But the basic stuff is very simple.
- Release It - Nygard:
I talked about this book extensively lately. You really want to read it to get an appreciation about how much better you can take your application's production readiness.
I have a lot more books that I have read, but non of them has really changed the way that I think about software.
Looking at this list, a couple of interesting things come up:
- No specific technology books. Stroustrup is arguably about C++, but I consider this a foundation book.
- No agile books - most of my thinking in agile related topics was from blogs / conversations / experience, rather than from books.
- A lot of low level topics.
I'll leave the interpretation to the reader.