<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chris Does Dev</title>
	<atom:link href="http://www.chrisdoesdev.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.chrisdoesdev.com</link>
	<description>Chris Buckett&#039;s software development blog.</description>
	<lastBuildDate>Sat, 11 Aug 2012 08:33:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>One project finishes, another starts</title>
		<link>http://www.chrisdoesdev.com/?p=134</link>
		<comments>http://www.chrisdoesdev.com/?p=134#comments</comments>
		<pubDate>Sat, 11 Aug 2012 08:32:41 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=134</guid>
		<description><![CDATA[(Cross post from Google+ &#8211; see comments there) As one project draws to a close (apart from all the changes that will inevitably be forthcoming over the years), it&#8217;s time to reflect&#8230; Around 1.5m lines of Java code (much of &#8230; <a href="http://www.chrisdoesdev.com/?p=134">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>(<a href="https://plus.google.com/u/0/117571249567635877826/posts/2xSx663X1Ud">Cross post from Google+ &#8211; see comments there</a>)</p>
<p>As one project draws to a close (apart from all the changes that will inevitably be forthcoming over the years), it&#8217;s time to reflect&#8230;</p>
<p>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.</p>
<p>It wasn&#8217;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.</p>
<p>Looking forward, my next project couldn&#8217;t be more different: .net WPF desktop app and Java RESTful server (and much smaller &#8211; probably a team of 2-3 developers. in 12 weeks ask me if we&#8217;ve finished). I just need to learn the Ms Prism components now!</p>
<p>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).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=134</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Read Dart in Action for learning Google Dart</title>
		<link>http://www.chrisdoesdev.com/?p=130</link>
		<comments>http://www.chrisdoesdev.com/?p=130#comments</comments>
		<pubDate>Sun, 01 Jul 2012 07:06:52 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Dart]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[dart]]></category>
		<category><![CDATA[Dart in Action]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=130</guid>
		<description><![CDATA[Dart in Action, the book I&#8217;ve been writing for the last few months, is getting near the end.  I&#8217;m currently writing the 12th chapter of 15, which includes non-blocking file I/O and building a client / server app with the &#8230; <a href="http://www.chrisdoesdev.com/?p=130">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://goo.gl/XhCW7" target="_self">Dart in Action</a>, the book I&#8217;ve been writing for the last few months, is getting near the end.  I&#8217;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.</p>
<div id="attachment_126" class="wp-caption alignright" style="width: 160px"><a href="http://goo.gl/XhCW7"><img class="size-full wp-image-126" title="buckett_cover150" src="http://www.chrisdoesdev.com/wp-content/uploads/2012/03/buckett_cover150.jpg" alt="" width="150" height="188" /></a><p class="wp-caption-text">Dart in Action - my new book</p></div>
<p>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&#8217;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.</p>
<p>You&#8217;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&#8217;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.</p>
<p>In all, the writing process will have taken around 4 months, but for me it&#8217;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 <a href="http://goo.gl/XhCW7">manning.com</a> website, with the first chapter being <strong>free</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=130</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dart in Action (the book I&#8217;m writing)</title>
		<link>http://www.chrisdoesdev.com/?p=125</link>
		<comments>http://www.chrisdoesdev.com/?p=125#comments</comments>
		<pubDate>Sun, 25 Mar 2012 17:06:54 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Dart]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[dart]]></category>
		<category><![CDATA[Dart in Action]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=125</guid>
		<description><![CDATA[The Dart language from Google is progressing nicely, with tools, dart&#62;js conversion, dart embedded into chromium (dartium). The DartWatch.com blog that I also run is pretty popular, it seems that there is quite an appetite for Dart related content on &#8230; <a href="http://www.chrisdoesdev.com/?p=125">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Dart language from Google is progressing nicely, with tools, dart&gt;js conversion, dart embedded into chromium (dartium).</p>
<p>The <a href="http://blog.dartwatch.com" target="_blank">DartWatch.com</a> blog that I also run is pretty popular, it seems that there is quite an appetite for Dart related content on the web.</p>
<p>I <a href="http://skillsmatter.com/podcast/ajax-ria/laug-google-dart" target="_blank">presented a talk</a> to the <a href="http://www.meetup.com/londonajax/" target="_blank">London Ajax User Group</a> 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 <a href="http://www.meetup.com/LondonDartCommunity/" target="_blank">London Dart</a> group.</p>
<p>In the meantime, I&#8217;ve also been working on a couple of Dart related projects &#8211; one is <a href="https://github.com/chrisbu/CrimsonHttp" target="_blank">Crimson Http</a>, 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) &#8211; this allows you to run Dart code server side.</p>
<p>The other big project I&#8217;ve been working on is a new book: <a href="http://goo.gl/XhCW7" target="_blank">Dart in Action</a>, for the computer book publishers, Manning.  One of their editors contacted me with the idea to write a book after finding Dartwatch.com.  Until recently I&#8217;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).</p>
<div id="attachment_126" class="wp-caption alignnone" style="width: 160px"><a href="http://goo.gl/XhCW7" target="_blank"><img class="size-full wp-image-126" title="buckett_cover150" src="http://www.chrisdoesdev.com/wp-content/uploads/2012/03/buckett_cover150.jpg" alt="" width="150" height="188" /></a><p class="wp-caption-text">Dart in Action - my new book</p></div>
<p>The book has just launched into &#8220;MEAP&#8221; 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&#8217;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 &#8211; I&#8217;m working on getting it nailed down over the next week or so.</p>
<p>Take a look at the book -<a href="http://goo.gl/XhCW7" target="_blank"> chapter 1 is available for free</a>, the rest of the chapters will appear over the next few months &#8211; Dart is an exciting language, which could really make your life as a web developer better.</p>
<p>Find out more at <a href="http://blog.dartwatch.com">http://blog.dartwatch.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=125</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Dart is released, and so is dartwatch.com</title>
		<link>http://www.chrisdoesdev.com/?p=103</link>
		<comments>http://www.chrisdoesdev.com/?p=103#comments</comments>
		<pubDate>Fri, 14 Oct 2011 07:06:08 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Google Frameworks]]></category>
		<category><![CDATA[Software Dev]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=103</guid>
		<description><![CDATA[Google have released their new DART language, and being a GWT developer, this is something I&#8217;m very interested in. As a response, I&#8217;ve created dartwatch.com so that I can blog specifically about my experiences with google dart.]]></description>
			<content:encoded><![CDATA[<p>Google have released their new DART language, and being a GWT developer, this is something I&#8217;m very interested in.</p>
<p>As a response, I&#8217;ve created <a href="http://dartwatch.com" target="_blank">dartwatch.com</a> so that I can blog specifically about my experiences with google dart.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=103</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wubi &#8211; ubuntu windows installer is pretty good&#8230;</title>
		<link>http://www.chrisdoesdev.com/?p=111</link>
		<comments>http://www.chrisdoesdev.com/?p=111#comments</comments>
		<pubDate>Thu, 21 Jul 2011 08:13:02 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=111</guid>
		<description><![CDATA[As part of my node.js eventington project (https://github.com/chrisbu/eventington), I&#8217;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 &#8211; what I &#8230; <a href="http://www.chrisdoesdev.com/?p=111">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As part of my node.js eventington project (<a href="https://github.com/chrisbu/eventington">https://github.com/chrisbu/eventington</a>), I&#8217;ve been setting up my laptop with linux and windows dual boot (again).</p>
<p>This time, though, I used wuby, rather than installing from the ubuntu or fedora live cd &#8211; what I didn&#8217;t realise is that this causes linux to live in a virtual disk which exists within windows as a file, meaning it&#8217;s super-easy to get rid of if you need to reinstall (I&#8217;m having problems with the touchpad driver, and managed to mess up my x config).</p>
<p>It still gives you a boot menu option, and as far as you&#8217;re concerned, you&#8217;re just using good old linux, but if you need to uninstall it, though, that&#8217;s easy too</p>
<p>Simply go back into windows and use standard uninstall &#8211; this gets rid of the linux virtual disk and the boot menu option.  I&#8217;m sure there&#8217;s probably a performance hit in using a vdisk rather than a real partition, but I can live with that for the time being.</p>
<p>(ok, why not just get rid of windows?   I need it for visual studio / c# / vb.net / sql server development).</p>
<p>(ps &#8211; I&#8217;ve not mentioned eventington yet &#8211; sssh, it&#8217;s still secret!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=111</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GWiTblog &#8211; requirements backlog</title>
		<link>http://www.chrisdoesdev.com/?p=107</link>
		<comments>http://www.chrisdoesdev.com/?p=107#comments</comments>
		<pubDate>Tue, 19 Jul 2011 19:01:55 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Daily GWT]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=107</guid>
		<description><![CDATA[Ok, the requirements for the blog engine are as follows (in no particular order): input  a post (this is fairly fundamental!) formatting of a post allow &#8220;source code formatting&#8221; in a post commenting on a post adding tags to a &#8230; <a href="http://www.chrisdoesdev.com/?p=107">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ok, the requirements for the blog engine are as follows (in no particular order):</p>
<ul>
<li>input  a post (this is fairly fundamental!)</li>
<li>formatting of a post</li>
<li>allow &#8220;source code formatting&#8221; in a post</li>
<li>commenting on a post</li>
<li>adding tags to a post</li>
<li>putting a post in categories</li>
<li>generating a shortened url for the post (bit.ly / goo.gl or similar)</li>
<li>spam filter for comments</li>
<li>comment moderation</li>
<li>draft posts (ie, written but not published)</li>
<li>images within posts</li>
<li>share to google+, twitter, facebook</li>
<li>send email when someone comments</li>
<li>managing the blog attributes (eg, blog title, email settings, etc&#8230;)</li>
</ul>
<p>I think that will do for the moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=107</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT blog engine</title>
		<link>http://www.chrisdoesdev.com/?p=104</link>
		<comments>http://www.chrisdoesdev.com/?p=104#comments</comments>
		<pubDate>Mon, 18 Jul 2011 22:06:25 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Google Frameworks]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Dev]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=104</guid>
		<description><![CDATA[Whilst thinking of a subject to blog about, and installing wordpress yet again, I came up with the idea to blog about the development of a gwt blog engine.  I&#8217;ve been meaning to write a gwt reference application, so here &#8230; <a href="http://www.chrisdoesdev.com/?p=104">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Whilst thinking of a subject to blog about, and installing wordpress yet again, I came up with the idea to blog about the development of a gwt blog engine.  I&#8217;ve been meaning to write a gwt reference application, so here goes.  It&#8217;s going to be called GWiTblog (short for &#8220;Get on with it&#8221; blog, and you can track the progress at my github repo, here: https://github.com/chrisbu/GWiTblog</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=104</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>node.js to be supported on Windows (with Microsofts help!)</title>
		<link>http://www.chrisdoesdev.com/?p=101</link>
		<comments>http://www.chrisdoesdev.com/?p=101#comments</comments>
		<pubDate>Fri, 24 Jun 2011 07:56:35 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=101</guid>
		<description><![CDATA[I read in an interesting post today that Joyent (primary sponsors of node.js) are getting official help from Microsoft to get node.js working well in a ms infrastructure. More here: http://blog.nodejs.org/2011/06/23/porting-node-to-windows-with-microsoft%E2%80%99s-help/ and discussion here: http://news.ycombinator.com/item?id=2688270]]></description>
			<content:encoded><![CDATA[<p>I read in an interesting post today that Joyent (primary sponsors of node.js) are getting official help from Microsoft to get node.js working well in a ms infrastructure.</p>
<p>More here: <a href="http://blog.nodejs.org/2011/06/23/porting-node-to-windows-with-microsoft%E2%80%99s-help/">http://blog.nodejs.org/2011/06/23/porting-node-to-windows-with-microsoft%E2%80%99s-help/</a></p>
<p>and discussion here:</p>
<p><a href="http://news.ycombinator.com/item?id=2688270">http://news.ycombinator.com/item?id=2688270</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=101</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desktop applications with web ui&#8217;s</title>
		<link>http://www.chrisdoesdev.com/?p=96</link>
		<comments>http://www.chrisdoesdev.com/?p=96#comments</comments>
		<pubDate>Wed, 06 Apr 2011 13:19:13 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[cloud9]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[Software Dev]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=96</guid>
		<description><![CDATA[Recently I&#8217;ve been thinking about how we&#8217;re developing multi user web applications as &#8220;applications&#8221; rather than &#8220;websites&#8221; &#8211; the difference being that the web application is a software system that you would use to get a job done (eg, gmail, &#8230; <a href="http://www.chrisdoesdev.com/?p=96">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been thinking about how we&#8217;re developing multi user web applications as &#8220;applications&#8221; rather than &#8220;websites&#8221; &#8211; the difference being that the web application is a software system that you would use to get a job done (eg, gmail, google calendar) &#8211; and can be seen as a direct replacement for what could have been a desktop application.</p>
<p>All these web applications are hosted on some kind of server infrastructure, usually with some kind of database backend and multi-user session management.</p>
<p>Recently I had a thought about an idea for a desktop application.  I havn&#8217;t written a &#8220;traditional&#8221; desktop application for some time (last time I wrote a desktop application in anger, I was using Borland Delphi!).</p>
<p>As such, I though about how you would replace the desktop app with it&#8217;s web application equivalent.  You could have an executable which would run, starting an http server and launching a browser which would then communicate back and forth with the http server, using all the browser ui goodness that the current generation expect of applications.</p>
<p>All this was just a theory that I had, not having time to put it into practice.</p>
<p>Then I started doing some development using <a href="https://github.com/ajaxorg/cloud9" target="_blank">cloud9 ide</a> and <a href="http://nodejs.org" target="_blank">node.js</a> and realised that I was using an application in exactly that model.</p>
<p>The cloud9 ide is written in node.js, and starting the ide command line will start an http server, and launch the browser pointing at that http server.  From then on, the browser just acts as any other rich desktop application, but using javascript &amp; html.</p>
<p>The cloud9 ide is also implemented as a hosted, multi user, paid for service, showing that with the an application written with a server component and using the browser for the UI, the basic foundation is there for making any application multi &#8211; user and hosted.</p>
<p>It feels like I&#8217;ve seen the future of desktop apps, and it looks pretty cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=96</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day to day coding at Microsoft.</title>
		<link>http://www.chrisdoesdev.com/?p=90</link>
		<comments>http://www.chrisdoesdev.com/?p=90#comments</comments>
		<pubDate>Tue, 01 Mar 2011 12:36:45 +0000</pubDate>
		<dc:creator>chrisb</dc:creator>
				<category><![CDATA[Tools and Methods]]></category>

		<guid isPermaLink="false">http://www.chrisdoesdev.com/?p=90</guid>
		<description><![CDATA[Following on from my google vs microsoft development methodologies, this post appeared today:  http://foredecker.wordpress.com/2011/02/27/working-at-microsoft-day-to-day-coding/ It details what it&#8217;s like for a developer on the windows team.  Highlights of the post are: Own office.  Decent spec hardware.  Impressive build and source &#8230; <a href="http://www.chrisdoesdev.com/?p=90">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Following on from my google vs microsoft development methodologies, this post appeared today:  <a href="http://foredecker.wordpress.com/2011/02/27/working-at-microsoft-day-to-day-coding/">http://foredecker.wordpress.com/2011/02/27/working-at-microsoft-day-to-day-coding/</a></p>
<p>It details what it&#8217;s like for a developer on the windows team.  Highlights of the post are: Own office.  Decent spec hardware.  Impressive build and source control system.   It&#8217;s worth a read.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chrisdoesdev.com/?feed=rss2&#038;p=90</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
