<?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; javascript</title>
	<atom:link href="http://www.chnorton.com.au/tag/javascript/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>Tue, 07 Dec 2010 11:45:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Progressive Terminology, Graceful JavaScript</title>
		<link>http://www.chnorton.com.au/2008/12/03/progressive-terminology-graceful-javascript/</link>
		<comments>http://www.chnorton.com.au/2008/12/03/progressive-terminology-graceful-javascript/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 11:42:34 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[standards]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/?p=280</guid>
		<description><![CDATA[Today in the office we had another micro-debate about the usefulness of distinguishing between the terms progressive enhancement and graceful degradation. I am in the progressive enhancement camp but don&#8217;t really care all that much. I think I just like arguing. Anyway, here&#8217;s an article on the subject: Understanding Progressive Enhancement. I think it summarises [...]]]></description>
			<content:encoded><![CDATA[<p>Today in the office we had another micro-debate about the usefulness of distinguishing between the terms <em>progressive enhancement</em> and <em>graceful degradation</em>. I am in the progressive enhancement camp but don&#8217;t really care all that much. I think I just like arguing.</p>
<p>Anyway, here&#8217;s an article on the subject: <a href="http://www.alistapart.com/articles/understandingprogressiveenhancement" rel="nofollow external">Understanding Progressive Enhancement</a>. I think it summarises things pretty well. M&#038;Ms explain everything don&#8217;t they?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2008/12/03/progressive-terminology-graceful-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fontis WYSIWYG Available</title>
		<link>http://www.chnorton.com.au/2008/10/28/fontis-wysiwyg-available/</link>
		<comments>http://www.chnorton.com.au/2008/10/28/fontis-wysiwyg-available/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 08:15:05 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[fontis]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[magento]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/?p=276</guid>
		<description><![CDATA[Quick shout out to alert readers that the Fontis WYSIWYG is now available. Download it here. The extension currently provides TinyMCE and FCKeditor and will let you choose which one you&#8217;d like to use, as well as which admin pages you&#8217;d like it displayed on. There are a number of features that we intend on [...]]]></description>
			<content:encoded><![CDATA[<p>Quick shout out to alert readers that the Fontis WYSIWYG is now available. <a href="http://www.magentocommerce.com/extension/reviews/module/586/fontis-wysiwyg-editor">Download it here.</a></p>
<p><span id="more-276"></span>The extension currently provides TinyMCE and FCKeditor and will let you choose which one you&#8217;d like to use, as well as which admin pages you&#8217;d like it displayed on. There are a number of features that we intend on adding in in the future but, for now, this should provide you with the essentials.</p>
<p>I wasn&#8217;t actually involved in the creation of this extension but it&#8217;s certainly something that we&#8217;re all quite excited to have released! WYSIWYG is something that I believe Magento should already include by default, so we finally have a simple solution to the problem. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2008/10/28/fontis-wysiwyg-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Super Mario in 14kB Javascript</title>
		<link>http://www.chnorton.com.au/2008/04/10/super-mario-in-14kb-javascript/</link>
		<comments>http://www.chnorton.com.au/2008/04/10/super-mario-in-14kb-javascript/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 23:50:22 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/?p=224</guid>
		<description><![CDATA[Super Mario in 14kB Javascript. Very impressive little browser game that recreates some of the first Super Mario game.]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.nihilogic.dk/2008/04/super-mario-in-14kb-javascript.html" rel="external">Super Mario in 14kB Javascript</a>. Very impressive little browser game that recreates some of the first Super Mario game.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2008/04/10/super-mario-in-14kb-javascript/feed/</wfw:commentRss>
		<slash:comments>0</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>9</slash:comments>
		</item>
		<item>
		<title>Final Browser Updates of 2007</title>
		<link>http://www.chnorton.com.au/2007/12/25/final-browser-updates-of-2007/</link>
		<comments>http://www.chnorton.com.au/2007/12/25/final-browser-updates-of-2007/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 16:21:17 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web browser]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/12/25/final-browser-updates-of-2007/</guid>
		<description><![CDATA[Some good news from browser makers today to put a cap on a great year for browser development and innovation. First, IE8 will drop the use of hasLayout, meaning there should be a bit more consistency in renderings between browsers and less need to resort to conditional comments with IE-specific CSS. (It doesn&#8217;t help with [...]]]></description>
			<content:encoded><![CDATA[<p>Some good news from browser makers today to put a cap on a great year for browser development and innovation.</p>
<p><span id="more-200"></span>First, IE8 will <a href="http://lists.w3.org/Archives/Public/www-style/2007Dec/0151.html" rel="external nofollow">drop the use of hasLayout</a>, meaning there should be a bit more consistency in renderings between browsers and less need to resort to conditional comments with IE-specific CSS. (<a href="http://msdn2.microsoft.com/en-us/library/bb250481.aspx" rel="external nofollow">It doesn&#8217;t help with current versions however.</a>)</p>
<p>Second, WebKit now includes an implementation of <a href="http://webkit.org/blog/153/webkit-gets-native-getelementsbyclassname/" rel="external nofollow">getElementsByClassName</a>, joining Firefox 3 and the next Opera version for support for this highly desired function. Benchmarks are given which show the staggering speed increase on this common operation. You can <a href="http://ejohn.org/blog/getelementsbyclassname-speed-comparison/" rel="external nofollow">get some for Firefox 3</a> as well.</p>
<p>The WebKit guys especially seem to be keen to start pushing the limitations of current browsers so I think 2008 will be an exciting year.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/12/25/final-browser-updates-of-2007/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>eXtplorer</title>
		<link>http://www.chnorton.com.au/2007/11/05/extplorer/</link>
		<comments>http://www.chnorton.com.au/2007/11/05/extplorer/#comments</comments>
		<pubDate>Mon, 05 Nov 2007 10:08:11 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/11/05/extplorer/</guid>
		<description><![CDATA[I recently discovered eXtplorer, which is a Javascript and PHP file manager. The system looks very impressive and the feature list sounds great for allowing less technical users to manage their own websites (rather than requiring an FTP program). However, from my admittedly brief examination of the software I found that many of the things [...]]]></description>
			<content:encoded><![CDATA[<p>I recently discovered <a href="http://extplorer.sourceforge.net/" rel="external nofollow">eXtplorer</a>, which is a Javascript and PHP file manager. The system looks very impressive and the feature list sounds great for allowing less technical users to manage their own websites (rather than requiring an FTP program). However, from my admittedly brief examination of the software I found that many of the things simply didn&#8217;t work or there were enough minor issues to make using it rather annoying.</p>
<p><span id="more-172"></span>First of all, the default &#8220;file&#8221; mode is useless in practice for anything except viewing what files are in a directory. Uploading, changing permissions, renaming, etc all require that the web server user have write permissions to those files and directories which is almost always not the case. The &#8220;FTP&#8221; mode should get around these limitations but I haven&#8217;t successfully managed to get it working yet.</p>
<p>Logging in to the system exposes a completely trivial but insanely annoying bug: hitting the enter key doesn&#8217;t activate the &#8220;OK&#8221; button! Really, I can&#8217;t believe somebody managed to write a login screen and <strong>not</strong> pick that up. Another usability problem is the error screens since they give you absolutely no clue as to what went wrong, only that something did. For instance, I tried out uploading a file (which is actually a fairly nice process, if a little cluttered) but it failed telling me that, well, that it failed. It took me a few moments to realise the problem with file permissions. I must assume that no extra information is sent back to eXplorer on a failure? Even so, I think the permissions problem would be easy for the software to work out seeing as it reports file and directory permissions to the user.</p>
<p>When you log in as admin for the first time eXplorer dutifully asks you to change the admin password. Which is fine except that attempting to change the password results in yet another unknown error. I&#8217;m guessing that there&#8217;s a file somewhere that needs write permissions but I&#8217;ll be damned if I know which one. I got around this by doing a recursive chmod and setting <em>everything</em> to writable then setting it back. Something, I would like to point out, that is not possible through an FTP connection, leaving you with hours of work ahead of you if you&#8217;re using this on a remote connection with SSH access.</p>
<p>OK, so enough with the negative stuff for now, what&#8217;s good about this software? Well, most obviously, it looks really nice. This is thanks to using the <a href="http://extjs.com/" rel="external nofollow">ExtJS</a> library for the entire system, which is quite apparent (you know, aside from the name) as the default Ext style is used. The layout will be familiar to anyone who has ever used a file manager before, with a couple of caveats. Only files are displayed by default in the &#8220;view&#8221; area but this can be changed by clicking &#8220;Show Directories&#8221; which, despite its appearance, is a glorified checkbox (it&#8217;s a button with on/off states). Secondly, if you do activate show directories then double clicking on them doesn&#8217;t open them &#8211; they can only be opened in the viewer which, naturally, shows nothing. To open a directory you need to use the tree on the left. Finally, eXtplorer only ever shows 50 files in a single &#8220;page&#8221; of a directory. You need to use the pagination buttons at the bottom to see more.</p>
<p>Doing operations on files is rather easy as you can double click on them (or right click) to bring up a context menu. You can also use the buttons in the toolbar which do the same thing. I like the viewer quite a bit as it does syntax highlighting on several different types of files, such as PHP. Images can also be viewed, which is quite convenient. You can also use drag-n-drop functionality for moving or copying files, which actually appears to be the only way to achieve those operations. Perhaps one of the most useful things is the ability to do &#8220;batch&#8221; operations by selecting more than one file &#8211; chmod is particularly good as you can recurse into subdirectories, something which gFTP doesn&#8217;t yet support.</p>
<p>Another problem you can run into is that the insane amount of Javascript being used results in the system being quite slow in some cases but this is probably still better than doing the same thing via FTP. <img src='http://www.chnorton.com.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Overall, I&#8217;d say that eXplorer is a decent system but it suffers from some sharp edges that need to be fixed up before I&#8217;d consider using it more. In particular, before I allowed a client to use it.</p>
<p><a href='http://www.chnorton.com.au/wp-content/uploads/2007/11/extplorer.png' title='eXtplorer'><img src='http://www.chnorton.com.au/wp-content/uploads/2007/11/extplorer.thumbnail.png' alt='eXtplorer' /></a></p>
<p><b>Update:</b> I got FTP working and it is better than file mode. Also, to change the admin password or add users you need to make <i>config/.htusers.php</i> writable. Damn those hidden files.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/11/05/extplorer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sun Lively Kernel</title>
		<link>http://www.chnorton.com.au/2007/10/09/sun-lively-kernel/</link>
		<comments>http://www.chnorton.com.au/2007/10/09/sun-lively-kernel/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 12:58:58 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/10/09/sun-lively-kernel/</guid>
		<description><![CDATA[If you&#8217;ve ever wanted web application programming to be a little more like desktop application programming then have a look at Sun&#8217;s experimental Lively Kernel project.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever wanted web application programming to be a little more like desktop application programming then have a look at <a href="http://research.sun.com/projects/lively/index.html" rel="external nofollow">Sun&#8217;s experimental Lively Kernel project</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/10/09/sun-lively-kernel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>YUI Compressor Version 2.2.1</title>
		<link>http://www.chnorton.com.au/2007/09/26/yui-compressor-version-221/</link>
		<comments>http://www.chnorton.com.au/2007/09/26/yui-compressor-version-221/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 10:44:30 +0000</pubDate>
		<dc:creator>Chris Norton</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[minify]]></category>
		<category><![CDATA[yui compressor]]></category>

		<guid isPermaLink="false">http://www.chnorton.com.au/2007/09/26/yui-compressor-version-221/</guid>
		<description><![CDATA[YUI Compressor version 2.2.1 has been released. Go forth and minify!]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.julienlecomte.net/blog/2007/09/25/yui-compressor-version-221-now-available/" rel="external">YUI Compressor version 2.2.1 has been released</a>. Go forth and minify!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chnorton.com.au/2007/09/26/yui-compressor-version-221/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

