I have been hearing about the AngularJS library for a few months now, people often praising it as the new paradigm of web development. It is basically a JavaScript MVC framework that makes heavy use of markup language in order to declare the desired behaviour. Invented at Google by Miško Hevery, it uses cacheable templates, databinding and dependency injection to combine the various components that otherwise are independent and testable. It also comes with its own testing framework (unit and end-to-end) and a way to describe unit tests Jasmine (BDD)style.
So I started reading about this new framework in the book intuitively called AngularJS, written by Brad Green and Shyam Seshadri. They start with an anecdote, discussing how they were working on a web application at Google. They have already written 17000 lines of code in about 6 months and it was almost finished, albeit with great frustration related to development speed and testability. This guy, Miško Hevery, tells everyone that by using a framework that he wrote in his spare time (you gotta love devs!) they could rewrite the whole application in two weeks. He was wrong, they did it in three weeks and at the end the whole thing has only 1500 lines of code and was fully testable. This was a great beginning for the book, as it starts with a promise and then (sorry, couldn't help the pun - you will see what I mean if you read the book or know AngularJS already) it describes how to achieve your goals. The book itself is not large, about 160 PDF pages, and can be used as both a primer and a reference. It describes the basic concepts of AngularJS and how they can be put to work, with some small app examples at the end. Of course, you have a link to where to download all their code samples.
What do I think about the book? It was pretty good. It shows the authors' preference towards Linux setups, but it is not annoying. Each chapter is clear and to the point. The framework itself, though, is original enough that after a few chapters it is almost impossible to understand everything without tinkering with the code yourself. Unfortunately I didn't have the time and disposition to do that, so just because I've read the book doesn't mean I know how to work with Angular, but I am confident that when I will actually start working with it, it will all come together in my mind. Also, as I was saying, the book can easily be used as a reference. It is not a complete overview, not every AngularJS feature and gotcha can be found in its pages, but it's good enough.
What do I think about the framework? It seems pretty spectacular. My only experience with JavaScript MVC frameworks is from a short brush off with BackboneJS. At a time I thought I would be working with it a lot and was boasting here that interesting posts would appear. Alas, it was not to be. Sorry about that, maybe better luck with Angular. Backbone was pretty interesting, but it had a horrendous way of working with data models and it was very easy to break something and not realize where it came from. There seems to be a lot more thought put into Angular. An interesting point is that the writers advertise TDD as a way of actually working and claim they do so themselves. I have seen many people trying and giving up, but I have hopes for JavaScript. You don't need to compile things, you don't need complicated servers or time consuming deployment steps: just change stuff and run the tests and/or refresh a page. I like the fact that the creators of AngularJS put this much work into making everything testable.
So go ahead: read the book and try the framework!
Update 24 Aug 2013: I've started reading dev blogs again and I've stumbled upon a 70 minute video by Dan Wahlin presenting AngularJS. His explanations seemed a lot more down to Earth than those in the book so I felt that his video really complements rather well what is written there. Here it is:
Old Man's War is the first book in a space opera series that spans five books (at least at the moment). People recommend it highly and I do have to admit that it is well written, with an easy going style that is also well read. John Scalzi is not trying to create the perfect world, with details that always make sense and with crushing emotional depth, though. The book is something that you can finish in a day or two, with no sleep lost on what the characters are going to do next. For a while it did remind me of the excellent, if repetitive, Seafort Saga, by David Feintuch, but while that series felt dated because it was inspired by the British navy and was written in 1994, Old Man's War was written in 2005 and had no real reason to, but it did. If you haven't read Seafort's Saga, especially Fisherman's Hope, the fourth book, I would recommend it over this.
What is it Old Man's War about? Well, in the future, old people from Earth are joining the army when they are close to death because the CDF, or Colonial Defence Force, has the technology to rejuvenate them in exchange for a limited conscription. I won't spoil for you the exact method, but let's just say that it has a lot of logical problems that are compounded by the concept of the Ghost Brigades. So you have this main character, a funny old fart that joins at 75. One can assume that in the future 75 old people are still humorous and reasonably mentally and physically fit, as opposed to now, but even so, Scalzi was 36 when the wrote the book. What made him feel like he could pull off a character twice his age, with all the wisdom and particularities one gathers at that age? In my opinion, he rather failed, as John (why do people use John as their leads in books and scripts? Is the name really that common in the US? I have to admit that Lost ruined that name for me. Every time I hear about a guy named John I hear the phony people in Lost intone it with grave meaning while they're saying absolutely nothing important. Arrgghh! Anyway...) comes off closer to the writer's age (and having the same name, too). I might even have an issue with the title, since John is an old man for a third of this first book and then he's young and fit.
The rest of the book is about how he intelligently and valiantly rises from the rank of corporal (which he earned in training in an equally smart way) to captain in a few months and has a series of unlikely events happening to him (and here I am not making a pun of their explanation of "skipping", either). He makes connections to some people, which the writer attempts to infuse with meaning, but somehow fails, as when some died I didn't feel anything. Scalzi gets it right towards the end of the book, but then the book ends, and ends in a less satisfactory manner than I would have expected.
To summarize: I will probably read the next books to see what happens. However, it does seem a bit too light, too rational (in writing style), to make an impact. I do feel that John Scalzi has a lot of potential as a writer, but that somehow he misses the emotional component necessary for a book to "click" with the reader. On the other hand, I've seen a lot of rather failed first books that only led to the writer blossoming in the following publications. I do hope that's the case here. The fact that Paramount Pictures optioned the book in 2011 only shows it is rather shallow, as the really deep ones never make it to film. This doesn't mean I didn't have fun reading it, but most of the time I waited for something to happen. I felt that everything was a setup for something grand. When the book ended I was a bit shocked, as I thought I was in the middle of the story at least and still waiting for that big thing to occur. It's not a hard sci-fi book, it's not a personally jarring one and it is not a military heavy story. The obvious bias towards the human hero makes it all feel surreal.
ASP.NET MVC 4 and the Web API, by Jamie Kurtz, is the one of the new breed of technical books that read like a blog entry, albeit a very long one. The book is merely 100 pages long, but to the point, with links to code on GitHub and references to other resources for details that are not the subject of the book. The principles behind the architecture are discussed, explained, the machine setup is described, the configuration, then bam! all the pieces fit together. Even if I don't agree fully with some of Kurtz's recommendations, I have to admit this is probably a very very useful book.
What is it about? It describes how to create a REST web API, complete with authentication, authorization, logging and unit testing. It discusses ORM (with OData), DI, Source control, the basics of REST and MVC, and all other tools required. But what I believe to be the strength of the approach in the book is the clear separation of modules. One can easily find fault with one of the pieces recommended by the author and just as easily replace only that component, leaving the others as is.
The structure of the book is as follows:
Chapter 1 - A quick introduction of ASP.Net MVC4 as a platform for REST services, via the Web API.
Chapter 2 - The basics of REST services. There are very subtle points described there, including the correct HTTP codes and headers in the response and discoverability. It also points to prerequisites of your API in order to be called REST, like the REST Maturity Model.
Chapter 3 - Modelling of an API. This includes the way URLs are formed, the conventions in use and how the API should look to the client.
Chapter 4 - The scaffolding of your Visual Studio project, the logging configuration, the folder structure, the API DTOs.
Chapter 5 - Putting components together: configuring NInject, designing your classes with DI and testability in mind.
Chapter 6 - Security: really simple implementation with a lot of power provided by the default Microsoft Membership Providers.
Chapter 7 - Actually building the API, making some smoke tests, seeing it all work.
The complete source of the project described in the book can be found on GitHub.
My personal opinion of the setup is that, while all seems to fit together, some technologies are a bit over the top. NInject, I had personal experience with it, is very good, but very slow. The ASP.Net Membership scheme is very verbose. While I wouldn't really care about it as implemented in the book, I still cringe at the table names and zillions of columns. Also, I am slightly opposed to ORMs, mostly because they attempt to mould you into a specific frame of thinking, that of CRUD, making any optimization or deviation from the plan rather difficult. I've had the experience of working on a project that had all of its database access in stored procedures. To find what accessed a table and a column was a breeze, without knowing anything about the underlying implementation. But even so, as I was saying above, the fact that the author separates concerns so beautifully makes any component replaceable.
I highly recommend this book, especially now, when the world moves toward HTML and Javascript interfaces built on web APIs.
I have very fond memories of the games Star Control and Star Control 2, played on my PC when I was but a wee boy. They were DOS games released in and , respectively, and were absolutely marvellous: large universes, with many star systems, each of them with planets and moons; many alien species which were strange and funny and obnoxious; storylines that were both absurd and very captivating. I had a great time.
I want to open a parenthesis here and talk about the quality of games back then. Click here to hide the following rant, if you are not in the mood for it. I really have no idea how the PC game market was working in the US, but here in Romania, there were very few PCs, no Internet and the distribution of games (all pirated) was done via friends who would recommend and share what they thought was great. There were no walkthroughs, rarely any printed maps or special instructions (since they were not original games) and the only way to finish up a game was to actually play it. Sometimes it got frustrating enough that after hours of trying to find something, you would call friends and ask them what they did. I can only imagine that even in a country were they were a lot more computers and games were bought, rather than copied, the game play situation was similar. In other words, the relationship to the game played was personal: someone that you know and respect came to you and recommended the game. This was the only thing that made you play it other than seeing the cover in some window and feeling like you have to try it. Also, not having any Internet (or very little on it), you would not have access to many reviews and neither to game updates, if something was wrong in the game. And you also have to think of the state of affairs in software programming: every software firm was basically a gang of enthusiasts inventing and trying their own way in which to build software.
Yet, a lot of the games back then were great. Not all, maybe not most, but certainly the ones reaching me through "the grapevine", probably because the bad ones would be filtered away. One has to ask oneself how games back then required a number of hours of play orders of magnitude larger than present ones. How their stories had the complexity of movie scripts (often a lot better) and so much intricacies like alternate game modes, humour and so on. And the answer is, of course, the Internet. Once the gameplay is too complex, players swarm to online walkthroughs, often in video format, to tell them what to do. Atmospheric gameplay where one has to walk for hours to find something are considered antique and wasteful of time. And of course, if they are not social enough, they aren't even worth playing. The advertising is done via the web, with "stars" or other such whimsical method of rating a game, often resulting in simplistic orgies of graphical design with repetitive action as the only thing to do, humour provided by caricaturesque icons of birds or zombies.
That being said, as a software developer myself, I played The Ur-Quan Masters for only two days, using said walkthroughs and being nagged by the wife and dog for not spending time with them. I also had moments where I cursed the necessity to move towards a planet or a star by actually waiting until the ship got there, and often by manually controlling the craft to reach there. Also very annoying was to manually look for star names, until I downloaded the map from ... the Internet. So I am not just a geezer that hates the new, all melancholic about the past; the present has its boons... few as they are. Anyway, to the game!
In , ten years after its release, the makers of Star Control 2 made released the source of the game as open source. Maybe this should be heeded by other game and software makers: create a copyright licence that voids itself ten years after the release of the software. The world would be a better place! Anyway, some people decided to port that to different platforms, including Windows. Now I know that DOS and Windows are made by the same company and that the port sounds easy, but you should look at the bugs for this port like 'Not thread safe' or 'Not safe for 64 bits' and so on.
Accidentally I found out about this port for Star Control 2, called The Ur-Quan Masters. Why was the name changed? Because even as the source code was free to use, the name was copyrighted. Weird, right? I installed the latest version (0.7.0.1 - you gotta love these open source versions that tend to reach 1.0, but never do - a bunch of perfectionists, all of them :-) ) and I couldn't start it. It threw an error no matter what I did. In their defence, I was trying to play it on an Athlon 2500+ processor running Windows XP (I know, geezer!). But I did manage to install and run version 0.6.2, which seems to be working on my machine. This is part of the motivation for writing this post, since I found no one on the Internet complaining about the same problem as me. I did try all the compatibility modes for it, BTW, and it didn't work. Maybe I should have tried running in Windows 98 (yes, I still have that installed as a secondary OS).
You see, the plot is that you are the descendant of an exploration mission that was never picked up from the planet they were supposed to investigate. They did find an ancient alien starship factory and managed to build just the skeleton of a ship to send you back to Earth to see what had happened. Getting there you find the Earth encased in an impenetrable shield with an orbiting station around it. The crew of the station tell you the story: alien race called the Ur-Quan came for enslaving all sentient races, won the war and gave earthlings two choices (well, actually three, if you consider total annihilation, but let's not get technical): join them as their slaves or relocate all resources to Earth and be trapped under the slave shield. Humans chose the latter. Now, your mission is to find alien races, make them join you in defeating the Ur-Quan and ... well, defeat the Ur-Quan. You have to do that by exploring amongst hundreds of stars, each with their own solar system of planets and moons. You get fuel and extra modules for your ship at the human station, but you need to bring materials (minerals) in order to get them. Minerals are gathered via manual missions to the surface of each planet and moon, while fires, lightning, earthquakes and alien lifeforms are attacking your landers. Aliens are diverse and most very funny: a cowardly race that speak like Italians, an evil spider race, a sexy race called the Syreen, warrior type race (that is weak and stupid), automatic probes that declare their peaceful intentions then attack you, mean spirited aliens that consider all harm done to you as a practical joke and so on. There is even an Emo race, although the term became popular a long time after the release of the game.
Oh, the memories! The vibrating music originally thought for PC speaker or maybe AdLib cards brought back feelings of old. The witty dialogues and the immersive nature of the game made me relive a lot of past pleasures. Unfortunately, as I was saying in the rant above, there was a lot of immersion that I really didn't want, like waiting for minutes to get from a star to another, then manually navigate to reach a planet or moon. I couldn't help thinking as a software developer and consider how I would have done the game - of course, online, in HTML5 and Javascript, and actually it wouldn't be so hard. Playing the game I realised how different the perception of time was then compared to now. It was obscene how much time I had back then, and completely devoid of responsibilities, too.
Well, because of the time constraints I quickly hacked the game, added infinite money and proceeded to finish the game using a map and a walkthrough. I also was unable to finish the game due to two bugs: one where the Spathi should have given me an Umgah Caster and did not, and another where the Mycon were supposed to go to Organon and did not. Even so, it took me two full days, about 16 hours of gameplay. Anyway, I was close to the finish and I did watch the ending on YouTube (how nouveau of me! :-( ) For the people that loved playing this game in the past, maybe you should try it again. Old memories often bring complexity to present perspective. And for those who did not know of this game until this post, maybe you should try it, see what people of old considered a good game, even if they played it on 33Mhz 386 PCs with 4MB of RAM and 120MB hard drives.
Also, there is another attempt for a port to Windows from the same source called Project 6014, for some reason. I think it stalled, but maybe it brings some surprises to the table.
I leave you with a YouTube video gameplay by some guy (frankly the first I did find) if you are unwilling to take the trek yourself.
I am a complete fan of the Ghost in the Shell franchise. For those unfortunate enough to not know what that is, it is a series of manga and anime stories that describe a near future where integration with machines is the order of the day, giving rise to cyborg bodies, mind hackers and all that stuff. It is also a police procedural, where the heroes are an independent force designed to counter cyber threats. It is also an espionage thriller, since many of the actions in the stories are not linear, but have many political implications and intricate plots. But what I thought was better than a beautiful and detailed sci-fi world with deep characterization and complex storylines is the exploration of the human soul and mind in a background that is mechanistic and science squeaky clean. To manage to do this repeatedly in manga, films and anime series is truly wonderful.
For me it all started with the movie. With impressive music by Kenji Kawai and a complexity and beauty and care for detail that I had never seen before (and rarely since), Ghost in the Shell blew my mind. Then there was the Ghost in the Shell: Stand Alone Complex, a two season series that went a little more toward the police procedural, but overall was just as wonderful as the film. And then the second film: Innocence. And now they made Ghost in the Shell: Arise, a four part OVA series, prequel to the film. Having seen the first one hour part, I can say I am very pleased and can't wait to see the entire series. It details the roots of major Kusanagi and what are the roots of her team. Very nice indeed. The only thing that I miss is Kenji Kawai's music.
I leave you with the trailer for the series and my recommendation to see all of the Ghost in the Shell animes, even the Tachicoma OVAs :)
Update September 2014: I've watched the entire series. The episodes are almost stand alone and totally worth watching. I liked the fourth one most, as it was clearly created to made the connection with the film and series. I loved the small tips of the hat to hallmark scenes in the film: the cloaked jump from a skyscraper, the destruction of the cyber hands while pulling on the lid of a battle tank and so on. Does that mean that a new series and/or film will be created? I certainly hope so. My only problem with the new OVA is that the music of Cornelius is not even close to the haunting quality of Kenji Kawai's.
Having seen the film, I decided to read the book. Now I can understand why so many people said the film was not like the movie, but also why the film itself seemed so episodic. In a nutshell, World War Z is a collection of more than 50 interviews of witness accounts about a fictional war against the zombies. This makes the only connections between the book and the film be the zombies and the episodic nature of it. In rest the stories are different, the way zombies behave, the take on how humans react and of course the shitty ending.
Now, about the book... It was easy to read, mostly because I could just take the PDA in my hand and read one of those mini stories in 10 minutes and then do whatever I wanted to do. Some of them were really great, too, but after reading the book I think I can safely say that it wasn't about zombies at all. Instead it was about the way people live now and the war was just a prop to make us see things clearly from a different perspective. Of course, some things never change: the great American spirit, the Russian brutality, the narrowmindedness of Asians and so many other clichés. Not that they are not believable, but it so shows that the author is American, even when he makes fun of his own country's flaws. Anyway, I encourage you to see the book as social commentary rather than a zombie or a horror book. That is also because the threat of "regular" zombies - you know, slow and dumb - can't really be that scary. So there are a lot of technical flaws with the zombies in the book. The situations described show the difficulty mainly in fighting millions of city dwellers now turned zombies and the war of attrition that the zombies were actually enabling, since they destroyed everything in their path, yet needed no food or supplies. Also a lot of the stories have this "I don't know why zombies don't die from bombs, water pressure, frosting, etc. I am just a dumb whatever telling a story". At some point it got a little annoying.
The bottom line is that I enjoyed a lot more the personal descriptions of how people live in other countries than the zombies, stories about them or the rather weak speculations on how people would react to their attack. The book was nicely written, but clearly amateurish; it lacked the depth of seasoned writers and had too many "props", like you see in screenplays. No wonder: Max Brooks is the son of Mel Brooks, he lived in the world of movies his entire life and this is only his second book.
I've had the opportunity to play these games on the work XBox and I just had to make the blog entry to compare them. The thing is that, even if some corporation wants DC Comics and Mortal Kombat to merge somehow, they are completely different both in concept and audience.
I've been a player of Mortal Kombat since it first appeared on PCs. Me and school friends were spending hours playing it (rather than go learn something useful, obviously). Even then - or maybe it is better said that especially then - it was clear that the game had soul, that someone really spent their time and love to make it. No matter who bought it and what they did to it, Mortal Kombat never completely lost that soul. You see, the game idea is clear: two players face each other in combat, they use different characters who have different abilities and in the end someone wins. Unlike other games that start off neutered by the present socio-political situation in the States, MK started off as brutal and bloody. You could use all kinds of magic and utensils to hit your opponent, chained combos and see lots of blood, but the hallmark of the game was that, in the end, after you have defeated your opponent, you had the opportunity to perform a Fatality, something that was truly gruesome like ripping their heads out with a bit of the spine, or cutting them in two or setting them on fire.
Now you will probably ask why has my sick brain made the connection between a brutal combat game and true love and having a soul. The thing is that the first MK started out with 8 characters, plus some bosses and hidden characters, then MKII has twice as that, and the various incarnations of the game saw up to 65 characters. And yet you will be hard pressed to find any major version where a player could not win with any of the characters against any other if they were good enough. That sense of balance shows the dedication of the developer teams that endured the various corporate transformations of Mortal Kombat.
The ninth version, Mortal Kombat IX, has a lot of characters, over 30, although some are DLC and make little sense in the Mortal Kombat universe, like Freddy Krueger or Kratos. Of course, you had to pay for them. Later on the Komplete Edition of the game had all the characters and all their skins available. Except for a little overpowering of Noob Saibot, MK IX was pretty balanced. The graphics were awesome, truly, and had various fatalities and X-moves - the super move one could execute with three bars of power, which showed anatomical X-ray like details in slow motion like cracked skulls and ribs. The only problem was the controller. I am a PC user and it took a long time to get used with the XBox controller and even more to understand how pressing forward would sometimes make my character jump up and backwards or some other thing like that. I know the controllers at work were pretty messed up, but I swear there had to be something to do with the programming as well. Also, as far as I could see, the game dropped frames. If you moved fast enough, the other player would have difficulty making their special moves, probably because some part of the data or processing was lost. But overall the game was great, the story was nice and the combination of different characters, skins and violence was delicious.
To make the transition easier, I will also mention another game, also featuring Mortal Kombat characters: Mortal Kombat vs. DC Universe. It is an older game, launched in 2009. This weird crossover featured fights between the likes of Raiden and Shang Tsung versus Superman and the Joker. It is the last game made by Midway Games, the creators of Mortal Kombat and the first introduction of the "evil empire": Warner Brothers, who brought with them DC Comics. After that Midway went bankrupt and sold the rights to Mortal Kombat to WB. Mortal Kombat vs. DC Universe had a bit of faux 3D movement, stage transitions (like punching someone through a wall and getting to another stage) and no fatalities. In fact, it had almost no blood, while the "powers" of the MK characters seemed oddly and randomly assigned (Shang Tsung had a punch teleport, Jax had a machine gun, etc). The playability of the game was OKish, with the major problem of in flight hits. One would jump toward an opponent, punch or kick and the character would stop in mid-air and perform the punch or kick there, which made it very unrealistic and static. Also, and that probably made it unpopular in the game room, it was unbalanced. Sonya Blade could kick everybody's ass just by jumping and kicking.
Enter Injustice: Gods Among Us, a game that is also made by NetherRealm Studios, who made Mortal Kombat IX, and also copyrighted by Warner Brothers. NetherRealm is actually what remains of Midway Games plus what remains of WB Games Chicago. In Injustice there are only DC Comics characters, the graphics are really good, a lot of stage interaction, flashy "social" statistics and "ranking", downloadable characters, obviously, and so on. The game play, though, total crap. Now, I may be very biased when it comes to Mortal Kombat type games, given by all love for the original game and concept, and I also understand that this wasn't supposed to be Mortal Kombat in the first place, but in my mind it represents everything that MK developers and players fought against. First, it has violence, but no blood. You get a lot of punches, kicks, explosions, object traumas like things falling on you, being thrown on you or through you (like arrows), only no blood. There are no parts of the body that get broken or smashed. It's like a good old fashioned cowboy brawl that results in someone saying "awwh, shucks!". Then there is the completely weird system of hits and blocks. You have to press Back to defend up and Down or Back-Down to defend down. Combine that with the fact that jumps are mainly vertical and so do not bring you closer to your opponent than walking, and you get a very asymmetrical game play where range fighters have to just run and shoot, while power characters have to dash a lot through bullets to get to their target. Even so, among similar type of characters there are huge differences. I would say that Deathstroke followed by Aquaman are by far the strongest characters, like lame-ass Green Arrow is a weakling. My favourite, Doomsday, had a lot of problems getting to anyone, even if it was supposed to be indestructible and on par with Superman. Well, they were on par in the game, Superman sucked, too. So: no blood, game imbalance and poor playability when there was obviously a lot of effort put into the shiny aspects of the game.
So you see, I had to write this post. Not because I didn't enjoy playing Injustice or because I think it is a bad game, but because it is like taking a cool 80's horror movie and turning into a 2010 remake that scares no one and can be played in cinemas to children. All Flash and no Meat, so to speak. MK is for gamers while DC games are for kids. All we need now is some Mortal Kombat game with parental controls on it. That being said, I can hardly wait Mortal Kombat 10! I hope they don't mess it up completely. As homework, you should try to read on the history of Mortal Kombat and of Midway Games. It's an interesting read. There was a really nice video with the developers of the first Mortal Kombat telling the story of the inception of the game, but I couldn't find it. Instead I leave you with the komplete :) history of the game from MKSecrets:
Beginning HTML5 and CSS3 is a strange enough book. It is not a book for beginners, as the title would have you believe, but only something that gives you a taste of new HTML and CSS features. Some of the things discussed are not very thorough, but may be very detailed (like when they talk about a hard to spot bug for a specific browser version). They talk very little of some often used features, but very in detail about something that will probably not be used by many people, like data annotation.
What is immediately obvious, though, is that the authors are professionals with a lot of experience. They see things and think about them in a way that a person with no design experience like myself has never thought about. Their explanations are backed by a lot of links and downloadable code, so it can be used like a reference. I would say that about a third of the book relates to HTML and the last two are about CSS. Awesome and weird things are being discussed, from custom fonts to 3D transforms, from data annotation of any HTML so that is machine parseable (like Google crawlers and such) to pagination control for layouts that need to look like books or be used in e-readers. It is also a modern book, the type that lets you know about various features, but instead of rehashing a subject, they give you a link to more information from someone else.
You can get example code from the book's site, as well as see the table of contents and details about the authors. What immediately jumps into mind is that the page is HTML5 and uses CSS3, but is not nearly as carefully crafted, data annotated or awesome as they advise in the book, which validates a little my view of the book: an interesting book to read about features you will probably rarely use. It certainly made me experiment some with my blog and think of ways of implementing many of the features, but in the end nobody wants something very over the top, so only small changes were made.
I've had some changes in my life lately and more are coming so I took a break from chess, but I found a bit of time to finish this chess puzzle book that I started reading a few months ago, but never quite got around to complete. Chess Tactics for Champions is not really for champions, but for beginner to intermediate level, or at least this is what it felt like to me. Susan Polgar chose to structure the book into chapters of about 25 puzzles or examples, each covering some important aspect of chess tactics. Here is a list of those chapters:
01 - Forks and double attacks
02 - Pins
03 - Deflection/removing the guard
04 - Discoveries
05 - Double check
06 - Skewers
07 - Trapping pieces
08 - Decoys
09 - Intermediate moves
10 - Pawn promotion
11 - The back-rank problem
12 - Destroying the castled king's protection
13 - King chase
14 - Mixed checkmates in two moves
15 - Mixed checkmates in three moves
16 - Mixed checkmates in four moves
17 - Game-saving combinations
18 - Perpetual check
19 - Stalemate
20 - Traps and counter traps
21 - Sibling positions
22 - Twenty-five famous combinations
The last two chapters are presentational only, but the first 20 contain puzzles that the reader must solve, with solutions at the end of the chapter. The authors tried to order the chapters by complexity, so that beginners could understand and solve the first chapters and then move over to the more advanced positions, but it is not always so. It seemed to me that, for most of the chapters, the last two puzzles are especially chosen for the "wow!" factor.
The bottom line is that the book is not just something you read. You solve the puzzles, some are frustrating, some are beautiful, most can be "seen" without a board in front of you - for the last chapter I would advise a board, though - but one can return to this book again and again. For example myself, once I get around to chess again, I might go through the book, just to get into the solving mindset that is essential to beautiful play. Now, I don't know how other chess puzzle books are, this being my second chess book I have read, but I imagine some could be a lot better. However, the structure of Chess Tactics for Champions makes it very easy to use as a reference book. One thing I felt was missing was pawn play. Of course, that often enters the category of strategic play, rather than tactic, but still.
More about the authors at Wikipedia: Susan Polgar and Paul Truong. They have been married since 2006.
Oh, finally Herbert breaks the pattern up. His sixth and final Dune book, Chapterhouse, is brilliant, on par with the first, if you will. At the end of the book there is this little dedication to his wife, recently passed away, in which he thanks her for the beautiful years they had together. He describes her as his muse, basically. Perhaps that tragedy was what prompted such quality in the book. Or maybe it is just my personal preferences that make me see it as such a masterpiece.
The basic plot is that the Scattering is encroaching upon the centre, with the Honorate Matre being these vindictive tyrannical bitches that destroy everything in their path while flaunting a parody of Bene Gesserit organization. They are many and they have a lot of wealth and ships. Teg Myles returns as a ghola, Duncan Idaho is sexually bonded with the Honorate Mater Murbella, only bidirectionally, and there is only one last Tleilaxu master (thankfully Scytale, not that dolt Waff) under the protection of the Bene Gesserit. The book is all about survival; I liked that.
Now, there were some issues I had with previous books. The supreme arrogance and pomposity in Prophet of Dune and God Emperor of Dune was one. The ridiculous behaviour of Tleilaxu masters was another. Others can be overlooked, but these were really annoying for me. I am happy to say that Scytale appears as a cunning and intelligent opponent of the Bene Gesserit in Chapterhouse, while the supreme confidence the witches flaunt is proven to be a front, something that allows for their survival, rather than separate them from the human race. The ending is also quite interesting, but I can't spoil it for you.
Unfortunately, the year 1985 was the end of Dune and Frank Herbert. He died of a pulmonary embolism while fighting cancer. He had just re-married and Lynch's Dune movie had just been released. The film had little success in the US, but a lot in Europe and Japan (proving again that their audiences really stink :) ). Just in case you are considering watching the movie rather that reading the book, remember that, while Lynch really got the feel of the Dune book, the script makes the story unrecognisable.
Getting back to the book, it was a shock, the first time I read it, to know that it was the last. There are other Dune books, though, written by Brian Herbert, the son of Frank Herbert. I read none of those. The reason is that I believe the depth and subtlety in Dune was more important than the story itself. Instead I would urge the reading of other Frank Herbert books. Some were rather banal, but others (and here I include the WorShip universe and Hellstrom's Hive) were brilliant.
Reread in 2022
This was not supposed to be the last book of Dune. A seventh one was planned, but death stopped Herbert from achieving his goals. There was an old childhood friend of Herbert's who described him as always ahead, blazing trails, one step ahead. After reading all of the Frank Herbert Dune books, I feel that this is how the man really was, always thinking of the consequences of the past going into the far future. You would learn as much chess as you could, but when it was time to play Herbert, he would be inventing a new game.
I can't help but feel a sense of loss for everything that he didn't get to write. He died at 66 years old. He had at least ten more good years left. I am planning now to read the Brian Herbert books, as well, and then maybe continue with rereading all of Frank Herbert's books.
The man was not perfect - I know that there are people out there who write much better than he did - but Dune is truly a masterpiece, an ode to human ingenuity, a manifesto against stagnation, bureaucracy and the trap of repeating the past. Packed with some really astonishing wisdom, I do believe is one of the most rereadable books out there.
Indeed, the pattern holds: Frank Herbert creates a very beautiful book after the bore that was Emperor of Dune. One good book followed by a bland one and then again. Heretics of Dune has more action, more of the Bene Gesserit introspections and revelations and a bunch of diverse heroes, each with their own "powers". It's basically the superhero Dune book.
Well, I am obviously oversimplifying here, but the gist of it is right. The book is entertaining, with many characters to identify with and a compelling storyline. A new pattern emerges, though: after many pages of setting the stage and keeping the reader on the edge of the seat with anticipation, Herbert just quickly reveals his hand and finishes the game. It's like, for him, the mystery of the story was all that mattered and, once exposed, the book must end. That was a bit frustrating.
The book follows the exploits of yet another, better and improved, Duncan ghola, a weird desert girl who can command worms, a Tleilaxu master, many Bene Gesserit and the loyal Bashar Miles Teg. All in the face of terrible danger from "the Scattering", the many flavours of humans that spread out from the centre core after the death of Leto II and the ensuing chaos. The Tleilaxu are shown as bumbling buffoons, which somehow bothered me, because they are always shown as a powerful force, on par with the witches of Bene Gesserit, yet on every occasion they are outclassed, outsmarted and outmanoeuvred by them. Also the Zensunni Sufi angle was a bit of a stretch. The priesthood of Rakis was somewhat similar, and although it was normal for them to be idiots, they were presented as a powerful force as well, which made no sense. There were other things in the book that were not perfect, but one can easily overlook them.
Overall I loved the book, it was one of the most entertaining for me in the saga. More stretches of the imagination, though, and some felt a bit like special effects. Although the universe is the same with Dune, Heretics feels differently. In a way every Dune book was an extension of the original universe, trying as much as possible to not thread the same path as its predecessors, but this book really shifted the perspective of the reader towards a completely different awareness, while expanding some elements from the original Dune book, like the Bene Gesserit inner dialogue and deep perception and also hints of ecological laws, only this time applied to the entire Universe. At the end I resented that it had finished so quickly, which after all, is the hallmark of any good book.
2022 reread
I did not remember my own reaction to this book and now, after rereading both the book and my previous review, I am content to see that I have kind of the same feelings now. I do believe I maybe liked this book most of them all. I know that's kind of... ahem... heretical, but at the same time it was more complex, had many interesting characters, introduced many new ideas that were presented in an exciting and more technical way.
The main problem with Dune books so far is that they are a bit inconsistent, like crafted together from bits written slightly differently and not always clicking with each other. I mean, what the Bene Gesserit do is amazing, how they manipulate people via their words, their actions, their manufactured myths. Yet at the same time it stretches belief that no one caught on to how they are doing it. The Tleilaxu master knows that the sisters are doing something, he acknowledges as much, then falls pray to hope and then unjustified certainty that he was wrong. And then the book itself explains, in that certain preachy way, that people evolve to become immune to powers used against them, but it only affects the Honored Matres! And what about Ix? They are amazing engineers in one book, an afterthought in the other, even when they are the builders of space travel machines.
The same can be said about societies, technologies, natural habitats, science in general, which are very well crafted, but don't stand to scrutiny from the knowledge we now possess.
In that same vein, Heretics of Dune is both amazingly incredibly smart ( I LOVE how Herbert views people and groups and societies as a whole ) and carelessly inconsistent. But since it leans more towards the smart, I liked the book quite a bit, especially the first half.
I remember fondly the first albums from Garbage. Shirley's naughty lips and delicious Scottish accent, the new sound that used all those electronic sound filters, the weird melodic combinations and heavy guitars. It all fit into my rebellious streak from back then. So I thought I would listen to their last album: Not Your Kind of People. Unfortunately, the title is quite correct: they are not my kind of people anymore. The entire album sounds like a single long song, a boring one. Gone is the Scottish accent, gone are the hard riffs and hard lyrics and most of all gone is the angry emotion from Shirley's voice. The background music is some kind of sound filtered electropop that doesn't do anything for me.
I don't really blame them. It is difficult to maintain the angry forceful image when you're 46 years old, but also experience should bring new value into music. It's not all youthful anger. Too bad, I really wanted to like this album. I leave you with the original song that brought them to fame: I'm Only Happy When It Rains.
Here is another example of how even apparently clear memories aren't really that accurate: I almost didn't like this book. I don't know why I remember that I liked God Emperor of Dune, I probably did, but for the sake of me I don't know why. The entire span of the book Leto is whining of how much he sacrificed and his Golden Path, oscillating between total arrogance, self pity and angry fits. Probably part of a good book/bad book cycle, the second and the fourth books of the series felt weaker to me.
Anyway, the plot is not really convoluted, nor does it feature greatly trained people with extraordinary qualities. Instead, most of the characters are mostly ridiculous: a rebel that has nothing but hate and youth to drive her, but somehow Leto allows for her and even likes her for reasons I can't fathom, a Duncan Idaho ghola who acts like a spoiled and angry brat all the time, a bureaucrat that seems to have always in mind the possibility that The Worm could kill him and navigates his life around that, museum Fremen, an army of hysterical women, some remnants of the Bene Gesserit, but not enough to make a difference in that universe and in the course of the book, some Tleilaxu, but acting desperately and illogically and some Ixian machines that seem to be pervasive even when prohibited by that ridiculous Jihad. The rest of the book Leto is lamenting his situation, ponders deep philosophical questions and always wants to be surprised by the people around him, even if he trained, conditioned, bred or even cloned them himself, so he has as few chances as possible. All in the name of avoiding a horrible future when machines hunt and destroy all humans. No, really: Leto II playing John Connor.
Maybe I was more impatient or less likely to open up to the book and so I couldn't empathise with any of the characters, but maybe it was as much a pretentious book as I thought it was. Filled with pompous quotes from the Leto journals and internal dialogues that seemed to have no other purpose but to belittle the other characters in the book, God Emperor of Dune was actually boring to me. There is no question that Frank Herbert writes well, so I will not say I hated the book or that it is a bad one, but compared to others in the series it pretty much stank. I started reading book 5: Heretics of Dune, which started well with Bene Gesserit witches having some devious plans and always assessing one another. I don't seem to remember much of it, which is good, as I start with no expectations.
2022 Reread
There is no question of the power of the central idea in the book: what would you do if you knew the past and the possible futures and was omnipotent and immortal? Isn't that a god? What would a god do, how would he really feel and think and make decisions? How would you treat humanity if it felt like a curious pet to you?
I think Herbert had a design in his series of books. He started with an idea, perhaps a popular idea, then deconstructed it and turned it on its head. The first book was almost a classical hero arc with superhumans ruling a feudal universe. The second book revealed the weakness in the hero and the hubris of the superhumans. The third book was also a kind of a hero story where the main character defeats evil and chooses to go transhuman. The fourth book, this one, shows what that actually means. The loneliness, the unavoidable cruelty of total control and power, even when done with the best of intentions. It is humanity who had become the hero and must also change. As the book says, if you must label the absolute, use it's proper name: temporary.
It is difficult to like this book and impossible to dislike it. The god-like protagonist is pompous, brutal and dismissive, but you have to consider what it is like to be surrounded by inferior beings, stuck in all too obvious patterns yet assuming free will and personal power. On the other hand, he sounds like a villain in movies, you know the one, who pretends to give options to the victim, only to take them away at the last moment. The scale of the book is truly epic, which is why it has many flaws, inconsistencies and even contradictions. But it doesn't matter, because the magic is there.
I both agree and disagree with myself from 10 years ago. I almost didn't like the book, but I also liked it a lot. The fact that it had this visceral effect on me every time I've read it shows it's a great book.
P.S. the discussion in which Idaho is disgusted by two women kissing was hilarious, but even more hilarious was Moneo's admonition, followed by an explanation on how homosexuality is something experienced by young people and then quickly outgrown, if no one feeds it by opposing it. There might be something there, but I imagine how some people will react to it and can't help but chuckle.
The third book in the Dune saga is a strange mix between the first two. It has the epicness of the first, the setting up of the next book like the second and a length that is between the lengths of the previous books. It becomes obvious that Herbert has become too connected to his own characters and he is sometimes talking, so to speak, to himself. Characters say obscure lines that somehow strike a strong emotional or intellectual cord in their interlocutors, giving the impression they are very smart and perceptive, but that's all it is: an impression. There is a strong mix (not to say melange) of behaviors in single characters or of interactions between them that makes no sense at closer examination. If there is a word that would most fit with Children of Dune, it would be "pompous". The characters are wallowing in their hidden powers and arrogantly spewing big words that ultimately mean nothing.
That doesn't mean I didn't enjoy the book. I remember when I was younger I was debating if this or the next, not the first, were the best books. Now I believe that it was somehow a rushed release. A little more effort, maybe even with a splitting of the book in two smaller ones with more substance, would have made this a contender for the title. As such, though, it only mirrors the shine and edge of the first Dune book, while being less powerful. How much time did the idea of Dune mature in Herbert's head before he put it on paper and how much time did he have for Children of Dune, under the pressure of fans and publishers?
If something really hurt the consistency of the story it was the larger than life characters introduced at first: the Bene Gesserit legacy of memory and terrible training, the prescient, the Tleilaxu, the indomitable Fremen. Hard to keep the pace with such monsters. What mistakes could one do having the entirety of their ancestors' memory at their disposal? What effect would knowing the future or taking any shape you desire have on you? What would happen to fierce desert warriors when presented with a life in comfort? These are the questions that the book tried to ask, while it couldn't keep up with the immensity of the described universe and characters. Hard to describe specific bits without spoiling the story, but a good example is The Preacher, or the childish fits of anger on people that were supposed to be weathered by hardship, training and past lives.
Now, Frank Herbert is no fool. He not only noticed that the book he wrote is a little too arrogant, he has a plan. The next book will take that arrogance and throw it in our faces like a sin of all humanity that must be punished. I remember the God Emperor of Dune as a fantastic book and I can hardly wait to read it. But I also thought Children of Dune was bigger than life and now I have changed my opinion. We'll see.
Reread at 45
I thought the plot of the book was too convenient, with people who have no connection to one another suddenly making plans that consider all of the others. Also, a great inconsistency between the declared training and ability of some people and their behavior. But maybe that was the point: they are all superhuman, but they are still human. They have extraordinary skill, but also make mistakes. In their greatest moments of despair or triumph, they falter. I don't know.
I am certain that in this book I hated the Fremen, all arrogant and rigid, with their laws and their world view that never changes, all the time heralded as some great examples of humanity. They were psychos! The entire empire was a cesspool of ignorant religious fanatics. While in my youth I considered that annoying, now I found it creepy, maybe right down terrifying, because I can see it happening around me so easily. I do remember that I expected a better end for Alia and that was my impression now, as well. They had prescience, the knowledge of all past generations and a clear solution to the problem, but they just decided it was too late or too complicated to do anything.
This time I got more of the pompous utterances in the book. It didn't seem so empty of meaning anymore. Yet it still is pretty dense and pretentious, with many thing left just unexplained, just happening for the sake of the plot.
I am looking forward to rereading God Emperor of Dune.
Dune Messiah is the second book of Frank Herbert's Dune saga. It is two and a half times smaller than the first book and it feels almost completely different. Paul has been emperor for some time, not much, but enough for his jihad to bring the death of tens of billions. The government of the universe is now his, a combination of religion and bureaucratic despotism that he foresaw, but could not have prevented. The house of Ix and the Bene Tleilaxu make their appearance. There are conspiracies against Muad'dib and his family from every corner and, if the first book was of his victory over his enemies, however painful, the second book is all about his defeat at the hands of the future. He walks the edge, loses almost everything, all in the name of a better future for human kind. All the characters are weaker, more human, some less human but still weak.
All in all, it is a nice book, well written and interesting, but it felt like a kind of bridge between Dune and the next two books, which have their focus on Paul Atreides' children. We are certainly looking forward to brilliant stories and great writing, but Dune Messiah seemed a little too melodramatic, less focused, with less work done on it. Compared to its predecessor, it seems a disappointment; compared to most other books, it is still great.
Reread at 45
It is amazing to me how each decade these books are telling me something different. I still see the flaws, but they are subtly different, I still see the greatness of it, but also altered by time. Every time I read Dune it changes me, like the spice melange, makes me more introspective and extrospective. I look at things with more depth, I examine myself with more care. I love that feeling and I enjoy myself more.
One thing remains the same, though: I immediately identify with the Bene Tleilaxu and the House of Ix while reading the book. They are the tinkerers of their time, but without the whole ideology and set in ways behind the Bene Gesserit or the Fremen. Are they evil? Who cares! Therein lies freedom.
Anyway, back to the book. Just like in the first one, there are some important events that happen out of sight and we only hear from them or are explained by the characters. In Dune, the killing of Chani's first child was almost an afterthought. In Dune Messiah we just have to accept that Jessica, the loyal mother of Paul, just decided it's OK to leave Arrakis and move to Caladan, accompanied by Gurney Halleck, no less, the man who hated the Harkonnens with his whole being. Some important characters are summarily executed off screen, too, once they've done their job. I guess that's how the world works at any time, but as a reader, I would have liked more meat on those bones.
My instinct above, where I said it was a bridge between Dune and Children of Dune, was right. Even Brian Herbert wrote about this in his introduction. Many people were let down when they read Messiah, and the general view was that once Paul has become a classic hero, readers were not entertained by his downfall. But I don't think it's that. I think it was the vagueness of the book, the pompous implications of words that did not explain anything. That's both good and bad. Let me explain.
At first read, you feel like you are part of some mystical universe where each moment, each gesture, each word has world shattering implications. Coming from the boring world we feel we live in, it's a revelation. You feel like with just a little more attention to detail, a little more thinking about it, you will also glimpse the path things take. At second read, you are used to the feeling and you kind of know you will not get to the hidden truths of the book, but you still hold hope that a better person could see them, so it's still somehow inspiring. At later reads, you just understand that Herbert intimated secrets that he himself never deemed necessary to invent. You see the inconsistencies, how characters that had complete control of their minds and bodies act like children, or how the universe is ruled absolutely by Paul, with no constitution or legal organisms that are not subservient to him, but then he must obey the Fremen law whenever the plot sees it fit.
For me, this remains a thing of hope. The Dune series is great, but it could have been improved upon. Some writer somewhere will manage to write something similar that would upstage it by the sheer personal effort to be attentive to details and to imagine a world greater than our own.