<?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>Jim Cassidy &#187; JavaScript</title>
	<atom:link href="http://jimcassidy.ca/category/tech/languages/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://jimcassidy.ca</link>
	<description>Programming for fun and profit since 1989</description>
	<lastBuildDate>Mon, 02 Jan 2012 18:52:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Node.js: My New Preoccupation</title>
		<link>http://jimcassidy.ca/2012/01/02/node-js-my-new-preoccupation/</link>
		<comments>http://jimcassidy.ca/2012/01/02/node-js-my-new-preoccupation/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 18:52:49 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/?p=1098</guid>
		<description><![CDATA[So, it&#8217;s is 2012! What is a new year without a new preoccupation? I have been working on a .NET based application using MVVM. All I can say is:  .NET seems like a very uncomfortable straitjacket to me. So, in my spare time, I dream of making my escape. This time, I am playing with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jimcassidy.ca/wp-content/uploads/2012/01/nodejs-light.png"><img class="alignleft size-full wp-image-1099" title="nodejs-light" src="http://jimcassidy.ca/wp-content/uploads/2012/01/nodejs-light.png" alt="" width="260" height="71" /></a>So, it&#8217;s is 2012! What is a new year without a new preoccupation?</p>
<p>I have been working on a .NET based application using MVVM. All I can say is:  .NET seems like a very uncomfortable straitjacket to me.</p>
<p>So, in my spare time, I dream of making my escape. This time, I am playing with <a title="Node" href="http://nodejs.org/" target="_blank">Node.js</a>.  I won&#8217;t say much about it right now, except to say that I am playing with the idea of developing my own little library to make node code easier to write and maintain.</p>
<p>Code readability has become a big commitment for me. I work with so much code that is virtually unmaintainable and unreadable. It offends me. I do not mean to offend or unfairly criticize anybody that I have worked with, but I have grown frustrated by the fact that programmers do not know how to write clean, beautiful and elegant code. Bad names, bad functions, and poor architecture abound.</p>
<p>I like node, but the first thing I notice is that the code can get ugly pretty fast. Today, I am playing with <a title="Tamejs" href="http://tamejs.org/" target="_blank">tamejs</a>, which makes it easier to write clean asynchronous code.  For now, I am calling my library GumMachine. More about that later.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2012/01/02/node-js-my-new-preoccupation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript is Not A Computer Language?</title>
		<link>http://jimcassidy.ca/2009/05/28/javascript-is-not-a-computer-language/</link>
		<comments>http://jimcassidy.ca/2009/05/28/javascript-is-not-a-computer-language/#comments</comments>
		<pubDate>Fri, 29 May 2009 01:37:44 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.jimcassidy.ca/?p=499</guid>
		<description><![CDATA[Several years ago, I had the pleasure of working on a contract at Canadian Forest Products. I worked with a great group of people who had worked together for years, on a good project with clear requirements. While I was there, I used the remote scripting toolkit from Microsoft, which allowed me to communicate with [...]]]></description>
			<content:encoded><![CDATA[<p>Several years ago, I had the pleasure of working on a contract at Canadian Forest Products. I worked with a great group of people who had worked together for years, on a good project with clear requirements. While I was there, I used the remote scripting toolkit from Microsoft, which allowed me to communicate with the server without reloading the web page: we now call this technique AJAX. I wrote a lot of JavaScript.</p>
<p>While I was there, Terry French, team leader of Canfor’s e-business effort,  expressed an opinion. I am paraphrasing after years have passed &#8211; if I do not get it right, I hope Terry will forgive me: &#8220;You code as if JavaScript were a programming language.  It is not. It&#8217;s a scripting language. It&#8217;s great for providing simple form interactions, and validating fields on submit. That&#8217;s it.&#8221;</p>
<p>If this blog were a trashy daytime TV talkshow, it would be one of those look-at-me-now shows. You know the kind: people who were unpopular in high school, but who have made good, confront their tormentors. Terry was a great guy to work with, but on behalf of the much maligned computer language, JavaScript, I say: look at me now!</p>
<p><a title="server side JavaScript" href="https://wiki.mozilla.org/ServerJS/Introduction" target="_blank">Server side JavaScript</a> is making a comeback.  But, wait, there&#8217;s more.  JavaScript programmers now get to deal with sophisticated concepts such as <a title="currying" href="http://www.dustindiaz.com/javascript-curry/" target="_blank">currying</a>, callbacks, <a title="closures" href="http://www.jibbering.com/faq/faq_notes/closures.html" target="_blank">closures</a>, <a title="array comprehensions" href="https://developer.mozilla.org/en/New_in_JavaScript_1.7" target="_blank">array comprehensions</a>, and <a title="TDD" href="http://www.eviltester.com/index.php/2008/06/08/test-driven-javascript-code-coverage-using-jscoverage/" target="_blank">test driven development</a> in JavaScript.</p>
<p>And then there are those lovely libraries: <a title="jquery" href="http://jquery.com/" target="_blank">JQuery</a>, <a title="mootools" href="http://mootools.net/" target="_blank">Mootools</a>, and <a title="yui" href="http://developer.yahoo.com/yui/" target="_blank">YUI</a>, just to name a few. JavaScript has come a long way. What do you think of JavaScript now, Terry.</p>
<p>If you are interested in Javascript, check out Douglas Crockford&#8217;s videos on JavaScript at <a title="crockford" href="http://video.yahoo.com/watch/111585/1027823" target="_blank">Yahoo Video</a>.</p>
<div><object width="500" height="322" data="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.40" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="AllowScriptAccess" value="always" /><param name="bgcolor" value="#000000" /><param name="flashVars" value="id=1027823&amp;vid=111585&amp;lang=en-us&amp;intl=us&amp;thumbUrl=http%3A//l.yimg.com/a/i/us/sch/cn/v/v0/w327/111585_320_240.jpeg&amp;embed=1" /><param name="src" value="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.2.40" /><param name="flashvars" value="id=1027823&amp;vid=111585&amp;lang=en-us&amp;intl=us&amp;thumbUrl=http%3A//l.yimg.com/a/i/us/sch/cn/v/v0/w327/111585_320_240.jpeg&amp;embed=1" /><param name="allowfullscreen" value="true" /></object><br />
<a href="http://video.yahoo.com/watch/111585/1027823">Douglas Crockford: &#8220;Advanced JavaScript&#8221; (1 of  3)</a> @ <a href="http://video.yahoo.com">Yahoo! Video</a></div>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2009/05/28/javascript-is-not-a-computer-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Advice For Any Developer</title>
		<link>http://jimcassidy.ca/2008/11/24/good-advice-for-any-developer/</link>
		<comments>http://jimcassidy.ca/2008/11/24/good-advice-for-any-developer/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 16:10:09 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Python/Jython]]></category>
		<category><![CDATA[Ruby/JRuby]]></category>

		<guid isPermaLink="false">http://www.jimcassidy.ca/?p=404</guid>
		<description><![CDATA[I am working to use reflection to generate a POJO from data models defined in Jython &#8211; DB4O can only persist Java ojects. However, as I sort that out and  prepare for my next DB4O/Jython/Django post, let me share this good advice for any developer who builds any sort of web application in any language. [...]]]></description>
			<content:encoded><![CDATA[<p>I am working to use reflection to generate a POJO from data models defined in Jython &#8211; DB4O can only persist Java ojects. However, as I sort that out and  prepare for my next DB4O/Jython/Django post, let me share this good advice for any developer who builds any sort of web application in any language.</p>
<p>These <a title="seven good habits" href="http://www.ibm.com/developerworks/opensource/library/os-php-secure-apps/?S_TACT=105AGY46&amp;S_CMP=PCTAB" target="_blank">seven habits</a> for developing secure applications target PHP developers, but they constitute good advice for you, even if you are working in another language. Take heed.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2008/11/24/good-advice-for-any-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AJAX Accessibiliy</title>
		<link>http://jimcassidy.ca/2008/05/07/ajax-accessibiliy/</link>
		<comments>http://jimcassidy.ca/2008/05/07/ajax-accessibiliy/#comments</comments>
		<pubDate>Wed, 07 May 2008 13:52:58 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Cranky Rants]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/?p=128</guid>
		<description><![CDATA[My clients used to pay me for what I could do on the backend. Now, they seem most impressed by what I do using JavaScript. They seem to want rich interfaces, but what does that mean in terms of accessibility? I have written that asking a developer not to use AJAX is like asking Spielberg [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p>My clients used to pay me for what I could do on the backend. Now, they seem most impressed by what I do using JavaScript. They seem to want rich interfaces, but what does that mean in terms of accessibility? I have written that asking a developer not to use AJAX is like asking Spielberg not to use a camera because some people are blind.</p>
<p>Basically, Steve King does not write novels for the blind, but someone comes along later to produce a Braille version, or to record the book. A producer of TV content does not have to think about closed captioning &#8211; somebody else does that. Why is this my problem? If I send an email, the technology supports me. Why don&#8217;t I have more support from the people who build special readers?</p>
<p>My first feeling, when I read that someone thinks <a href="http://dev.opera.com/articles/view/stop-using-ajax/" target="_blank">I should not be using AJAX</a> is that I am being limited and held back. My clients are asking me to work on applications that are not accessible as things stand, and they will not be accessible even if I avoid AJAX in the piece of work I do. Why shouldn&#8217;t I use AJAX?</p>
<p>However, now I have to think about accessibility. One day, I will be asked to work on a web application that is accessible. How do I continue to build usable, responsive apps? I cannot answer all of these questions right now, but here is part of the solution, as outlined by Simon Wilson, in a presentation of JQuery: <a href="http://simonwillison.net/static/2008/xtech/" target="_blank">Unobtrusive JavaScript with jQuery</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2008/05/07/ajax-accessibiliy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stop Using Ajax! (Not)</title>
		<link>http://jimcassidy.ca/2008/04/29/stop-using-ajax-not/</link>
		<comments>http://jimcassidy.ca/2008/04/29/stop-using-ajax-not/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 00:01:49 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Cranky Rants]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/?p=126</guid>
		<description><![CDATA[I was interested by a recent post by a writer who is not fond of Ajax. He seems to feel that we should stop using AJAX, or at least avoid it. I am trying to be sympathetic, but I would like to register the following thoughts. I do not mean to disagree so much as [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p>I was interested by a <a target="_blank" href="http://dev.opera.com/articles/view/stop-using-ajax/">recent post</a> by a writer who is not fond of Ajax. He seems to feel that we should stop using AJAX, or at least avoid it. I am trying to be sympathetic, but I would like to register the following thoughts. I do not mean to disagree so much as I mean to make some general observations.</p>
<ol>
<li>I am currently working on an application that is intended for sighted people. It uses a map component and a GIS database. This application will never be used by blind people, and I am using AJAX. I do not believe that this is a bad choice.</li>
<li>I believe that information should accessible, but an application in more than just a web page. A web application composed of web pages held together with hypertext is an unsatisfying experience.</li>
<li>Making a building entrance wheelchair accessible in no way diminishes my access to the building. However, I feel as I have to give up functionality to meet the special needs of others. Asking developers not to use AJAX is like asking Spielberg not to use a camera because some people are blind. </li>
<li>Perhaps it is time to point a finger at the people who design and build readers that cannot cope with AJAX. Why aren&#8217;t they keeping up with the web?</li>
<li>The writer of the article I reference above repeats several times that AJAX is immature. AJAX used to be called &#8220;remote scripting&#8221;. AJAX is a new name for a technology I have been using for almost 10 years. When can we call it mature?
</li>
</ol>
<p>I would be upset if I found out that my blog was inaccessible.I mean to reach an audience, and I hope to reach any interested person.</p>
<p>On the other hand, my clients rarely ask me to build completely accessible applications. I do not know how to create menus for blind people or how to build forms that deaf people can fill out, nor do I have any illusions that it is easy. I feel hampered, and unfairly faulted.</p>
<p>If there were a framework that I could use to make my application accessible in an alternative format, and my clients were willing to pay me to do the work, I would use it. However, I have become good at developing highly usable applications for sighted people &#8211; that is a lot of people! A heck of a lot!</p>
<p>Give me an alternate means to interact with people who struggle with various challenges, and I would be happy to do it, but let me use my AJAX. Please.</p>
<p>I promise to learn more, and to come up with strategies. We should all learn more. Developers are always learning &#8211; many find they cannot keep up. I will learn. But, give me time. The so-called accessible web may be accessible, but AJAX enabled pages are so much more usable. Doesn&#8217;t that matter?</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2008/04/29/stop-using-ajax-not/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aptana Has Help</title>
		<link>http://jimcassidy.ca/2007/04/16/aptana-has-help/</link>
		<comments>http://jimcassidy.ca/2007/04/16/aptana-has-help/#comments</comments>
		<pubDate>Mon, 16 Apr 2007 18:10:18 +0000</pubDate>
		<dc:creator>Jim Cassidy</dc:creator>
				<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://jimcassidy.ca/2007/04/16/aptana-has-help/</guid>
		<description><![CDATA[Eclipse is my IDE of choice. I will not argue that it is the best IDE for each of the tasks I use it for &#8211; that is not the point. I like Eclipse because it represents a one-stop-shop &#8211; I use it to edit web pages, style sheets, JavaScript, Python, PHP and Java. Eclipse [...]]]></description>
			<content:encoded><![CDATA[<div style="float: left; margin-right: 4px"><!--adsense--></div>
<p><a title="Eclipse" href="http://www.eclipse.org/" target="_blank">Eclipse</a> is my IDE of choice. I will not argue that it is the best IDE for each of the tasks I use it for &#8211; that is not the point. I like Eclipse because it represents a one-stop-shop &#8211; I use it to edit web pages, style sheets, JavaScript, Python, PHP and Java. Eclipse also gives me access to my code repository using Subversion.</p>
<p>Lately, I have also been using <a title="aptana" href="http://www.aptana.com" target="_blank">Aptana</a>, an Eclipse plug-in that helps me create JavaScript. It also makes some of the latest Web 2.0 cool effects available to me by helping me integrate various JavaScript libraries with my code.</p>
<p>Today, I discovered that the Aptana site provides some <a title="help" href="http://docs.aptana.com/docs/index.php/Main_Page" target="_blank">high quality help</a> for web developers. I do not specialize in front-end development; therrefore, I find this page very useful. I am currently promoting the use of AJAX at a client site &#8211; these resources will be very useful. So will Aptana. Give it a try.</p>
]]></content:encoded>
			<wfw:commentRss>http://jimcassidy.ca/2007/04/16/aptana-has-help/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

