Book Club book #6: Cloud Atlas

Posted in: Books, Reviews, Book Club

The time finally came around for me to pick a book, and it was around this time that I started hearing about a movie making the rounds in the US called Cloud Atlas. The trailer had me intrigued, so I thought I'd be one of the people who was trying to cram the book version into their heads before they tried to cram the movie version into their heads.

At the time, the release schedule for Cloud Atlas in New Zealand was for the end of February 2013, so our book club planned to have our first book club movie night, watching Cloud Atlas the movie, just after we had finished reading Cloud Atlas the book. February came, and Cloud Atlas mysteriously vanished from movie listings. After another month of waiting, I started ringing-up cinemas to find out what happened. Nobody had any explanation for what happened, but they repeated what I had started to fear: that the movie had been pulled from being released in New Zealand, possibly due to poor overseas performance at the box office.

If there was anything to learn from Cloud Atlas, both the book and the lack of a movie, is that they were both exercises in setting my expectations, and to be ready when things start to disappoint.

Cloud Atlas

Book, $11.10 USD on Kindle, written by David Mitchell, http://www.amazon.com/Cloud-Atlas-ebook/dp/B002VHI8J0/
Cloud Atlas cover

Cloud Atlas seems to me like a strange little experiment in an alternative story-telling method. The overall story is about the lives of several people throughout the span of human history: from the age of sail and exploration, to a very distant post-apocalyptic future. Each of the individual stories told across the ages are connected in some way.

When it comes to telling each separate story, David Mitchell does this by starting the one furthest in the past first, then at the half-way point it cuts-off to start telling the second story. When the second story reaches about half-way, it stops to then tell the third story, and so on until we get to the sixth story which gets told to completion. When that one finishes, the fifth story concludes, then the fourth, and so on until we complete the first, and thus all, the stories.

The first story is about a man sailing across the Pacific, the second story is about a young man trying to find his fortune as an assistant to a master composer, the third story is about a woman reporter uncovering some kind of corporate conspiracy, the fourth is of an older man down on his luck as a publisher, the fifth is about a female... synthetic human (??? It's like super AI and cyborg technology), and the last is about a young man on some island in a post-apocalyptic world.

The way I was introduced to the 'everything is connected' idea in the movie trailer, I thought the book was really going to play on how each of those lives had some direct effect on the others. The reality however, was that the connections weren't pretty few and tame: an artefact from one life was present in another, some of the characters maybe shared the same birth mark... and that was about it. No life really had any direct effect on the other as each life was more of a passive observer into the life that came before.

It was my greatest expectation that this interconnectedness was critical to the plot, and as I read through each new story I had more and more hopes that something was actually going to happen with it. But after I passed the mid-way point in the book and each story started unravelling in reverse chronological order, my expectations were shattered again, and again, and again.

By the end of the book, I instead felt that I had just read 6 very separate stories, in some ridiculous order, bundled together under some title that barely featured in the book at all! Hell, even the last sentences had nothing to do with 'clouds' or 'atlases', and we instead get some metaphor about the ocean?

What. The. Fuck.

My expectations for the book had been broken six times over, and I was telling the book club at our next meeting that I seriously hoped that the movie was going to be better. Of course, that was before I learned that the movie had been pulled from NZ cinemas and had my expectations broken for a seventh time.

Is there anything good I can say about this book? Plenty: the writing was top-notch (styles varied depending on the era, even going so far as to create a dialect for the far-flung future eras), the characters I could sympathize with, and the individual stories were all enjoyable to read in their own right. So I was never bored as I made my way through each of the stories.

However, as each story ended, I was never happy either. The overall package made no sense, and I struggle to think of what the reason is in putting all these stories together. I didn't come away from the book feeling enlightened, and I didn't really learn anything new. It all just felt meaningless.

I look forward to having a meaningless conversation with you

That might just be me though: the movie had me expecting one thing, and when I went to the book for it, it failed to deliver. If I ever get the chance to watch the movie, I really hope it'll be better. Then again, given the movie was pulled due to poor overseas performance, maybe I'm just setting myself up for disappointment again.

5.5 out of 10.

Book Club book #5: The Curious Incident of the Dog in the Night-Time

Posted in: Books, Reviews, Book Club

Continuing on the theme of books with dogs on the covers (it wasn't really a theme, things just ended-up this way), our book club's 5th book was around this book that popped into the head of one of our members, but who kept having to Google the thing because the full title just never stuck in her head. "The something something about an elephant in the night... or was it a dog? Bah..." at which point she'd then get out her phone and search for the thing.

Just like most-everything else we'd covered so far, I hadn't heard of this book before, so was absolutely useless when it came to assisting with Google searches for the proper title of the book. Once we all wrote the title down, it was then easier to look for it afterwards - it's a pretty unique title after all.

The Curious Incident of the Dog in the Night-Time

Book, $9.66 USD on Kindle, written by Mark Haddon, http://www.amazon.com/The-Curious-Incident-Dog-Night-Time/dp/1400032717/
The Curious Incident of the Dog in the Night-Time cover

This book was 1 of 2 that we picked for our book club that meeting - the other being Cloud Atlas, so now you know one of my future blog posts is going to be about - due to the Christmas / New Year's holiday that was approaching which would put a massive gap between this meeting and the next. The gap was good for me, because I've found that I've become a very slow reader over the last few years. It's not because my reading skills have deteriorated, but rather because I find less time to read than I used to. When I used to live with my family, a 17 minute train ride separated me from my work, giving me plenty of time to get some reading done. Now... I'll be lucky if I find some time to read before I go to sleep.

Anyway, this book is about 15-year-old Christopher John Francis Boon and the adventure he undertakes as he investigates who killed his neighbour's dog. The 'twist', as to what makes this story a little bit different, is that Christopher is autistic (although according to Wikipedia, his condition is never actually stated - intentionally by the author), and the furthest Christopher has ever actually gone unsupervised is to the shop at the end of his street.

Throughout the story we learn about the shortcomings Christopher has in trying to fit into society, and how he copes with those and other people during his investigation. The book we read is supposed to be the diary written by Christopher himself, and it's a very engaging read into the mindset of someone who has a very different perspective on the world around him.

When time came to discuss the book, I told the others straight-out that I found it very hard to sympathize with Christopher. Not simply because of his condition, but because of what his condition does to his ability to understand the world and how other people work. Christopher sees the world in very black-and-white terms. For example, he is very adamant about not lying, and he sees any kind of lie as a bad thing. This includes metaphors because they are not reflective of reality, and so Christopher's writing is very literal. His condition makes it very difficult for him to comprehend all the shades of grey that fall between the truth and a lie.

It's his inability to comprehend those greys that makes me frustrated with Christopher because I have my own belief that so many of the solutions to the problems that we face today as a people can be found in the area that falls between the 2 extremes of a situation.

For example, so much of what is reported to us in the news nowadays is very polarizing: we have people shouting at each other from 2 sides of many issues. Take an issue like abortion. The way it's reported, it seems like there are only 2 sides: you're either for it or against it, and to hell with anybody in the middle ground. So many people then choose a side to be on, and then spend the remainder of their days shouting at those who have chosen differently. Yet I feel that somewhere between these 2 extremes lies the answers we are looking for. I mean, if we can accommodate the case-by-case circumstances for an abortion, then we can find a solution more worthy of our humanity.

It's the same for a plethora of other social issues facing the modern world. Too many people are so caught up with picking a side and sticking to it that they fail to then take the steps necessary to wade into those grey areas and start to get an understanding of the other side of an issue.

So when it comes to Christopher, he is completely unable to comprehend other viewpoints or to sympathize with another's actions. It inadvertently makes him extremely selfish and unable to think through about what the consequences of his actions will mean to the people around him. It's this inability to understand the situations that the others in his life are going through, including his own father who is with him day in and day out, that made me so frustrated with him.

Frustrated horse

Does this make me a terrible person? I thought about that a bit when we talked about this book at book club, and I hope it doesn't. If I'm being honest with myself, I know now that I would do a terrible job of looking after someone like Christopher, so would be doing the whole world a favour if I left his care to others. The irony is that Christopher, of all people, would most likely be the person who would appreciate that honesty the most.

7 out of 10.

A workplace without Google

Posted in: Work stories

Maybe it's just me, but I often wonder what life would be like without the major internet services or websites I've come to rely upon - services like everything Google does, Dropbox; and websites like Facebook, Twitter.

The websites I believe I can get by without: Twitter is just me shouting short sentences into the electronic ether, and Facebook is where I go to listen to other people and my favourite bands shouting their words at me. The shouting I can do less of, and it'll probably be better for my health too, whereas with Facebook I have alternatives such as meeting said friends to get the latest news, or going to the band's website (or, heaven forbid, their MySpace) and finding out what's happening with them there. I've also accidentally subscribed to the e-mail newsletters of most of those bands (damn you price-of-entry for legitimate free downloads!) so like it or not, I happen to know that their latest tours are coming nowhere near my little country.

The services might be a bit harder to go without. What I was doing before Dropbox was carrying a USB flash drive with me between work and home to make sure I kept some work/home files in sync. I could easily go back to doing that (I still carry the USB stick), though it'll be annoying as hell. I imagine it'll be like going back to dial-up after having used DSL or other broadband options for so long, or, using a recent example my brother had, experiencing the speed of an solid-state drive, then having to go back to the lowly speeds of a traditional hard drive.

Once you've tasted the fruit, it's hard to go back.

Mixed fruit
Much healthier than dial-up

The loss of services like those of Google or Amazon would be much harder to shake. Many companies around the world have felt the impact of lost productivity when Gmail goes down, even if for just a few hours. And the more recent Amazon EC2 outages can cause all sorts of trouble, taking down seemingly unrelated websites left and right and making you start to think there's something wrong with your own internet connection.

But to lose all of Google's services? Would the internet even still be working if that happened? Unfortunately for my workmates and I, our entire building, and maybe even all our NZ offices, are currently experiencing massive Google withdrawal.

Google itself isn't down. If it was it'd be front-page news and everyone including your mom would know about it. What I think has happened to us is that the internet proxy that all of our work computers have to go through to get to the internet, for some odd reason, cannot resolve google.com.

We've been 'without Google' for the last 2 days, and I don't expect things to get fixed any time soon. The internet proxy of our network is very very slow to update, and it's stupid cache is even slower such that it still serves weeks-old CSS files on this website alone.

The biggest problem isn't that I've lost the use of Google's services - I've been begrudingly using Bing for the last couple of days, and can still use my phone to access anything else like Gmail or Google Reader - but that other sites I rely on, which in turn rely on the google.com address, are falling over because they just happen to use a file that is on the google.com address.

For example, just this morning I've been trying to download a version of Eclipse to help troubleshoot a problem some people are getting with the Thymeleaf Eclipse Plugin I released recently. The Eclipse website uses a Google-powered Search box on their website, which downloads a JavaScript file from a google.com address. Web developers can already see where this is going: in pretty much every browser, the retrieval of JavaScript files causes the rendering of the entire page to wait on that file. Because I can't get that file, I can't get the page. Well, that's not the whole truth: I do get the page, but only up to the search box, which just happens to be near the top, before all the important content that I'm actually after. This little browser quirk is why you sometimes see advice to have <script> tags (the tags that reference JavaScript files) right at the end of the page - so that the rest of the page has the chance to load, even if that JavaScript file doesn't.

It also doesn't help that I've had to look up Android development pages quite a lot this passed week too as I attempt to fix some Android-related issues at work. As you'd expect, the Android pages rely heavily on the google.com address.

There's no conclusion to this blog post. I'm just frustrated as hell, my workmates are too, and it's impacting the amount of stuff any of us can get done. So why not vent that frustration in a blog post? I've suddenly got a lot of free time to kill.

HTML in your HTML

Posted in: Programming

First, some programmery updates to get out of the way:

Thymeleaf Extras Eclipse Plugin

I've completed the first stable release of my first ever Eclipse plugin, which happens to be a content assist plugin for Thymeleaf. It started out as just another spare time side-project, then eventually got folded into the Thymeleaf project itself as an 'extras' module. The plugin adds content assist features to the HTML editor, listing element processors and attribute processors alongside HTML element/attribute suggestions.

Thymeleaf extension (aka: dialect) authors can also take advantage of the plugin to have their dialects show up in the HTML editor. You can find download links and more details on the project's GitHub page: https://github.com/thymeleaf/thymeleaf-extras-eclipse-plugin

Thymeleaf Layout Dialect

I've also gone and updated my own Layout dialect for Thymeleaf to show up in said Eclipse plugin. The updated download or Maven co-ordinates can be found on that project's page: http://www.ultraq.net.nz/programming/thymeleaf-layout-dialect/

---
I mention the name 'Thymeleaf' a bunch up there. It's one of the parts used in the construction of this website, and last month I joined the developer line-up for the Thymeleaf project, so you might see me write a bit more about it in the future.

If you're a programmer and didn't follow any of the links on this blog post before this current sentence, then the short of Thymeleaf is that it's a Java library for writing HTML templates. For me however, what it really is is the first ever view framework I've come across that doesn't feel like it insults web designers.

Thymeleaf logo
Thymeleaf: we actually like web designers

The whole 'not insulting web designers' thing is why I made the switch to Thymeleaf last year with the website redesign; I was done with JSPs to make HTML (the code you're writing barely looks like HTML any more, and it requires throwing too much Java code into them to make them do what you want), and I wasn't touching JSF with a 40-foot pole (not after my last work project in which I had to use it and stare in horror as it generated HTML code like it was 1999).

After some looking around I settled on Thymeleaf because, aside from the numerous benefits advertised on it's website, the one that stuck out to me was that the code you wrote to generate HTML actually looked like, and used, HTML.

I think for any code generators, that's my number one requirement: that the code being generated is written in and resembles the language of the code being generated. It makes the learning curve very mild because if you know the language of the code you want to generate, then everything else you need to learn already looks and feels like familiar territory.

It also makes it very inclusive: people who know HTML (like web designers) don't feel like they need to learn another programming language just so they can do their job (designing, which involves messing with HTML files).

Another framework which follows this principle, and that I also picked for the site redesign, is LESS, a CSS generator which looks like, and uses, CSS.

I've become quite fond of both Thymeleaf and LESS, so much so that I use both quite a lot in my 9-to-5 paid job for when I need to whip-up a website or mobile app prototype in under an hour to showcase some feature that my team is looking into developing.

The best part is when I get to show the others how I did things, because then I point them to the Thymeleaf or LESS files and they can understand those files right away, even if they didn't know Thymeleaf/LESS, because what they're looking at is HTML/CSS.