Monday, December 30, 2013

Words that should exist in English but don't #1

Autopoematis (n). One whose name is cockney rhyming slang for themselves; e.g. Jeremy Hunt.

Wednesday, October 30, 2013

Book review of Learning NServiceBus by David Boike

A review of Learning NServiceBus by David Boike.
or
“How I Learned to Stop Worrying and Love the Bus”
Technical books with ‘learning’ in the title worry me. I approach them with trepidation, and I’ll tell you why: Many of them turn out to be little more than regurgitations of the subject’s technical documentation with shallow code examples – from which I generally infer that the author didn’t have a good handle on the subject matter.
I’m very glad to say that Learning NServiceBus, (David Boike; PACKT Publishing, 2013, 121 pages; ISBN: 978-1-78216-634-4), is not one of these worrisome reference books. It is clear that Mr Boike has a very good handle on NServiceBus from a developer’s point of view and like NServiceBus itself, this book is guaranteed to deliver its message.
At the opening of chapter one, Getting On The IBus, David hits us with a one-liner describing what NServiceBus is. Then, acknowledging that such trite explanations are, well … trite, he addresses the far trickier problem of explaining what NServiceBus does by presenting several common service orientated pitfalls that may resonate with the reader. This is a clever strategy and guaranteed to draw you in because every architect or developer working at the service-interoperability level has encountered at least one of these challenges. (Reading these pitfalls, it was nice to be reminded why NServiceBus is one of my go-to technologies when architecting scalable, durable systems; and how difficult life would be without it.)
David then establishes a contract with the reader that by the end of the book, one will be able to leverage NServiceBus to address these pitfalls and build out enterprise class systems.
And he makes good on this contract. He does it by starting with a slow prescriptive pace, gradually introducing more detail as the reader comes up to speed.
Right off the bat, David shows us how to prepare our machine for NServiceBus v4.0, how to install it and how to build our first NServiceBus solution. And, by Jingo, does he make it look easy! In fact, the step-by-step tutorial in Chapter One is so methodical that with only a basic knowledge of Visual Studio and NuGet, you’d still have your first NServiceBus project built and running within 10 minutes of cracking the cover; complete with a message assembly, a service endpoint, a message handler, and an MVC application. This is how every tutorial book should open.
In chapter two, Messaging Patterns, David kicks it up a gear. Gone is the systematic handholding and we are fast-tracked into a treatise on the usage of Commands versus Events, a discussion on that great anathema to the ACID rule, Eventual Consistency, and an explanation of NServiceBus’s Publish/Subscribe mechanism.
By the end of chapter three we know how NServiceBus deals with message delivery failures, and a chapter after that we’ve learned about hosting the NServiceBus process, using it with IoC containers and its support for various message transports. By the time we close the back cover we have learned about Sagas – NServiceBus’s long-running processes, how to open the hood on NServiceBus and rewire it to provide all those highly-specialised behaviours that crop up in every large project, how NServiceBus handles encryption and how to administer NServiceBus in the wild.
For a tutorial, the cadence of this book is damn-near perfect. David Boike crams an incredible amount of information into 121 pages and does it in a way that is easy to absorb. The code examples are targeted perfectly and are available as downloads from the Packt website.
If you want to learn NServiceBus, buy this book. If your team already uses NServiceBus, buy this book: As new guys come through the door, set them loose on chapter one and the experienced NServiceBus developers can use the later chapters as an aide-memoire or a quick reference. I’m already supposed to know NServiceBus back-to-front and this book taught me some new things and crystallised some advanced topics that I was a bit sketchy on.
I wish I’d written this book. If I had, I’d consider it a job very well done.

Mike Synnott is a 30-year veteran of the software development industry. He is currently a team lead and senior developer with Kobo in Dublin, where he uses a variety of .NET technologies, including
NServiceBus to architect durable and highavailability solutions for Kobo’s online eBook and eMagazine store. He is also a published writer having written technical articles for .EXE Magazine in London in the early 90s and more recently having published the first of a series of sci-fi/fantasy novels set in contemporary Ireland. He lives in Ashford, Co Wicklow with his wife and their cat overlord. He can be reached at mike@synnott.me
David Boike is a Principal Consultant with ILM Professional Services with more than a decade of development experience in ASP.NET and related technologies and has been an avid proponent of NServiceBus since Version 2.0 in 2010. He is also an alumnus of Udi Dahan’s Advanced Distributed Systems Design course. David resides in the Twin Cities with his wife and daughter. He can be found on Twitter at @DavidBoike and on his blog at http://www.make-awesome.com.

Thursday, August 29, 2013

My tips for overcoming writer's block.


  1. Re-read one of the books that inspired you to write in the first place. My go-to sci-fi novels are Eon by Greg Bear and The Mars Trilogy by Kim Stanley Robinson. The Talisman by King and Straub is another favourite. After a chapter or two I'm generally raring to go again!
  2. Do something tangential to the writing of the book like drawing a family tree, drawing a map, designing a building or a town. Imagine how you would describe it on paper as you're doing it. This puts your head into the right space to be creative about your theme, but takes away the pressure of having to write word-after word. If you're good at art and graphics you might even be able to use the resultant illustration in your book! The cube on the cover of my book The Magus Conspiracy was the result of one of those 'avoiding writing' sessions. http://www.kobobooks.com/ebook/The-Magus-Conspiracy/book-KeNuw-VqmUuRI1wr5EGObg/page1.html
  3. Drink a small amount of something alcoholic before you sit down to write. When I go out to socialise I'm a beer and whisky drinker (c'mon, I'm Irish!) - and I like an occasional glass of red with dinner - but what works for me to loosen the gears when I'm blocked is a chilled glass of white wine. Only white wine; all the rest just make me drowsy and distracted. And I'd almost never drink white wine otherwise. Strange, huh?
  4. When all else fails, grind the words out one by one. Even if it's horrid, turgid gunk that no-one in their right mind would read, even if it's written in kindergarten English (or whatever your chosen language is), you're writing and being productive. You can always go back and fix it later.
  5. Above all, never worry about it if you're blocked. Worry is pointless and it only exacerbates the problem.


Happy writing!!

Wednesday, July 3, 2013

Man of Steel, me arse!

I wasn't impressed by Man of Steel. Worst biopic ever, actually. They made no reference to his childhood in Georgia or his time in an orthodox seminary and they completely glossed over the millions of people he wiped out in purges. And what was all the flying about? Everyone knows he was terrified of flying. Honestly, you'd think it was about someone else entirely! 0/10.

Sunday, March 10, 2013

Modern Tribalism

I'm being reminded on a daily basis of the provenance of the word 'fan'; that it is a contraction of 'fanatic.'

When did the process of being a soccer supporter cross over from a hobbyist activity to being a religious pursuit? The soccer-related comments I read and hear every day are reminiscent of right-wing fundamentalist religious utterances.

Part of the problem is that there is now a re-learned behaviour amongst large sections of the soccer fanatic fraternity; that extreme anger and overt violence are acceptable reactions to disappointment. Parents and educational institutions spend years trying to massage that exact behaviour out of children in the first place.


I am strongly of the opinion that soccer supporting has become a negative force in the group psyche and that the entire subculture - taken as an organic whole - is bad for society.