Tuesday, 03 May 2011


Given the hype you might be forgiven for mistaking HTML5 as the 2nd coming. But all joking aside this is a significant step for the web but what does it really offer web developers? Well this is a question that I feel is answered in HTML5 Up and Running.

First thing to point out is that this book at just under 200 pages, is not an in-depth coverage of all the new features coming with HTML5. But if you're like me and only want a quick overview to catch-up with current developments in HTML5 this could be the book for you.

I found this book written and presented in a very clear and friendly manner that made reading the book enjoyable. The author Mark Pilgrim and there is a little IE bashing but nothing over the top. While reading it is important to remember that many aspects of HTML5 are still in development and are therefore subject to change. Having said this I still think this book is useful. One criticism that I did have is I felt there was rather too much coverage of the media aspects such as audio and video, this criticism could be attributed to the type of apps that I find myself building most often.

Personally I enjoyed the coverage on Microdata and felt it gave me a nice introduction to get up and running with this feature. Other useful chapters included the new forms input types and the new tags such as <header>, <article> and <footer>. Other topics were interesting and well covered.

HTML5 is still evolving but this is a book that could help you catch up quickly but rather than just taking my word for it you can read the book online for free at: http://diveintohtml5.org/

posted on Tuesday, 03 May 2011 21:18:50 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Tuesday, 15 March 2011


I'm a fan of the effective series of books (Effective Java, Effective C# etc.)and was therefore looking forward to this book hoping to pick u a few gems I'd yet to discover. To be blunt I was disappointed. The book is well written and concise, however having done considerable Java development I found this book more of a nostalgic reminder of the advances Java had given us when it first appeared in the late nineteen nineties.

I think this book might be of use to somebody newer to the Java language who has already gotten to grips with the basics of the language as it does cover many of the topics I found I had already learnt with a combination of playing with the language and reading during my early days programming Java. However for those more experienced I think Effective Java would be a better investment of your time as I feel any reasonably experienced Java developer will find very little new information in this book.

posted on Tuesday, 15 March 2011 18:04:01 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Sunday, 13 March 2011

51uSFVY7zjL._SS500_ Following on from "97 Things Every Software Architect Should Know" and the less heard of "97 Things Every Project Manager Should Know" is this book full of 97 things we programmers should know. Born from the same community process this book contains insight from many of today's best developers cutting code day after day.

Like the other books in this series this book is extremely well written and presented in a very digestible format as each of the 97 points has a maximum of two pages. This has lead to a book that is very easy to pick up and read cover to cover while community to work or even reading one or two points while waiting for a build to complete.

Alongside being a really easy to read book it is also an excellent reference book and thanks to the well laid out table of contents which can be flicked through very quickly this is a book that can be used easily to help resolve the occasional cubical dispute.

Some of the topics will seem blatantly obvious while other topics were thought provoking and will maybe bring things more to your attention that you were subconsciously doing. The book isn't as hard core as other classic titles such as The Pragmatic Programmer, Code Complete and the Art of Computer Programming, I still feel that this is a book that every programmer should have a go at reading. It isn't that expensive and it's a very easy read so it won't take up too much of you time and you'll probably pick up a few things to think about will knocking out code.

posted on Sunday, 13 March 2011 15:37:00 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Thursday, 04 November 2010


On a recent trip to London I had a bit of time to wander round the Barbican's art gallery. In there, there's loads of interesting designs for things from seats to buildings. However one of the most interesting things I found was in the gift shop. It's a small book with a relatively plain cover, however the very title just jumped out at me "It's Not How Good You Are, It's How Good You Want To Be". The very attitude in this title made it jump out more than any fancy cover every could have.

Steve Jobs once talked about 'how the original Macintosh designers had read 'beautiful books', well in my opinion this book could fall into such a category. It's the prefect combination of simple witty writing combined with attractive fonts and good use of pictures and colours.

Although the author is from a marketing background there is advice here that's applicable to anyone from any field especially IT. We all want to improve our ability as programmers well this quote from the book is very relevant to us "Firstly you need to aim beyond what you are capable of."

Another useful comment relates to criticism "It is quite easy to get approval if we ask enough people, or if we ask those who are likely to tell us what we want to hear" it goes on to point out how we edit out the bad so that all we hear is the good stuff that keeps us feeling warm and fuzzy. This book comes from the perspective of delivering something graphical to a customer and handling that customer, see an similarities in what we do?

I'll leave you now with my favourite line from the book "If you can't solve a problem, it's because you're playing by the rules".

posted on Thursday, 04 November 2010 20:05:40 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Sunday, 26 September 2010

Chad Fowler - The Passionate Programmer

Software development to me is a career that offers an excellent opportunity to be passionate about what you do. On the flip side it's also easy to slip into a mundane routine buried beneath layers of bureaucracy in which case your passion fades and instead to the outstanding career you dreamed of you become an average programmer drifting from day to day ticking boxes to climb a corporate ladder in the belief that titles and promotion are the keys to a safe job and happiness. Often this is not the case many climb the ladder only to find that they were only really happy while writing code.

If this sounds familiar this is a book you must read! In the music industry recording artists constantly reinvent themselves to stay relevant in modern times, this is what has separated the one hit wonders from musical legends that last for decades constantly massing new fans and producing new material. The same rings true with software development. The book has an example of a person pinning their entire career on becoming a J2EE architect the book points out do you really want to pigeonhole yourself into a specific technology from one specific company?

Another thing developers my fret about is loosing their jobs to cheaper overseas competition, the book offers very good advice to this prospect by reminding us that the rapid changing nature of IT was why many of us got into programming in the first place due to the constant challenge of learning something new. The book suggests embracing the change to hone your skills and constantly critique where you're at so that you can be ready for the next change. Just as a company wouldn't try and sell outdated stock make sure your not caught trying to sell yourself based outdated or unsellable skills.

The author Chad has a very clear writing style and his analogies between his career as a programmer and his earlier days as a Jazz musician are informative and an enlightened way to look at our careers as software developers. I can't recommend the book highly enough its full of excellent advice and is a very easily read book that won't take too much of your time but will give you so much.

The book will help you get into the mindset of always looking to improve adding value to yourself in such away that the outstanding career you dreamed of can become a reality. As the saying goes "A rolling stone gathers no moss" ensure you're not gathering moss. 

posted on Sunday, 26 September 2010 10:28:40 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Wednesday, 21 April 2010

reWork Buy this book!! I can't emphasis that enough, this book is clear advice on how to got about starting up a project and growing it from your pet project to a product that you can be passionate about and make work for you as a business.

This is not a very wordy book and as a result it's a book you can read very quickly, each point the authors whish to raise is presented in only a few pages at most with quit large clean fonts that are easy on the easy on your eyes. But don't for one minute think that the larger font and the cut down content leads to a book that contains less advice. The complete opposite is the case the authors have basically produced a book with no cr@p!! As they say themselves in the introduction that the reader will thank them for the stuff they left out, I really do thank them for this, the book is perfect.

As Seth Godin said in his review stop reading and go buy ReWork.

posted on Wednesday, 21 April 2010 17:28:14 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Sunday, 15 February 2009
This is one of the books from Manning with the cool covers that I like. This book has been written by Bruce Payette one of the designers of PowerShell. Because of this the book offers in-depth information on many aspects of PowerShell.  The book is split into two sections. Part one focuses on the basics, it covers using PowerShell at the command line and writing and run your own scripts. I read the nine chapters in this section from start to finish and was please to find lots of working and easy to follow code examples which I could play with and easily refer back to as I wrote my own scripts. I found this section greatly enhanced my knowledge of PowerShell in a short space of time, I would put this down to a good balance between verbose text and script examples to experiment with and if you are like me and learn beat by doing this book will suit you. The second section covered more advanced topics such as:
  1. Processing text files and XML
  2. .NET and WinForms
  3. Windows objects: COM and WMI
  4. Security

These were also detailed chapters with good examples however to date I have gotten more use from chapters 10 and 11 this is no fault  with the book it’s more of a reflection on what I’ve been working with recently. Since taking the time to sit down with this book I have become very keen on PowerShell especially having seen and used the scripting tools available on Linux and UNIX.

I found the book well structured and importantly for me it contains lots of script examples. Previously I had tried to learn PowerShell simply from various web sites however lack of discipline kept getting in the way. With the book I was able to discipline myself better and managed to work through this book in just over one week. Now I’m able to write my own scripts and when I’ve needed to I’ve found it very easy to refer back to the book. The back cover says that this is a book for sysadmins and developers, I would agree with this and would recommend this book for people with previous scripting of programming experience if you don’t have these then a more basic beginners book may allow you to make more progress.

The books web site: http://www.manning.com/payette/

posted on Sunday, 15 February 2009 18:18:46 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Wednesday, 04 February 2009
Microsoft Press's Professional Series (the silver ones :-)) aim to create a series of books that provide information for IT professionals in a technology independent manner. Examples of previous books in the series that I've enjoyed are Code complete by Steve McConnell and the Object Thinking by David West. Both of these contain information that can be easily transferred from one language to another such as between Java and C#.

Simple Architecture for Complex Enterprises by Roger Sessions sets out to create another book in this series; this time focusing on enterprise architecture in particular the focus is on the idea of creating simple solutions. The Book is split into two sections, the first concentrates on the issues of complexity. It starts off by giving an overview of the current state of play in the field of enterprise architecture. Following on from the description on enterprise architecture Roger gives an overview of The Zachman Framework, The Open Group Architecture Framework (TOGAF) and The Federal Enterprise Architecture (FEA). He points out how these should not be seen as competing against each other and how they can in fact be used to complement each other.

Now we dive into the main target that this book is hoping to address with chapter 2 "A First Look at Complexity". Along with defining complexity Roger proposes a solution in the form of partitioning that can be used to break complex system down into manageable chunks. This idea is well illustrated with the use of a Rubik's cube and how a 4-by-4 cube has 7.4 x 1045 possible permutations, whereas a 2-by-2 cube has 'only' 3.7 x 106 permutations. There eight 2-by-2 cubes would only have 29.6 x 10 ^6 possibilities. So this example proves with undisputable numbers that splitting a complex problem into smaller simpler problems allows us to produce simpler solutions.

The second section of the book is "The Quest for Simplification" is where we find Roger's suggestions on how we can avoid complexity in our applications. The methodology that is proposed to control complexity is Simple Iterative Process. SIP describes the main approaches used for complexity control: partitioning, simplification and iterative delivery. After this chapter 6 shows us an example of a system gone badly wrong and illustrates how SIP could have helped this system. The system in question is the National Program for Information Technology (NPfIT) that the British government commissioned for the National Health Service (NHS), even if you have no interest in IT and pay taxes in the UK this chapter should be of interest due to the colossal money squandered on the project due to late delivery all of which can be attributed to a complex solution being implemented for a complex problem. The next chapter the looks at how we can start designing software to control the complexity problem using a technique called "Software Fortresses".

I liked this book particularly because it does what I think is important when writing on a topic such as enterprise architecture, it will help get you thinking! I would encourage developers, architects and CIO's to read this book and ensure they are aware of the danger of complexity entering their projects.

I would like to conclude this post by referring to thoughts from the book. To be a successful architect you must be passionate about simplicity, you must aim to make it your goal to deliver a simple solution for complex problems, anybody can develop a complex solution, it takes a great architect to take a complex problem and deliver a simple solution.

posted on Wednesday, 04 February 2009 21:51:00 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]
 Wednesday, 28 January 2009

One of the books that made it onto my seemingly never ending reading list was The Productive Programmer by Neal Ford. At only 190 pages it doesn't look too intimidating to start with and on closer inspection you find this is indeed the case. Neal Ford has produced a well written text that spares waffle and gets straight to the point. It's a book that is very easy to read and difficult to put down.

The book is split into two with part one focusing one mechanics and provides examples of some very useful tools such as JediConcentrate and Launchy. However I must admit I prefer Ghoster as apposed to JediConcentrate for aiding concentration. Along side recommending tools the first section also champions the benefits of scripting languages such as Groovy, PowerShell and Ruby, he gives some interesting examples of splitting SQL files and automating various other tasks. However I personally would stress the need to be compident with regular expressions along with a scripting language.

Some of the examples in the second section give examples in Java this could lead to the book being seen as a Java orientated book, however nothing could be further from the truth. This books contains lots of useful advice that will be of use to all developers. There is a discussion of SLAP (Single Level of Abstraction Principle) which can be applied to all Object-Orientated languages. Other topics include test-driven development, static code analysis and the idea of good citizenship, all of which if nothing else should plant a seed and get you thinking.

The author has a wiki for the book at http://productiveprogrammer.com. The wiki and the book is to raise awareness of how developers can be more productive and allow much smarter people to carry out the conversation. We're all familiar with the acynom YAGNI only in the case of this book it should read You are Going to Need It.

posted on Wednesday, 28 January 2009 20:57:10 (GMT Standard Time, UTC+00:00)  #    Add Comment | Comments [0]