Tag: book

The Design and Evolution of C++

C++ language despite of the powerful mechanisms supported is not a language for the faint hearted. Two forces drive its peculiar concept of friendliness (it is not unfriendly, just very selective) the backward compatibility with C and the effort to not getting in the way to performances. This book, written by the language father, presents and analyzes the language history and the design decisions. And, given the writer, the perspective you get reading the book is very interesting and more than once helps to shred some lights in the dark corners of the language.
The history is very interesting since it details how the language genesis and marketing went from the AT&T labs to the academy and industry.
C++ design principles are presented and the most notable is that of ease of teach-ability. Several time proposed/existing features had been modified or dropped entirely because they were not easy to teach.
Another very interesting principle is the “you don’t pay what you don’t use”, meaning that features added to the C language in order to define the C++ language were designed so that the programmer would not incur in any penalties if not using them. That’s why if a class has no virtual method, then the pointer to the virtual methods table is not included, saving the pointer space from the class instance memory footprint.
Aside from answering to many questions, the book opens up a bunch of new ones. For example, the very first implementation of C++ has been developed practically around a threading library. Now more than 30 years later, in a world with an increasing presence of multi-core machines, the C++ standard still lacks of a multithreading / multiprocessing facility.
Also Stroustrup asserts more than once that a Garbage Collection way of managing memory could be add by a specific implementation. But fails to explain how this non-deterministic way of terminating dynamic memory life could deal with the deterministic needs of destructors. Likely I’m just to dumb to figure out myself.
The big miss I found in the book had been a comparison with Java language. Basically one of the great contenders for the title of most widely used programming language. Java, on its side, has some interesting approach to language design that conflicts with those of C++ (e.g. the C compatibility issue). Therefore it would have been nice listen from Bjarne voice his thoughts about. In his defense it has to be noted that by the date of this book hit the streets, Java hype had just been started.
Last complain about the book is the lack of conclusions. The book seems cut a couple of chapters before the real end. Aside from stylistic point of view, some words about the future evolution and perspective would have been at their place at the end of the book.

Digital Fortress (Crypto)

If I had to pick an adjective for this book I would be in doubt between irritating and disappointing. Book publishing is a sort of time machine – first the last book of an author is published, then, if the book is successful, every writing of the author, going back to the youth works, is published. This is a nearly zero risk strategy for the publisher (since it fully harvest top money in a short time), while it is highly risky both for the reader (that can quickly became dissatisfied and lose the trust in the writer) and for the writer himself (that is going to lose his readers and therefore his income).
So what’s wrong with “Digital Fortress” (apart from being retitled into “Crypto” for the Italian translation)?
Most of the book. Let’s start from the beginning, the NSA is one of the American secret services. In this book, Dan imagines that NSA has developed a supercomputer that exploits the massive parallelism of one gazillion of CPUs in order to decrypt any message by brute force.
Then the writer proves his deep ignorance of every the most basic aspect of cryptography. He messes up bits with characters. Then he shows that he hadn’t spent a couple of seconds for looking up what the Caesar cipher is and presents a wrong description. Also he hadn’t a clue about computation complexity and that just adding a bit to a keyword the time needed for a brute force attack doubles.

He hadn’t the palest idea of how computer security works, what network security is.
If you succeed to get through all this jungle of ignorance then the story is that a hacker sends a code that cannot be decrypted by brute force (!!) to NSA to black mail them in order to reveal the existence of the supercomputer to the world (!!).
The hacker dies in the beginning and a civilian (the boyfriend of a cryptologist employed by NSA) is sent to investigate (!!).
Anyway the code is eating up the supercomputer resources because the NSA CTO is willing to break it (!!).
Aside from this technological nonsense, there are the usual Brown strengths and weakness. More of the last since this is an old writing by him (1998!) and for sure his technique has improved with time.
The book is not hooking as the others, has an intriguing rhythm, but it is not a page turner.
About the weakness, as usual characters are not developed, they are flat, doing their brain-work and acting like SWAT agents. Also, as already found, the reader is tricked away from the solution of many puzzles pretending that skilled professionals don’t see the obvious solution.
The plot is always the same. Four books, the same plot, the same main character betrayed by what he/she thought was a friend. So the usual upturn near the end, when the hidden plot is revealed.
Don’t buy it, unless you are doing some research work on this author, don’t read it either.

Behind Closed Doors

According to the Dilbert’s rule everyone gets promoted to his/her highest level of incompetence. In the computer programming field this is dramatically true: brilliant programmers, after few years or less are turned into management. First they are promoted to lead programmer roles and, if they have the double DNA, they could grow in the management career. Why is required a double DNA? Because programming has to do with machines, while management has to do with people. And people tend to get upset when treated like machines.
Moreover programming is about reaching a goal worrying about the smallest detail, while management is about setting goals for other people letting them sort out the minutiae.
When I became a lead programmer I hadn’t a clue about this and no one cared about telling. I just was asked about when my team would complete the application.
The project was rather successful, but it could have been far better. That’s why, with the next job I started reading books about management.
This book is the first I read about the next level: it is about managing lead programmers. The book is simple, easy reading and well structured. It is not as brief as “One minute manager”, but is very concise; you can read it in a couple of days. More than once I wished that my boss had read it.

The authors use a fictional character to make their points and providing a running example. This character is a just hired manager to which six lead programmers are reporting and who has the goal of reducing costs and increasing the value of his departments work.
Authors propose a number of techniques for managing proficiently. As implied in many parts the job of the manager is to facilitate the work of people reporting to him/her, removing obstacles and providing support.
One-to-one is a meeting held weekly during which the manager meets just one lead face to face. The meeting lasts about one hour and the manager gathers information, provides supports, sets skill development goals and coaches the lead.
Team meetings are held weekly too and the goal is to provide integration between teams, exploit synergies, and prevent inefficiencies.
Coaching is to help leads to develop skills that are beneficial both to the company and to the lead herself.
The manager is encouraged in:

  • Assess attitudes and interests of the lead teamers. It doesn’t make sense to force someone to do something that she’s not interested in;
  • Managing by walking around, that is taking some time just to wander around in the teams to taste the mood of teams and the rhythm of work;
  • Enabling the lead team jelling;
  • Give feedback immediately. Do not wait to the next event (end of week, yearly review or the like), people need to know if they’re doing right or wrong immediately.
  • Delegate
  • Acknowledge good work

The book also instructs the reader on influencing and resolving contrast. Influencing is for the best of the influenced one, it can’t work in the long term otherwise. Resolving contrast is much sticking with facts and trying to put in the other one shoes.
The planning is dealt with a weekly resolution for a couple of month. It is defined by leads and their teams and can be arranged in terms of priorities or delegation by the lead meetings. Beyond two month the planning is very rough. Also the planning is suggested to be kept is a meeting room in the form of a panel with sticky notes so that it is clear for everyone that it isn’t carved in stone.
Problem solving techniques to employ in meetings are proposed. Many of them relies on the brain storming techniques with some modification to ensure that everyone (even shy people) could participate.
The book contains a great deal of tips and aids to do management things. Usually there is an example, the motivation, a ‘to-do’ list for the technique and then there is a recap frame at the end of the book.
I highly recommend this book to all those managing lead programmers or the likes. I still recommend this book to lead programmers since many of the presented techniques are still applicable in the smaller context and can be helpful to back-coach the manger in a more sound behavior.

Artemis Fowl: The Opal Deception

As most engineers I know I have a rather childish part of me that refuses to grow up with the rest of the body and the mind. I still like to play, I like cartoons, I am fascinated by toys and so on. For the same reason I usually lurk in the teen section of bookstores because I’m sure to find some hidden pearls. Sometimes I get burnt (Time Stops for No Mouse was way too childish even for me), other times my research is successful.
Artemis Fowl is one of those successful cases. Although it is not at the same level of Harry Potter (here Good and Evil aree pretty distinct and the Evil one has no good intentions) it is an entertaining reading.
This is the fourth book in the series. The plot is following from the previous book: Artemis and Butler (Leale in Italian) have undergone a mind-wipe and they don’t recall anything about the people and LEPrecon. Opal is in coma, and Holly Short (Spinella Tappo) is about t be promoted.
In this book you’ll find the usual wealth of futuristic gadgetry, Artemis will be back in full… mind and will begin to grow some sentiments.
Opal plan is astute and well thought.
I found Folay (Polledro) character to be a little underutilized and he’s doing the idiot-savant a bright guy that cannot think about the obvious.
I am not fully satisfied by the dwarf Mulch Diggums (Bombarda Sterro). It seems like that when the writer finds no way out for a given situation he forges a new secret dwarfs ability. A cheap Deus Ex Machina gimmick to solve problems. I have not checked, but it is possible that this brings some inconsistencies to the previous books.
An easy book that flows in a couple of days full of techies and action.

The Amazing Maurice and His Educated Rodents

What happens when Terry Pratchett and the tale of the magic flute meet? The answer is this book. Of course this is not a story, so the magic boy, his cat and mice are a well organized mob that sets up mice infestations just to collect money to free towns from rodents. But Überwald is a county where chilling things are bound to happen. So the new town looks pretty strange even to this oddly assorted gang.
The usual Pratchett humor and wit are in this book as well. Although this is not one of my favorite Pratchett’s book, this is nonetheless a pleasant reading and some thoughts of the writer about intelligence, conscience and consciousness are really good food for thoughts.

Bajki robotow

Robots. Much time has past since the definition of “robot” although the idea of an artificial being created by men dates a long back. The current idea of robot includes electronics and software supplanting what was considered back in the fifties and in the sixties (of the past century) when a robot was built from gears, springs and occasional electricity wires. The brain was made by something yet to be invented then, so every author imagination could go wild on this. In this book brains are either made by mercury or by antimatter…. well to be honest still today we don’t know what exactly is supposed to fill the cloud depicted on robot schematics labeled with “brain”. We know how to build simple mechanism… basically computers on wheel, but we are quite far from devising a fully featured robot as presented in sci-fi literature. This is the fourth book by Stanislaw Lem that I read. I found the first two (Eden and Fiasco – “Il pianeta del silenzio” in Italian) to be really great. They are mainly focused on how much alien can be alien. Beings living in remote and insulated region of space could well spoil behaviors that we could hardly identify as rational or intelligent.

The third book was “Solaris” although focused on the same subject the narrative pace is extremely slow. The story is much oriented to introspection and character psychology.
My expectations for Robot Tales were quite high, so I was rather disappointed to find a collection of children stories. Robots are just and excuse for telling space stories. Some of the stories are pretty well written and touchy, some are just variation of the king-promising-his-daughter-to-the-one-who-will-do-something.
One of the main features of the book is being precise about astronomy science. Stars, nuclear reactions, radioactivity and so on are woven in the stories with a good degree of accuracy. This is intriguing (at least for the engineers within me), but is untuned with the robot description that is far from scientific accuracy.
It is hard to find a reader profile for this book. Children can be easily bored by scientific description, while teenagers are surely dissatisfied by the plots.
Note that the book is published in Italy with the title “Fiabe per Robot” (Tales for Robots) while in english has been translated into two volumes – “Mortal Engine” and “The Cosmic Carnival of Stanislaw Lem

Elianto

I should be wiser. Having a reading queue the length of a mid-sized transatlantic and being easily captured by a book, I should avoid bookstores like hell. This time I am delighted not to be so wise because otherwise I wouldn’t have stumbled in Elianto by Stefano Benni and I would have lost this good reading for God knows how much time yet. Usually, a book hooks me through the back cover lines (or the inside cover leaflet in case of a hardback). This time I opened the book and found a strange, hand-drawn map covering two pages. Wow seems something like “Lord of the Rings”! Then I turned to the back cover but I was already hooked and I already knew in my heart that soon some money would have left my wallet.

Benni always satisfied my reading taste and this time was even better. The story of Elianto is so poetic, evocative, and dramatic that the fact that is so well told is just its natural consequence.

The story takes place in a country named Tristalia (in English could sound like “Sadtaly”). The country is run by a computer and every year twenty presidential candidates challenge themselves in a sort of living (well ‘deadly’ could be more appropriate) reality show, the one who survives wins and can rule the country for a year.

Every few years sorts of tournament games are held to recognize the autonomy of counties. These games (as with everything else) are cheated to create the best outcomes for better ruling the country.

Moreover every day every family is called to vote in the daily poll. If they guess the majority of the answers they get electricity, water, TV, and warming, otherwise they are excluded for the day from the usual supply.

This is not so different from the background of other books by the same writer, where the Italian sociopolitical situation is exaggerated and distorted with a humorous, but chilling effect.

Elianto is a young teenager badly ill. He is in a hospital for terminal diseases. He is the only boy who has defeated the pluri-awarded Baby Esatto the current government champion for the next autonomy games.

Elianto is dying, but his friends want to save him. So wants the Devil, yes the Evil One (but no more evil than the worst human), because doing evilness in Tristalia is so widespread that there is no longer an intriguing challenge to tempt humans from that country.

A great warrior is sent after another yet greater warrior to defeat the government champion of Evil Fight, Rollo Napalm.

Elianto’s friends, three devils, and the cloud warrior Fuku with two bonsai-sized yogis will go, every group its way, searching for what they consider the remedy. Meanwhile, Elianto will be endangered by one of the doctors who run the hospital under Baby Esatto’s influence.

There are many strong points in the book: there are many unforgettable characters so well defined into their roles. Hard to read the death personification (a Flamenco dancer) without feeling anything. The background is satiric and frightening. The idea of parallel universes is not new per se, but it is approached freshly. A map is needed to travel from one universe to another. This map is either cast by a full moon through an old tree onto a wall in Elianto’s room or found on the back of an eel can (and the eel inside is not only alive but forecasts the future). Or it is found on a micro piece of paper obtained by processing a single grain of rice. Or it can be found tattooed on the butt of a devil.
Well, until now, if you have to read just one book by Benni, read this. If in doubt with another writer, read this. Highly recommended.

Ice Station

Some days before leaving for holidays my wife and I go to the library to borrow some books for her. While waiting for my wife choice I skimmed though the books. Being in a library is always a strong feeling for all those, like me, enjoy reading. Having recently read “deception point” by Dan Brown that tells about polar station and the like, I was promptly attracted by this “Ice Station” by Matthew Reilly.
I was quite curious to see how the same core idea (an alien evidence found in Antarctica) would be treated by two different writers.
The idea is simple, there is this polar scientific station where somewhat that could be an alien spaceship is found well below the sea level. The cave where the artifact is found is reachable only via scuba diving for some 900m.
The first divers group loses the radio contact with the base right after reaching the cave. The second team with rescue purposes follows the same fate.

The personnel in the base decide to call for help, but a solar activity severely hampers the communication. In the help request the wireless operator talks about an alien spaceship.
Although no answer is received, the call has been listened by three different countries – USA, France and Great Britain. Antarctica is not really under any jurisdiction and basically no law is enforced.
The story focuses on the marine commander “Scarecrow” Schofield who heads the US mission with the goal of defending the spaceship.
The premise is intriguing enough and the book is written pretty well and the story is full of action so I have been hooked in pretty fast.
There are a couple of minor glitches: first the plot is excessively based on coincidences. Beware of the spoil: the base is built over an old and forgotten military base. A few miles away another abandoned ice station is located and this base is in the iceberg were Schofield and another pal found themselves after a fighting. In this base, lost more than 30 years before they found two perfectly working scuba sets.
Other examples of this are: founding the right weapon or being at the right place.
The other glitch is about science. Diving in a bell requires the bell itself to be pressurized to balance the pressure of the water (otherwise the water would fill the bell). Moreover 900 is quite a high pressure for a scuba diver. If it is not beyond human capabilities is right away. Then, at least as far as I know, scuba divers must be extremely careful on decompression because of embolism while the writer is more concerned about compression.
Anyway these are just minor annoyances the book is really good ad I appreciated it far more than Dan Brown’s.

The Riddles of Epsilon

It happens quite often – I go to the local mall bookstore, get intrigued by some book, resist the insane temptation to buy it immediately; get back after a while when my reading queue is somewhat lighter and find that the book has vanished.I can no longer find “Tokyo soup” and a book about biggest lies… and many other I don’t remember right now.
So it was for this book. I found it intriguing, rich in mysteries, but then it disappeared. After about a month I found it relocated in the teen-books section. My reading queue was still fat and I resisted once more. And the book disappeared again.
At last my wife gave me that book on July 14th (“Do you know what day is today?”, “ehm, well, … “, “Joke’s day! This is for you!”). So, jumping over the full reading queue I started reading it the very same day and completed the reading in just three days… addicting!

The story is set on the fictional island of Lume, where Jess, the twelve years old main character, and her family just relocated. They arrived in the family cottage, an old building full of old rooms.
In the family past some troubles among the parents, and other, rather ordinary, trouble in Jess’ friendship. Back to the origin is going to do good for the family.
When Jess finds a stranger in the private chat-room where she’s talking with her friend, at first she thinks of some hacker, This mysterious being, which then turns out to be a man named Epsilon, will pull Jess, riddle after riddle, into an epic battle between Good and Evil.
For Jess it will be even more dramatic because she can’t tell which part is the Good part. She will meet odd strangers and will see unusual buildings, and will find herself going after the very same story of a boy from the previous century.
I found the story really good. Just in a few points could be somewhat childish, after all this is a teen oriented book. But the light-horror movie sense is preserved throughout the book. Also the atmosphere of the lone island, where the community knows about something you don’t, where customs have been tailored around unnatural things.
I am not sure that there is an explication for all the riddle posed by Epsilon and or for their need. Nonetheless I’m ready to forgive this because they are so well integrated in the story that you don’t feel any artificiality in them.
Very recommended.

Deception Point

This book (Italian title – “La Verità del Ghiaccio”) is definitively confirming the idea I have about Dan Brown. I think that he is a master in writing addictive books, but he is equally poor in devising characters and plots. The scenario is the election of the president of the United States. There is the Good Guy who is the president in charge and the obviously Bad Guy who is the contender.
In the foreground there is the Hero (more specifically a Heroine) that is called in Antarctica to examine an amazing discovery made by NASA.
But somewhere there is the Evil Guy who is maneuvering in order to keep curious and too bright people away from the truth. The Evil Guy is using the mythical Delta Force a special army that has no limit for its action and is used in covert operations.
The heroine and her friends risk their life several times and at the end the reader (maybe earlier if he/she is attentive) discovers who the Evil Guy is and how the Good Guy will prevail.

Dan Brown is able to write a book which you can’t drop after you start reading it. There is such a strong hook at the end of each chapter that closing the book requires an incredible amount of will.
Aside of this he plays cheap trick to channel the reader attention, to make him/her ignore the obvious solution. It is impossible that any scientist, even if at the beginning of the career could think that sea water fills a shaft well above the sea level. There is no need for the polar base commander to send a group of valuable scientist to do measurement by feet during a storm when they could use a vehicle.
The deception of the Evil Guy is the very same of the other two books. The Evil Guy is someone that is put under so good-natured light that the reader cannot suspect. A False Evil Guy is proposed so the reader is further distracted…. As I said cheap tricks, already seen in the “Da Vinci Code” and “Illuminati” (“Angeli e Demoni” in italian).
So, it is a strange feeling, I couldn’t actually put down the book, but I couldn’t like it. What a pity.