<?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 Norton &#187; development</title>
	<atom:link href="http://www.chnorton.com.au/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chnorton.com.au</link>
	<description>A blog about software engineering, web development, education and my otaku interests.</description>
	<lastBuildDate>Wed, 16 Dec 2009 13:51:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Bazaar Love</title>
		<link>http://www.chnorton.com.au/2008/04/29/bazaar-love/</link>
		<comments>http://www.chnorton.com.au/2008/04/29/bazaar-love/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 04:58:52 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/?p=226</guid>
		<description><![CDATA[Bazaar doesn't store metadata under every directory which makes my life so much easier!]]></description>
			<content:encoded><![CDATA[<p>The last few months I have been keen to move my existing version control activities over to <a href="http://bazaar-vcs.org/" rel="external">Bazaar</a>, away from <a href="http://subversion.tigris.org/" rel="external">Subversion</a>. Today that desire was rather firmly set in stone when I discovered that Bazaar doesn&#8217;t create a <i class="file">.bzr</i> directory under every subdirectory in the tree like Subversion does with its <i class="file">.svn</i> directories. This makes things so much easier to work with when you have to, say, upgrade your version of Wordpress and you need to use FTP to transfer the files. Clearly you don&#8217;t want to transfer your <abbr title="Version Control Software">VCS</abbr> data as well so previously I had resorted to creating a sync script that disregarded the unwanted directories. So, thank you Bazaar for making my life that little bit easier!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2008/04/29/bazaar-love/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento 1.0 en_AU Translation</title>
		<link>http://www.chnorton.com.au/2008/04/03/magento-10-en_au-translation/</link>
		<comments>http://www.chnorton.com.au/2008/04/03/magento-10-en_au-translation/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 23:29:01 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[australia]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[magento]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/?p=222</guid>
		<description><![CDATA[I am having some issues with the Magento translation tool &#8211; mostly that it doesn&#8217;t allow for version 1.0 translations &#8211; so I am posting this unofficial translation here. It&#8217;s fairly complete spelling-wise and is only lacking a look over for grammatical changes and places where entirely different words are used, rather than just a [...]]]></description>
			<content:encoded><![CDATA[<p>I am having some issues with the Magento translation tool &#8211; mostly that it doesn&#8217;t allow for version 1.0 translations &#8211; so I am posting this unofficial translation here. It&#8217;s fairly complete spelling-wise and is only lacking a look over for grammatical changes and places where entirely different words are used, rather than just a spelling change. An example that springs to mind is &#8220;State/Province&#8221; possibly being changed to &#8220;State/Territory&#8221;.</p>
<p><span id="more-222"></span>Download: <a href='http://www.chnorton.com.au/wp-content/uploads/2008/04/en_au_10.zip'>en_AU_10</a></p>
<p>It should install like any other translation. Hopefully I can get this uploaded to the official list soon enough.</p>
<p>One interesting thing that came up while doing the translation was how powerful the shell (bash) was for assisting me in finding places to correct words. I ended up using the following code to find misspellings in all the <abbr title="Comma Separated Value">CSV</abbr> files:</p>
<p><code>cat *.csv | cut -d ',' -f 2 | aspell -l en_AU list | sort | uniq</code></p>
<p>Basically it will output all the text in the files into a single stream which gets piped into cut to extract the second column (the text that needs to be translated) which is then sent to <a href="http://aspell.net/" rel="external">aspell</a> for spell checking. The output from aspell is then sorted and duplicate words removed. You therefore end up with a nice list of the words that are wrong &#8211; or at least that aspell thinks are wrong &#8211; which you can put into grep to find exact lines locations:</p>
<p><code>grep -in word *.csv</code></p>
<p>This will find all the occurrences of &#8220;word&#8221; in all of the CSV files and print output which tells you the file where it was found and the line numbers. For example:</p>
<p><code>Mage_FileName.csv:25:"This is a line where word appears."</code></p>
<p>Since some of the lines can get quite long, which are then wrapped, and can make it harder to read, I like to cut off the output of the line itself:</p>
<p><code>grep -in word *.csv | cut -d ':' -f 1,2</code></p>
<p>The only problem with using aspell is that it doesn&#8217;t actually have a dictionary for Australian English! Thus I had to use grep (in a similar method to above) to hunt down words that needed changing. The ones I found are: catalog, color, honor, initialise, authorise (etc), initialization (etc), canceled, and check (=> cheque). The good thing about using aspell is that it does pick up words that are simply misspelt &#8211; so the Australian translation is currently more correct than the US English version! Running the same commands over the en_US version will pick up a few spelling mistakes that can be corrected.</p>
<p>I hope this could help someone in doing their own translation &#8211; I&#8217;m often amazed at how much effort is discarded by a few simple shell commands.</p>
<p>Finally, please let me know if you find any problems with the translation I have created. I&#8217;m interested in feedback on any grammatical issues and whether we should have things like Province => Territory.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2008/04/03/magento-10-en_au-translation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ah Bugs&#8230;</title>
		<link>http://www.chnorton.com.au/2008/03/26/ah-bugs/</link>
		<comments>http://www.chnorton.com.au/2008/03/26/ah-bugs/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 00:03:30 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[magento]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2008/03/26/ah-bugs/</guid>
		<description><![CDATA[I discovered a few flaws in my Magento Australia module, all of which were due to my own silliness. It&#8217;s funny how bugs tend to pop up in the simplest of places due to the developer missing them while he concentrates on the more advanced stuff.
The first, which was pointed out by Ajazza on the [...]]]></description>
			<content:encoded><![CDATA[<p>I discovered a few flaws in my Magento Australia module, all of which were due to my own silliness. It&#8217;s funny how bugs tend to pop up in the simplest of places due to the developer missing them while he concentrates on the more advanced stuff.</p>
<p><span id="more-218"></span>The first, which was pointed out by <a href="http://www.magentocommerce.com/boards/member/387" rel="external nofollow">Ajazza</a> on the initial post I made for the module, concerned Australia Post shipping to New Zealand. Apparently Australia Post does not offer sea shipping to NZ because the price was coming up as $0.00! I have now corrected this so that it checks if a price will be zero and, if so, does not display that price.</p>
<p>The second two were just things I&#8217;d forgotten to do before releasing the module: adding the final BPAY display code to the &#8220;info&#8221; block as well as the &#8220;form&#8221; block (so it shows up in the customer&#8217;s account area) and changing the BPAY logo URL to be more generic rather than specific to people running Magento on their localhost! Both changes have exposed other things I need to figure out: how do I get the full BPAY info to display in the customer&#8217;s order info but not in the admin area? Currently it&#8217;s just throwing up errors. And what&#8217;s the best way of providing an image as part of a module? I&#8217;d also like to know if the template changes could be stored in a directory under the main module code, rather than requiring the admin to install this separately.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2008/03/26/ah-bugs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adventures with ExtJS and jQuery</title>
		<link>http://www.chnorton.com.au/2008/01/31/adventures-with-extjs-and-jquery/</link>
		<comments>http://www.chnorton.com.au/2008/01/31/adventures-with-extjs-and-jquery/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 06:52:06 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2008/01/31/adventures-with-extjs-and-jquery/</guid>
		<description><![CDATA[I have recently been doing quite a bit of development with both ExtJS and jQuery and I thought I would share my experiences with both of them. One thing to keep in mind is that I&#8217;m not going to say whether one is really good or bad &#8211; they&#8217;re both excellent libraries and your choice [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently been doing quite a bit of development with both ExtJS and jQuery and I thought I would share my experiences with both of them. One thing to keep in mind is that I&#8217;m not going to say whether one is really good or bad &#8211; they&#8217;re both excellent libraries and your choice for any given project might simply come down to personal preference. That said, the rest of this will be my opinion on the two.</p>
<p><span id="more-205"></span>First of all, Ext really is just freaking <em>massive</em>. Although jQuery isn&#8217;t exactly minuscule it&#8217;s still a hell of a lot smaller than Ext. Loading my Ext application, even on a local connection, takes quite a while and freezes the browser while all that code is processed. Admittedly this is more to do with my browser being slow as a dog than with any inherent flaw in Ext. Still, if you want to have a lightweight site Ext is pretty much immediately out of the running.</p>
<p>One thing that I initially loved about Ext, that I am now starting to loath, is that it tries to be too much like Java or some other desktop programming language/library. Basically you can (and probably should) build the entire interface through JavaScript calls rather than use HTML and CSS. The problem with this is that, at the end of the day, it&#8217;s <strong>not</strong> Java and Ext just ends up doing fancy <abbr title="Document Object Model">DOM</abbr> manipulations anyway (for the layouts anyway) so all it&#8217;s really doing is obfuscating what&#8217;s going on and making sure you are forced to rely on the Ext interfaces rather than DOM manipulation or CSS or the like. Now, 98% of the time this won&#8217;t be an issue for you but I&#8217;ve run into a few cases where it&#8217;s tripped me up because I can&#8217;t work out how to get around all the Ext-ness.</p>
<p>In comparison jQuery provides almost nothing but DOM manipulation helpers, which is really useful if you already know what to do but if you want to build a layout like Ext does then you&#8217;re going to be messing around with HTML and CSS quite a bit. That said, it really isn&#8217;t that difficult to get the basics up and running but emulating something like SplitPane would be painful &#8230; unless you find an appropriate plugin. So, for what it does, jQuery is stunningly good. It makes enhancing web sites trivial and removes a lot of the sharp edges from JavaScript without attempting to fundamentally change how you use it.</p>
<p>As an example of how the two differ, here&#8217;s some code to run logic when a user clicks on a link and to disable the normal execution of that link.</p>
<p><b>For Ext:</b><br />
<code>
<pre>
Ext.select('#links a').on('click', function(event) {
    alert("You clicked: " + Ext.get(event.target).dom.innerHTML);
  },
  this,
  {stopEvent: true}
);
</pre>
<p></code></p>
<p><b>For jQuery:</b><br />
<code>
<pre>
$('#links a').click(function(event) {
  alert("You clicked: " + $(this).html());
  return false;
});
</pre>
<p></code></p>
<p>As you can see, the jQuery code is a bit shorter and easier to understand. To disable the normal browser action of following the link, Ext has a special option on the event handler whereas in jQuery you simply return false from your click function. This might seem counter-intuitive if you don&#8217;t know JavaScript so if you don&#8217;t, compare the above to how you&#8217;d do this without the libraries:</p>
<p><code>
<pre>
&lt;a href="/foo/bar/"
  onclick="alert('You clicked: ' + this.innerHTML); return false;"&gt;
Click here
&lt;/a&gt;
</pre>
<p></code></p>
<p>You can see that returning false is what you normally do anyway so, instead of encapsulating this, jQuery basically just lets you use the normal way of doing things. Ext, on the other hand, makes things more programmatic and Java-esque by having an extra configuration option to the event handler.</p>
<p>I am still developing web applications with both of them so I can tell you that both libraries are suitable for <abbr title="Rich Internet Application">RIA</abbr> development, it&#8217;s mostly just a question of whether you prefer developing apps entirely in JavaScript or using JavaScript for logic and a little layout, as well as whether or not you need all the advanced features Ext comes with. I think that I would normally pick jQuery because I prefer the simplicity of it and like more control when writing an application. Hopefully this little post has given you an idea of what the two libraries are like and encourage you to try them both out. I&#8217;d like to hear the experiences of others working with these libraries, as well as others like Prototype and Mootools, which I am also interested in.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2008/01/31/adventures-with-extjs-and-jquery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Subversion Fun</title>
		<link>http://www.chnorton.com.au/2008/01/24/subversion-fun/</link>
		<comments>http://www.chnorton.com.au/2008/01/24/subversion-fun/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 11:19:22 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[fontis]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2008/01/24/subversion-fun/</guid>
		<description><![CDATA[In my new position at Fontis, I have been tasked with continuing development on a somewhat larger project for an external client. It doesn&#8217;t sound like anything too dramatic &#8211; web site written in PHP, using the CakePHP framework, and driven by a database. I just didn&#8217;t factor in Murphy&#8217;s Law. 
The first order of [...]]]></description>
			<content:encoded><![CDATA[<p>In my new position at Fontis, I have been tasked with continuing development on a somewhat larger project for an external client. It doesn&#8217;t sound like anything too dramatic &#8211; web site written in PHP, using the CakePHP framework, and driven by a database. I just didn&#8217;t factor in Murphy&#8217;s Law. </p>
<p><span id="more-204"></span>The first order of business has been to upgrade the version of Cake that&#8217;s currently being used, 1.2 alpha, to the new 1.2 beta version. I figured this would be simple since the existing code was being kept in a Subversion repository that we had access to and we had a copy of the latest working version. Unfortunately the code had not been checked in for quite a while, and contained updated code, so I would have to do a &#8220;first&#8221; commit &#8230; and this is where the first problem popped up. It turns out that the repository has since been moved to a new server, because of the project change over, so I had to switch the existing working copy over to the new URL. Anyone attempting this themselves: it turns out a Subversion working copy doesn&#8217;t like it when you switch targets with some unversioned files inside it. For the first time ever I discovered a ~ next to the status of several directories &#8211; this apparently means something is &#8220;blocking&#8221; this file.</p>
<p>This is where I ran into the second problem, which is actually rather amusing. Trying to fix one of these directories resulted in some circles: first I would be told that they couldn&#8217;t be checked in because the file <i>.svn/entries</i> could not be found. Hardly surprising since it didn&#8217;t exist. Trying to create it by <code>svn add</code>ing the directory, I got told that I couldn&#8217;t add the directory because it was already under version control. Going back to step 1 and repeat! My attempts to fix the problem only exacerbated the problem by moving it further up the directory tree.</p>
<p>Thus I found myself using a rather &#8220;brute force&#8221; approach to fix it: checking out another copy and copying the original working copy&#8217;s files over the top of this new one. Thankfully, this eventually worked.</p>
<p>The moral of the story?</p>
<ol>
<li>Don&#8217;t switch over a working copy when it has unversioned files in it.</li>
<li>Commit your work regularly &#8211; something I&#8217;m sure most developers forget!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2008/01/24/subversion-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CouchDB</title>
		<link>http://www.chnorton.com.au/2007/12/22/couchdb/</link>
		<comments>http://www.chnorton.com.au/2007/12/22/couchdb/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 12:27:16 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/12/22/couchdb/</guid>
		<description><![CDATA[CouchDB is a (relatively) new database option for development that focuses on documents, rather than generic relational systems like most databases do. I think the concept is appealing and support for things like automatic versioning and distributed processing and storage could mean a lot fewer headaches that trying to get a custom system going yourself. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://couchdb.org/" rel="external">CouchDB</a> is a (relatively) new database option for development that focuses on documents, rather than generic relational systems like most databases do. I think the concept is appealing and support for things like automatic versioning and distributed processing and storage could mean a lot fewer headaches that trying to get a custom system going yourself. Also interesting is the JSON storage format, which would make this ideal to use in many asynchronous web applications as the data returned can be used straight away on the browser.</p>
<p>I haven&#8217;t had any cause to use this system yet but I&#8217;ll be sure to write a review when I do. Anyone else taken this for a spin?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/12/22/couchdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First impressions of ExtJS</title>
		<link>http://www.chnorton.com.au/2007/12/20/first-impressions-of-extjs/</link>
		<comments>http://www.chnorton.com.au/2007/12/20/first-impressions-of-extjs/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 08:41:34 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/12/20/first-impressions-of-extjs/</guid>
		<description><![CDATA[I&#8217;ve recently been developing a web-based application (a RIA one might say) and, after initially trying to get it working right in jQuery, I decided to have a go at using ExtJS, a JavaScript library I&#8217;ve been meaning to try for a while. Basically, it is a JavaScript library that includes a ton of things [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently been developing a web-based application (a <abbr title="rich internet application">RIA</abbr> one might say) and, after initially trying to get it working right in <a href="http://jquery.com/" rel="external nofollow">jQuery</a>, I decided to have a go at using <a href="http://extjs.com/">ExtJS</a>, a JavaScript library I&#8217;ve been meaning to try for a while. Basically, it is a JavaScript library that includes a ton of things for building web application other libraries don&#8217;t &#8211; not surprising considering it started life as an add-on to <a href="http://developer.yahoo.com/yui/" rel="external nofollow">YUI</a>. Here is my initial impressions of it, most of which are direct comparisons to jQuery.</p>
<p><span id="more-197"></span>First of all, getting Ext running is slightly more complicated than getting jQuery running. jQuery is a simple matter of including jquery.js in your HTML and then writing your script. Ext requires first it&#8217;s own <abbr title="cascading style sheets">CSS</abbr> file, then an adapter which uses another library (jQuery, YUI or Prototype) but can also use the newish ext-base.js which doesn&#8217;t depend on external libraries, and finally you include ext.js itself. I went with the pure Ext solution but tried out the jQuery adapter and found it didn&#8217;t work for me &#8211; I&#8217;m sure I was doing something wrong but didn&#8217;t care enough to fix it and went back to Ext.</p>
<p>Secondly, Ext is rather huge. Not surprising considering what it can do but the whole thing (ext.js, ext-base.js and stylesheet) still comes in uncompressed at just over 512KB. Sorry, I should mention that that&#8217;s <em>with</em> Ext&#8217;s default minification &#8211; the debug versions are a bit over 1MB! In comparison, jQuery is roughly 70KB before any minification is applied. So what do you get for all this size? Quite a bit actually.</p>
<p>The customer info area of my application is designed with a list of customers on the left and an area for details on the right. With pure HTML and CSS a nice-looking layout here, similar to a desktop app, is really difficult to achieve. With Ext it&#8217;s almost trivial and you can use a logical declarative style of recursive JavaScript objects to define the layout &#8211; similar to how it would be done in Java Swing, for example. With Ext you can also easily get &#8220;bonus&#8221; features like resizable panes, content areas that adjust to the size of the viewport and a default style that looks pretty damned good (and you have to option of using different themes). Without any trouble I was able to get a simple list working which allows clicking on customer names to load their details asynchronously in the details panel, as well as allowing dynamic updates and the like. </p>
<p>The standard things that I use with jQuery &#8211; selectors and <abbr title="Asynchronous Javascript And XML">AJAX</abbr> support &#8211; are also well supported in Ext, even if they are slightly more verbose. Ext also includes a nifty feature in it&#8217;s simplistic load() method that allows you to set a loading message, something that I believe you have ot do manually in jQuery.</p>
<p>Ext also supports a wide range of widgets and the like out of the box. Data grids are all the rage now and Ext makes it simple to get them up and running. Tree views, buttons, colour pickers, date selectors and a bunch of others are provided as well. If there&#8217;s something missing you might be able to find a plugin for it.</p>
<p>Overall, I&#8217;m really enjoying working with Ext. It makes some fundamental yet complex things ridiculously easy and provides enough of a framework to get almost anything working with a bit of lateral thinking and liberal application of nested layouts and the like.</p>
<p>So I guess the obvious question now is if I prefer Ext or jQuery? Honestly, the two are just aimed at completely different areas. If you&#8217;re making a web site that needs some fancy JavaScript effects, a bit of AJAX and you want it to be light and accessible, then I&#8217;d say jQuery is the way to go. If you want a RIA with lots of advanced functionality and don&#8217;t care about those plebs who don&#8217;t have JavaScript then I&#8217;d say Ext is definitely the preferred option. If I had to pick I&#8217;d say I like jQuery a bit more since I prefer writing enhanced web sites rather than desktop application wannabes but this is really just a personal choice. Both libraries offer the same basic functionality and jQuery can certainly be extended to do pretty much what Ext does so choosing either will probably let you do what you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/12/20/first-impressions-of-extjs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Auran closing down?</title>
		<link>http://www.chnorton.com.au/2007/12/14/auran-closing-down/</link>
		<comments>http://www.chnorton.com.au/2007/12/14/auran-closing-down/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 05:09:38 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/12/14/auran-closing-down/</guid>
		<description><![CDATA[Seems like Auran is in a bit of trouble. The developer of the new MMO Fury, as well as classic RTS Dark Reign, is in a bit of financial difficulty and look to be pinning their hopes on changes to Fury (new content and payment model) to get them out of it. Hopefully they do [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.gamasutra.com/php-bin/news_index.php?story=16623" rel="external nofollow">Seems like Auran is in a bit of trouble</a>. The developer of the new <abbr title="Massively Multiplayer Online game">MMO</abbr> <a href="http://www.unleashthefury.com/">Fury</a>, as well as classic <abbr title="Real-Time Strategy game">RTS</abbr> <a href="http://www.auran.com/games/darkreign/default.htm">Dark Reign</a>, is in a bit of financial difficulty and look to be pinning their hopes on changes to Fury (new content and payment model) to get them out of it. Hopefully they do recover &#8211; the Australian games industry just keeps running into obstacles and a prominent developer shutting down cannot be a good thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/12/14/auran-closing-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rediscovering Eclipse</title>
		<link>http://www.chnorton.com.au/2007/12/06/rediscovering-eclipse/</link>
		<comments>http://www.chnorton.com.au/2007/12/06/rediscovering-eclipse/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 14:01:07 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/12/06/rediscovering-eclipse/</guid>
		<description><![CDATA[Recently I&#8217;ve been doing some work on a desktop Java application and I decided to use Eclipse and my IDE. I hadn&#8217;t used it for a while (since I did my 4th year engineering project &#8211; almost 3 years ago now) and I&#8217;m loving all the features and how easy it makes some things. 
The [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been doing some work on a desktop Java application and I decided to use <a href="http://www.eclipse.org/">Eclipse</a> and my <abbr title="Integrated Development Environment">IDE</abbr>. I hadn&#8217;t used it for a while (since I did my 4th year engineering project &#8211; almost 3 years ago now) and I&#8217;m loving all the features and how easy it makes some things. </p>
<p><span id="more-187"></span>The stuff in the &#8220;Source&#8221; and &#8220;Refactoring&#8221; menus especially are a real time saver: being able to automatically create getters and setters, constructors, extract methods, rename methods and variables and a bunch of similar operations are made trivial rather than tedious. The ease with which you can create and run unit tests has also meant that I&#8217;m actually keen to create unit tests for all my code &#8211; Eclipse will create all the relevant classes and test methods for a given class for you.</p>
<p>Some of the available plugins are really good too. I&#8217;m using <a href="http://www.eclemma.org/">EclEmma</a> to perform code coverage analysis and direct my test writing. I haven&#8217;t set up any source control for my project yet but I hope to use <a href="http://subclipse.tigris.org/">Subclipse</a> to connect to a local Subversion repository automatically. I also installed the C/C++ Development Tools (CDT) package but haven&#8217;t attempted any C++ development.</p>
<p>While in the past I thought the layout of the IDE &#8220;workbench&#8221; was far too cluttered, I have since changed my mind. On a 22&#8243; monitor there&#8217;s plenty of room for everything and being able to access everything easily saves quite a bit of time. At the same time I can have information views for the package explorer (displaying all the classes in the project), coverage reports, an outline of the current class and a test report. I&#8217;m also amazed at how customisable the whole thing is: views can be moved around basically at will.</p>
<p>I&#8217;ve only been using the IDE for a week or so but I find it really helpful for Java development. I would also like to try out NetBeans to see how good it is &#8211; version 6.0 was just released.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/12/06/rediscovering-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android SDK</title>
		<link>http://www.chnorton.com.au/2007/11/16/android-sdk/</link>
		<comments>http://www.chnorton.com.au/2007/11/16/android-sdk/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 11:24:42 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/11/16/android-sdk/</guid>
		<description><![CDATA[In case you&#8217;ve been living under a rock &#8211; or simply don&#8217;t care about mobile development &#8211; Google recently released a public preview of Android, a new platform for mobile devices built on top of a Linux kernel. You may have heard of it before as it turns out that Android is the thing everyone [...]]]></description>
			<content:encoded><![CDATA[<p>In case you&#8217;ve been living under a rock &#8211; or simply don&#8217;t care about mobile development &#8211; Google recently released a public preview of <a href="http://code.google.com/android/" rel="external nofollow">Android</a>, a new platform for mobile devices built on top of a Linux kernel. You may have heard of it before as it turns out that Android is the thing everyone assumed to be the Google &#8220;gPhone&#8221;. Well, they&#8217;re not releasing a phone but with a ton of device makers on board to use Android (sounds like everyone <em>except</em> Apple, surprise, surprise) I don&#8217;t think anyone is going to mind.</p>
<p><span id="more-178"></span>One of the more interesting things is that applications are developed in Java with the Android <abbr title="Software Development Kit">SDK</abbr> and use Android <abbr title="Application Programming Interface">API</abbr> calls to access device functions such as Bluetooth, cameras, touch screen, etc. Apparently you can use C as well but it&#8217;s far more complicated to get everything going so it&#8217;s probably not worth your time. I do wonder if other programming languages could be supported via the JVM used. For example, would Jython work?</p>
<p>The documentation for the SDK &#8220;preview&#8221; is rather extensive for a product that hasn&#8217;t been released yet. It takes you through the basics of creating an application, testing apps and explains what the various parts of the SDK are for. From my brief look through everything it appears as though writing applications for Android is pretty damn simple (assuming you know how to program Java).</p>
<p>It&#8217;ll be interesting to see where this goes. Despite having been out only a short time, the platform is generating a lot of buzz and with so much major backing here&#8217;s hoping it can start a revolution in the mobile world so that mobile application development can be made a whole lot easier.</p>
<p><b>Update:</b> you might also like to check out <a href="http://www.linuxdevices.com/articles/AT9900056470.html" rel="external nofollow">this article on Linux Devices</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/11/16/android-sdk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
