• I have started with a book recommended by many sites about software architecture and design as a must read: Smalltalk Best Practice Patterns by Kent Beck. It is well written and I can see why it attracted a lot of people, even if there aren't so many Smalltalk programmers out there: it is written for use! That means that the book has less than 200 pages, but each of the specific patterns there are laden with references to others in the book, some even in the next chapters. That's because the book itself is structured to be kept nearby and consulted whenever a new project is started or in progress, not something that you read and forget in a bookshelf, gathering dust.

    However, the patterns presented are sometimes useless for a C# programmer, some being already integrated in language and some being not applicable. The fact that Smalltalk works with Messages further complicates things. I did eventually open a link to #-Smalltalk, but who will ever have time for it?

    I have decided that rather than reading this book and forgetting or not getting many of the things inside, it would be more efficient searching for a similar book that is more C# oriented.

    So, bottom line: great approach, both literary and technical, but a little hard to use for one such as me. Anyone know of a C# Best Practice Patterns book?
  • My next attempt was in the wonderful world of management! Yes, I was approached by their people, apparently they want me to join them and rule the galaxy. Maybe if they wrote more concise books!!


    The Knowledge Management Toolkit: Practical Techniques for Building a Knowledge Management System
    starts interestingly enough, describing the need of every company to build a way to retain knowledge against employee turnover or plain forgetfulness. Basically what I am doing with this blog. But it goes further than that, quantifying the return on investment for such a KM system, describing ways of rewarding people and encouraging them to use it (it is not something done automatically).

    All great, but then it kept going on telling me how the book is going to change my world, rock my boat, help me in my business... after reading the preface, the introduction, the "how it's structured", the marketing bullshit, the first chapter (full of promises about the next chapters) I was completely bored! If there is any technical description of what to do, when to do it, how to do it, why , etc, I didn't find a trace of it in the first chapter. Reading on my PDA from a badly scanned txt file didn't help either.

    Besides, I got more and more frustrated. I barely have the time to scratch all I planned on doing in this holiday (while getting nagged on by the wife, the cat and whatever friends I got left) and improving the company workings is not my responsibility. I am the god damn coder! I write code! I have a management system all of my own and I get my ROI by googling a frustrating bug and discovering I solved it a month ago myself and wrote about it here.

    So there! If you have a business it is good to have a repository of actual knowledge (a.k.a. processed information) and encourage people to use it so that they don't take all their experience with them when they leave your sorry cheap ass company! I've summarised the entire book for you! I am not reading it anymore. It hurts my sensitive techie soul!

and has 0 comments
A Quantum Murder comes to continue the story of Greg Mandel, psychic detective. Does it sound tacky? I agree that the subject is not the best possible choice, but the writing is good, Hamilton style: scifi social speculation, action, a detective story that makes the reader wonder what will happen next and whodunit!

I personally did enjoy the book, but it wasn't even close to the latest and more hard scifi writings of Peter Hamilton's. Maybe it's just me, but mental detectives in a post apocalyptic corporate world just doesn't do it for me. Maybe that's why The Nano Flower's first chapter starts with Suzi doing tekmerk stuff ;)

Again, the second volume of the three Mindstar books is stand-alone, making it easy to read even if you didn't read the first book. It is basically a scifi policier.

and has 0 comments
Another great book from Hamilton! This is part of the "Greg Mandel trilogy", that meaning there are three books to show for this particular side of the Hamilton universe, and unlike his later work, Mindstar Rising is actually a stand-alone book. You can read it without its next two parts and understand it as a single story. I've even started to read A Quantum Murder (volume 2) and Hamilton is making the effort to summarize what the characters did in the previous volume.

I understand the dilemma facing such a prolific writer: should one break a story in stand alone segments, thus cauterizing story arches and trying to put every single idea into single puny volumes? Should one bore the readers with summaries of previous volumes? Or should one write huge three volume books that you need to read in their entirety to understand anything? :) It would be a hard choice for me, as well. All I can say is that I enjoyed the big stories as well as the more common way of writing one book stories and reminding the reader of previous stories. I highly recommend the Seafort Saga for this particular style, even if it grows old by the eighth volume. Consider it, though, I was attracted to the story by accidentally reading volume 3 and understanding all of it!

Anyway, back to the book that I was reviewing, damn it! Mindstar Rising describes a post apocalyptic Earth, where global warming and subsequent social and economic disasters brought civilization to the brink of dissolution. A psychic ex-military, now working as a private eye is asked to help in finding the source of industrial sabotage and from then on it just gets more complex and thrilling. I wouldn't say that this is one of Hamilton's better books, though. Even if the book is definitely fun to read, it pales in comparison with Night's Dawn or the Commonwealth Saga. It is more like Fallen Dragon in style, although I do hope it doesn't end in the same ridiculous way.

More to come as I read the next two books.

This book started great. It outlaid a structured view of how a software company should function, from the way one designs projects, to code and documentation standards. I really hoped this was the mother load: a book that would show me how a "standard" IT company functions on every level. It wasn't. Mark Horner started it well and ended it badly. A shorter book and more to the point would have been enough.

Bottom line, the book starts in an interesting way, describing what I would call "IT gap analysis", in other words the application of a simple idea: begin with a detailed (and documented) picture of what the current (start) situation is, then describe just as much detail the situation you want to reach (end). From then on, the job of describing the transition becomes orders of magnitude easier. That applies to software projects (start with what the client has and needs, then create the plan to bridge the gap), documentation (start with the functional and end with the structural) and ultimately code (start with abstract classes and interfaces, then fill in the missing code).

Other than that there are some (hopefully) nice references, then a lot of empty space filled up with irrelevant things: description of design patterns (which are nice, but there are books for something like this), a glossary of terms (some were never even used in the book!) and then the general way of describing something, then adding the "Standard acknowledges" part that basically says the same thing as his own description. It generally felt as a student paper from one that needed only a passing grade.

Sorry Mark, better luck next time. I will add here a short summary of what yours truly thought was noteworthy in the book:
  • use gap analysis for all the levels of your software work. When you define what you have and what you need, filling the blanks becomes easier.
  • use functional documentation, design documentation and structural documentation to detail what you wanted the software to do, how you designed to solve the problems and what are the basic building blocks of the project (classes, patterns, etc).
  • use code standards and peer reviews and even external code auditing to improve the quality of code. Refactoring is a must. Popular code development methodologies include Extreme Programming and Rational Unified Process.
  • use a design standard like the open-source architecture framework (TOGAF)
  • the enterprise vs. domain dichotomy. Should a software be started from scratch and done for the current set of requests only, or should it be designed as a general component ready for reuse? I would really go towards the enterprise, even when the profit from the extra work is not immediately obvious. Sometimes things that you have prepared in advance and nobody acknowledged become a real time (and life) saver when unreasonable requests tumble down upon you.
  • also linked to the enterprise/domain issue: an application framework solution. Create a basic Visual Studio solution that contains common components used in many projects and use it as a startup solution.
  • use the Visual Studio formatting options to keep your code well formatted. Use a standard of naming variables, methods, properties. My own choice is using lowerCamelCase for inner variables, prefixing the name with an underscore for fields. UpperCamelCase (or Pascal) for methods, properties and class names. Hungarian notation for controls (lbName for a label with a name). I don't really care if one names the control txtName, tbName or tboxName, as long as the prefix is revealing.
  • use the Obsolete attribute for methods and properties that are intended to be removed in the near future. In my own library I have used methods that became obsolete with the coming of .NET 2.0 and used this attribute to point not only to the obsolescence, but also to the blog entry detailing the reasoning behind it.
  • this is basically derived from other sources, but I do think it is relevant: best practices recommends using composition over inheritance, wherever possible. I admit that the coding of composition is much more complex, but with the refactoring tools found in Visual Studio and its add-ons (like my beloved Resharper), it becomes similar in complexity.
  • references:
    1. book: Programming C# by Jesse Liberty, published by O'Reilly
    2. dude: Martin Fowler is a leading authority on refactoring
    3. books to understand object-oriented development: Object-Oriented Analysis and Design with Applications by Grady Booch, published by Addison-Wesley in 1994
    4. Expert C# Business Objects by Rockford Lhotka, published by Apress in 2003
    5. book: Code Complete, by Steve McConnell, published by Microsoft Press 2004
    6. authorities on design patterns: Martin Fowler, Gregor Hohpe, Bobby Woolf
    7. dude: professor Trygve Reenskaug and his discussion on the role of object collaboration: Role Modeling and UML-VM discussions


My conclusion: read my summary and you don't waste two days of reading time.

and has 0 comments
Darwin's Children comes to continue the story from Darwin's Radio.

My general feeling is that this is not a very good book or series. The basic ideas that started it are interesting, although pretty hard to advocate to a scientist, certainly interesting from a literary point of view, giving multiple opportunities for tension, drama, unexpected, etc. Unfortunately, Greg Bear failed to capitalise those ideas, writing a book that has only a few characters that kind of stumble upon the most important clues for the book subject; it all happens in the USA, with almost no regard to what could or would have happened elsewhere. In a time of a great crisis, the international situation is put on hold, like every nation would take a time-out and ignore its neighbours. And the style is really not touching any emotional chord whatsoever.

Let me summarize: the sudden leap in human evolution is treated by the politicians as a disease, the new species being imprisoned in what could only be described as concentration camps. The entire U.S. democracy and freedom collapses like a giant soap bubble, while the fear of every child bearing family transcends to racism and fascism in no time. The few enlightened people that understand what is going on and try to protect the evolved offspring are also persecuted and surveillanced.

So here we have the eternal American obsession with children in distress and terrified families combined with concentration camps for some of their children, racism and civil disobedience, a newly discovered and frightening evolutionary mechanism, cutting edge genetics and archaeology. This could have been a fantastic story! But no, what came out was an impersonal account of hard to believe actions or feelings coming from emotionally stunted characters. And what was worse is that whenever the tension grew and there was a hint of a great thing happening, the author would make a sudden leap in time, after all had already happened, without describing much anyway.

Also, Darwin's Children is the last book of the series, while the story (as far as I am concerned) stopped halfway through, with no reasonable conclusion. Bottom line: not worth the time.

and has 0 comments
I remember reading Greg Bear books a while ago and thinking they were really cool. The coolness, of course, came from his hard sci-fi style, mixing good ideas with believable science. Now, after about a decade I suppose, I've decided to read another of his books and here is my review.

Darwin's Radio starts a little like Village of the Damned, but without the extraterrestrial origin, continues a bit like The Stand, without the religious mambo-jumbo, and ends in waiting for Darwin's Children, the next book in the series. The plot is about a major and sudden evolution of the species, without the X-Men powers.

My personal feel was that the writing is less than I wanted. The book seems shallow and uninteresting after reading Peter F. Hamilton. While the science is interesting, it also makes huge leaps of faith and I wouldn't put it behind Bear to end the story with a good versus evil battle. Was I too young to appreciate good writing, starved as I was of anything interesting in my life? Or is this book not so hot?

I will certainly read the next volumes, but I am a bit disappointed. I feel like I am watching a play after seeing a real good movie.

and has 0 comments
He did it again! Or would it be better for me to say he has done it afore, as I am kind of moving backwards in the Peter F. Hamilton writings? Night's Dawn is a huge book, about 9Mb of pure text, divided into three parts purely out of paper formatting reasons, I am sure. So far, this is the best thing he has written, at least in my opinion.

Maybe the guy is the kind of writer who writes his best work first, then tries unsuccessfully to follow up. Not that any of his followups could be called a failure, it's just that Night's Dawn is really cool! I mean who can seriously deal with possession, necromancy, devil worship, witch hunting, vampires, werewolves, ghosts and demons, all in a future world in which humanity has conquered space an tries to attack the situation with science and rationality? Seriously! If this guy would have written the Bible, there would be no Muslims! (Ron Hubbard, eat your heart out!)

There isn't much else I can say. I certainly cannot summarize a book that spreads over about a dozen inhabited planets, all with their own history, socio-economic situations described and own characters to add plot (real plot) to the story. Right now I am terrified. I need to find the Greg Mandel trilogy, which is the last of the Hamilton big stories, and there are only two outcomes: a) I hate it, which would have wasted my time and trust in humanity; b) I love it, and then I go into withdrawal waiting for the last two volumes of the Void trilogy and whatever else he brilliantly writes in the future.

Bottom line: if you like Sci-Fi, you need to read this. Hamilton and the ReSharper guys are the only people I ever felt the need to send money to in order to apologize for my shameless Internet piracy.

Links:
Peter Hamilton's official site
Wikipedia's entry on the Night's Dawn trilogy
Peter F. Hamilton's entry in Wikipedia.

This book is written by a guy that made a small company dedicated to programming with free tools. Thus, it tries to show how to debug ASP.Net assuming that you come from an ASP background and that you don't have Visual Studio .Net. So I don't think I have to tell you how much useless information there is in there. It even covers programmatic code tracing.

That doesn't mean it is a bad book, just useless for me. If you expect some wonderful debugging frameworks or code structure that would allow you to easily debug your applications, then this book is not for you. Not to mention that at the time it was written, Visual Studio 2005 was not out yet.

Bottom line: just a hands on approach and some Google when you meet problems will solve any problems that are solved by this book.

and has 1 comment

Dan Dobos is a Romanian writer and so I find it difficult to bad mouth his work. He also had bad luck with this one, as I'd just found one of the better writers of sci-fi and read a few of his books before trying to (re)read The Abbey.

Bottom line, The Abbey tries to be a Romanian Dune, with some Christian theology thrown about, a planet controlling the resources of the entire human dominion, people with heightened intelligence, instincts, subtle two way dialogs and verbal manipulations, etc. It fails. The characters are inconsistent, obvious, their best attempts at charade are ludicrous, their motivations are inedible, the whole human galactic evolution completely unbelievable. The writing style is also very shallow, made only of dialogue and inner thoughts, with little detail of what is actually going on.

Although I admire the attempt, the basic ideas and the fact that he got published in a country where people rarely buy books and if they do they don't buy Romanian authors, this series is a failure. Better luck next time.

and has 0 comments

Enough said, I started reading anything this guy wrote. I've found Fallen Dragon, a single book this time, but filled with ideas that obviously grew into the Commonwealth Saga. With this earlier novel I did find Hamilton's Achilles heal, the one thing that bothered me in his books more than the slight over detailing of everything: the characters have no freedom.

Let me expand on that. When you write something, you have the characters in your head, fighting and shouting to let them free to do what they want. If you do that before they are fully matured, they break havoc with your writing, even considering you have the skill. However, when you force them to do your bidding like slaves, you also damage your story, because they lose credibility and consistency.

In this book more than others, the characters were forced to do something that they should never have done. A soldier looses his squad to a bunch of idealistic galactic eco terrorists, but eventually joins their ranks. That is just not possible. I was wriggling in bed, waiting for the moment the hero would remove his mask and kill that brain damaged bitch. He did no such thing, just letting his mates die for no reason. Thinking back, the same happened with Judas Unchained, when all characters willingly marched against an alien that was clearly lacking any resources and just trying to escape in a wild wild west kind of quest "let's all personally go and kill the bad guy".

Back to Fallen Dragon, it is an interesting story, with some moral teachings as well as a delicate temporal paradox, but it's not comparable with Hamilton's latest books.

and has 0 comments
After finishing the Commonwealth Saga, by the same author, I started reading the next series: The Void Trilogy. As in the aforementioned saga, the story does not end in any way at the end of the first book, you have to read all three books to reach the end, which effectively makes this another huge monolithic story, not a series or saga.

Set in an even more technological advanced future, but in the same Commonwealth universe, it depicts the interactions between a powerful pseudo-religious void worshipers, ANA (a quantum artificial intelligence where people download when the are tired of living and the next evolutionary phase of the SI) and its competing factions, the different alien races and the void, which is a dark impregnable sphere in the middle of the galaxy that only some psychic humans seem to penetrate.

The style is the same, the writing as almost flawless as before. I do think that P.F. Hamilton is one of the greatest sci-fi writers I've read, up there with Tolkien and Herbert.

and has 0 comments

I have seen the movie on TV a while ago, but didn't catch the start, so I never knew what the name was. Finally, someone in a Romanian book club found the translated print here and reminded me of it and told me that it was based on a book. I've decided to read it in its native language, a bit scared that I would understand nothing of it, but the French is pretty easy to understand. Maybe because the author is Belgian :)

The story of Fear and Trembling is about a Belgian girl, born in Japan (just like the author), employed in a big Japanese corporation as a translator. Due to her inability to understand the local customs and the irrational feelings of her employers, she is demoted time after time until she ends up replacing toilet paper in the water closets.

The book itself is not meant as a comedy. The main character sees everything with a stoic detachment, analysing both her feelings and the feelings of others, trying to make sense of a world that she can't seem to fit in. It made me understand more than ever the illusory nature of reality. Both her and the Japanese were occupying the same space and time, were observing the same events, but their realities were completely different. That clash of incongruous realities is the core of this small novel.

A bit too French for my taste, not in the language, but in the endless repetitions of metaphoric interpretations of the same event, that overwording of inner thoughts that makes French writing sound pompous. However, I did enjoy the book, I recommend it to anyone wanting a light and distracting reading.

and has 0 comments
This is a funny little story about a bunch of low end kids finding a way of letting everyone build whatever electronic device they want for almost free. The lead character is a broker, getting more and more terrified about how this simple thing destroys markets and the capitalist economy. In the end, he is to be replaced by electronic neural networks that perform flawlessly.

It seems Peter Hamilton has some issues with capitalism as there are always some characters criticising it in his books. However, in this particular story, the ending can be only one, where humans are completely replaced by the low cost electronics. It does not destroy communism, it replaces humanity.

My guess is that this is bound to happen sooner or later. Already software glitches are more frequent than hardware ones. When is someone going to realize that we, humans, have the worst hardware possible, even by biological standards. And we're only getting fatter, slower and less efficient by the day. Would I mind being replaced by a race of star faring robotic human replicas? No way.

and has 0 comments
I've just finished reading the book and, while it was the usual easy read, it wasn't as much fun as I expected it to be. The two deaths in the book that were announced so dramatically are actually four, but none of the people that have actually mattered in the story. Their deaths are also irrelevant to the plot.

You see, the entire attraction of Harry Potter, for me, was the many possibilities opened by the magical universe in the books. But really, after the first and second book, there was no novelty, only the drama of Voldemort and the condescending moral crap that was always thrown in the face of the curious reader, the kind of reader that goes "what if..." whenever a new spell is described or some principle of magic is explained.

Bottom line: Harry and the kids wonder in fear and confusion the whole book, only to discover that it all was some kind of master plan and to luckily (or randomly) escape death. The passion killer ending chapter, where Harry is a father of three is not that great either.

I will be watching the 5th Potter movie someday soon, but I believe I will do it for the special effects only. Come to think of it, I can hardly remember what happened in book 5 anyway. Just as the books, only the first two films are worth anything.

and has 0 comments
This Hamilton guy is a serious writer, dude! Just having finished the first volume of this story, Pandora's Star, I was blogging desperately about how the scifi writer manages a huge book, with many characters and with colliding story arches. Now, I have finished the second and last part, Judas Unchained, which I personally think is not so good as the first, but still a damn solid scifi.

I did find myself feeling a bit of pleasure seeing how the author fails to escape cliche in the end of the story and the story lines just become accelerated and the actors predictable. But after writing this humongous book, I guess the inner emotions could not be stilled anymore and the ending had to lose some cohesion.

Bottom line: a very good book, one that shows how stories should be written: with a considerate, serious, prolonged effort to give the tale logic as well as create emotion in the soul of the reader. I would have gone for a different ending, but hey, I don't write anymore, I have no right to complain!