One project finishes, another starts

(Cross post from Google+ – see comments there)

As one project draws to a close (apart from all the changes that will inevitably be forthcoming over the years), it’s time to reflect…

Around 1.5m lines of Java code (much of it generated from a rules engine), a ton of JavaScript using ExtJS, approx 700 web service calls, 170 database tables, two user facing web-apps apps, a bulk data load app, an authentication app and an infrastructure service app, and somewhere around 15 developers, 4 analysts and a room full of testers have been involved over the last 8-10 months.

It wasn’t painless, partly due to the choice of a key tool early on in project (before the requirements were fully defined), and partly due to the commercial pressures, but it is certainly an accomplishment of which we should be proud.

Looking forward, my next project couldn’t be more different: .net WPF desktop app and Java RESTful server (and much smaller – probably a team of 2-3 developers. in 12 weeks ask me if we’ve finished). I just need to learn the Ms Prism components now!

Sidenote: I did consider the possibility of Dart + Chrome for this next project, however, there are a couple of factors that prevent this happening. One is that the desktop client needs to interact with an existing legacy desktop app, and the other is the commercial nature of the project (unfortunately) precludes the use of HTML5 technologies).

Posted in Misc | Leave a comment

Read Dart in Action for learning Google Dart

Dart in Action, the book I’ve been writing for the last few months, is getting near the end.  I’m currently writing the 12th chapter of 15, which includes non-blocking file I/O and building a client / server app with the Dart HTTP Server.

Dart in Action - my new book

There are a lot of great examples in the book to help you learn Google Dart, the new language for the web, and talk you through all the topics you’ll need to write great web-apps in Dart, including the Dart core language functionality such as functions and closures, classes and interfaces, libraries and privacy, and async programming with Futures.

You’ll learn techniques for building client-side, single-page browser apps and storing data offline in the browser by using JSON.  On the server side, you’ll serve browser http requests, sending static files and JSON data between the client and server, and learn how to interact with the file system.

In all, the writing process will have taken around 4 months, but for me it’s not over yet.  Once the chapters are finished, the book goes through another round of reviews, technical review and copy-editing.  Hopefully it will appear in paper form by the end of the year, but if you want it earlier, then you can still get hold of the Manning Early Access version (MEAP) from the website, with the first chapter being free.

Posted in Dart, Misc | Tagged , | Leave a comment

Dart in Action (the book I’m writing)

The Dart language from Google is progressing nicely, with tools, dart>js conversion, dart embedded into chromium (dartium).

The blog that I also run is pretty popular, it seems that there is quite an appetite for Dart related content on the web.

I presented a talk to the London Ajax User Group a couple of weeks ago, which introduces Dart in the context of how it can improve client side development for JavaScript developers.  I may be doing another one in a few weeks for the newly formed London Dart group.

In the meantime, I’ve also been working on a couple of Dart related projects – one is Crimson Http, a Dart web server which extends the built in http server, and is loosely based upon sencha connect (currently it supports static files, trivial routing, favicon, and a simple session support) – this allows you to run Dart code server side.

The other big project I’ve been working on is a new book: Dart in Action, for the computer book publishers, Manning.  One of their editors contacted me with the idea to write a book after finding  Until recently I’ve been working with one of their writing coaches, producing samples and trying to decide on a table of contents (no mean feat, given that the language is evolving pretty rapidly).

Dart in Action - my new book

The book has just launched into “MEAP” or Manning Early Access Publication (a sort of Beta version of the book) where readers can get access to the chapters as they have been written.  So far, Chapters 1 and 2 are available, I’ve just finished writing chapter 3, and chapter for is just getting underway.  The table of contents that is up on the book website is already out of date – I’m working on getting it nailed down over the next week or so.

Take a look at the book - chapter 1 is available for free, the rest of the chapters will appear over the next few months – Dart is an exciting language, which could really make your life as a web developer better.

Find out more at

Posted in Dart | Tagged , , | Leave a comment

Google Dart is released, and so is

Google have released their new DART language, and being a GWT developer, this is something I’m very interested in.

As a response, I’ve created so that I can blog specifically about my experiences with google dart.

Posted in Google Frameworks, Software Dev | Leave a comment

Wubi – ubuntu windows installer is pretty good…

As part of my node.js eventington project (, I’ve been setting up my laptop with linux and windows dual boot (again).

This time, though, I used wuby, rather than installing from the ubuntu or fedora live cd – what I didn’t realise is that this causes linux to live in a virtual disk which exists within windows as a file, meaning it’s super-easy to get rid of if you need to reinstall (I’m having problems with the touchpad driver, and managed to mess up my x config).

It still gives you a boot menu option, and as far as you’re concerned, you’re just using good old linux, but if you need to uninstall it, though, that’s easy too

Simply go back into windows and use standard uninstall – this gets rid of the linux virtual disk and the boot menu option.  I’m sure there’s probably a performance hit in using a vdisk rather than a real partition, but I can live with that for the time being.

(ok, why not just get rid of windows?   I need it for visual studio / c# / / sql server development).

(ps – I’ve not mentioned eventington yet – sssh, it’s still secret!)

Posted in Misc | 2 Comments