<?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>Simon Whatley &#187; Perl</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/perl/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simonwhatley.co.uk</link>
	<description>The opposite of every great idea is another great idea</description>
	<lastBuildDate>Wed, 02 Nov 2011 09:28:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Programmer’s Dozen &#8211; Programming Best Practices</title>
		<link>http://www.simonwhatley.co.uk/programmers-dozen-programming-best-practices</link>
		<comments>http://www.simonwhatley.co.uk/programmers-dozen-programming-best-practices#comments</comments>
		<pubDate>Tue, 03 Mar 2009 11:23:46 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[fuzzy logic]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[object orientated]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1826</guid>
		<description><![CDATA[Take control of your code with these programming best practices from Kevlin Henney. At JAOO Aarhus 2008 Kevlin used a trash can, vampires, a train wreck, whiskey and much more to make you understand and remember his 13 constructive points (a programmer’s dozen) about programming and code smells.]]></description>
			<content:encoded><![CDATA[<p>Take control of your code with these programming best practices from Kevlin Henney. At <abbr title="Java and object-oriented software engineering">JAOO</abbr> Aarhus 2008 Kevlin used a trash can, vampires, a train wreck, whiskey and much more to make you understand and remember his 13 constructive points (a programmer’s dozen) about programming and code smells.</p>
<p>The 13 points made by Kevlin were:</p>
<ul>
<li>0. Prefer code to comments.</li>
<li>1. Follow a consistent form.</li>
<li>2. Employ the contract metaphor.</li>
<li>3. Express independent ideas independently.</li>
<li>4. Encapsulate.</li>
<li>5. Parameterize from above.</li>
<li>6. Restrict mutability of state.</li>
<li>7. Favor symmetry over asymmetry.</li>
<li>8. Sharpen fuzzy logic.</li>
<li>9. Go with the flow.</li>
<li>10. Let code decide.</li>
<li>11. Omit needless code.</li>
<li>12. Unify duplicate code.</li>
</ul>
<p>You can see a <a href="http://blog.jaoo.dk/2009/01/19/programmers-dozen-programming-best-practices/" title="Programmer’s Dozen - Programming Best Practices" target="_blank" rel="nofollow">video of Kevlin&#8217;s presentation</a> on the <a href="http://jaoo.dk/" title="JAOO" target="_blank" rel="nofollow">JAOO website</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/programmers-dozen-programming-best-practices/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UK Ruby User Group on LinkedIn</title>
		<link>http://www.simonwhatley.co.uk/uk-ruby-user-group-on-linkedin</link>
		<comments>http://www.simonwhatley.co.uk/uk-ruby-user-group-on-linkedin#comments</comments>
		<pubDate>Sat, 23 Feb 2008 14:35:25 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Ada]]></category>
		<category><![CDATA[centralised network]]></category>
		<category><![CDATA[Eiffel]]></category>
		<category><![CDATA[fellow developers]]></category>
		<category><![CDATA[functional programming]]></category>
		<category><![CDATA[group]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[rapid application development]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Smalltalk]]></category>
		<category><![CDATA[start networking]]></category>
		<category><![CDATA[UK Ruby User Group]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[user group]]></category>
		<category><![CDATA[Yukihiro]]></category>
		<category><![CDATA[yukihiro matsumoto]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=343</guid>
		<description><![CDATA[Ruby is a language of careful balance. Its creator, Yukihiro â€œmatzâ€ Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.]]></description>
			<content:encoded><![CDATA[<p>Ruby is a language of careful balance. Its creator, Yukihiro â€œmatzâ€ Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.</p>
<p>With the increasing importance of <a href="http://en.wikipedia.org/wiki/Rapid_application_development" title="Rapid Application Development" target="_blank" rel="nofollow">Rapid Application Development</a> (<acronym title="Rapid Application Development">RAD</acronym>) and the popularity of the Ruby language driven by <a href="http://www.rubyonrails.org/" title="Ruby on Rails" target="_blank" rel="nofollow">Ruby on Rails</a>, this user group aims to assist developers in defining their role, provide information resources and a chance to meet fellow developers and provide a centralised network within the community.</p>
<p>To join the group and start networking, simply click on the link below:</p>
<p>UK Ruby User Group:</p>
<p><a href="http://www.linkedin.com/e/gis/31026/79705D6CDE7C" title="UK Ruby User Group" target="_blank" rel="nofollow">http://www.linkedin.com/e/gis/31026/79705D6CDE7C</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/uk-ruby-user-group-on-linkedin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coldfusion AJAX Frameworks</title>
		<link>http://www.simonwhatley.co.uk/coldfusion-ajax-frameworks</link>
		<comments>http://www.simonwhatley.co.uk/coldfusion-ajax-frameworks#comments</comments>
		<pubDate>Sat, 25 Mar 2006 21:24:04 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adaptive Path]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[AjaxCFC]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[blowfish encryption]]></category>
		<category><![CDATA[CFAJAX]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Del.icio.us]]></category>
		<category><![CDATA[document object model]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[following existing technologies]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Jesse James Garrett]]></category>
		<category><![CDATA[JSMX]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[open source tool]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Rob Gonda]]></category>
		<category><![CDATA[SAJAX]]></category>
		<category><![CDATA[Steve Smith]]></category>
		<category><![CDATA[Todd Kingham]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XSLT]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=60</guid>
		<description><![CDATA[Asynchronous JavaScript and XML. It's a whole new way of looking at the web where HTML page makes asynchronous calls to the server using JavaScript and loads the data in bits and pieces as needed. Ajax is not a new technology. Itâ€™s a new developing approach, based on the following existing technologies: XHTML, CSS, DOM, XML, XSLT and XMLHttpRequest.]]></description>
			<content:encoded><![CDATA[<h3>What is AJAX?</h3>
<p>Asynchronous JavaScript and XML. It&#8217;s a whole new way of looking at the web where HTML page makes asynchronous calls to  the server using JavaScript  and loads the data in bits and pieces as needed. Ajax is not a new technology. Itâ€™s a new developing approach, based on the following existing technologies:</p>
<ul>
<li><strong>XHTML</strong> and <strong>CSS</strong> for standard presentation,</li>
<li><strong>DOM (Document Object Model)</strong> for dynamic and interactive presentation,</li>
<li><strong>XML</strong> and <strong>XSLT</strong> for data exchange and manipulation, and</li>
<li><strong>XMLHttpRequest</strong> for asynchronous data retrieval</li>
</ul>
<p>The term &#8220;AJAX&#8221; was first muted by Jesse James Garrett of <a title="A new approach to web applications" target="_blank" href="http://www.adaptivepath.com">AdaptivePath</a> and has become synonymous with the ideas and concepts of Web 2.0. Ajax has been popularised by the likes of <a title="Google" target="_blank" href="http://www.google.com">Google</a> in their <a title="Gmail" target="_blank" href="http://mail.google.com">Gmail</a> and <a title="Google Suggest" target="_blank" href="http://www.google.com/webhp?complete=1&#038;hl=en">Google Suggest</a> applications, <a title="Flickr photo sharing" target="_blank" href="http://www.flickr.com/">Flickr</a> and <a target="_blank" title="del.icio.us social bookmarking" href="http://del.icio.us/">del.icio.us</a>, now both owned by <a title="Yahoo" target="_blank" href="http://www.yahoo.com/">Yahoo!</a>.</p>
<p>Below I have listed a few of the frameworks available to the ColdFusion community.  I will leave it up to you to decide which one is the best and easiest to implement.  Please tell me your experiences.</p>
<h3>AjaxCFC</h3>
<p>AjaxCFC, created by <a target="_blank" title="Rob Gonda" href="http://www.robgonda.com/">Rob Gonda</a>, is a ColdFusion framework meant to speed up Ajax application development and deployment by providing developers seamless integration between JavaScript and ColdFusion, and providing built-in functions, such as security and debugging, to quickly adapt to any type of environment and helping to overcome cross-browser compatibility problems.</p>
<ul>
<li>ColdFusion components following the best practices of object oriented programming and design patterns. Programming with ajaxCFC involves extending components and creating your own ajax faÃ§ades.</li>
<li>Intergration with Model-Glue, one of the most popular MVC frameworks widely used by the ColdFusion community.</li>
<li>Works with ColdFusion MX 6.0, 6,1, 7.0 and Blue Dragon.</li>
<li>Automatically handles complex object transmitted from the client to the server and vice versa.</li>
<li>Server returns pure JavaScript code to the callback handler (instead of XML or JSON) to vastly improve performance.</li>
<li>On-the-works: Built-in base64 and/or blowfish encryption.</li>
<li>Licensed under the Apache License Version 2.0, by <a target="_blank" title="Rob Gonda" href="http://www.robgonda.com">Rob Gonda</a>.</li>
</ul>
<p>The project can be downloaded from Rob Gonda&#8217;s website at the following address: <a target="_blank" title="AjaxCFC" href="http://www.robgonda.com/blog/projects/ajaxcfc/">http://www.robgonda.com/blog/projects/ajaxcfc/</a></p>
<h3>JSMX</h3>
<p>JSMX is a simple API available for connecting your Web Applications to an AJAX front end. The main difference between JSMX and other AJAX implementations is that JSMX allows you to pass either XML or JavaScript to the API. JSMX was originally created to be used with ColdFusion applications because of how easy it is to create JavaScript Strings natively within ColdFusion (using either the CFWDDX tag or the ToScript() function). However, because there is no server-side component to be installed, JSMX can really be used with any programming language.</p>
<ul>
<li>Using the CFWDDX tag, or the toScript() function, within ColdFusion makes converting your ColdFusion Objects to JavaScript a SNAP!</li>
<li>Smaller Packet Sizes over the wire (JavaScript Vs. XML).</li>
<li>Reduced latency due to less parsing of the responses.</li>
<li>Parameters can be sent to the server in multiple formats including, strings, objects, and entire forms without having to build extra logic to handle each type.</li>
<li>API has no Server Side components which makes it more portable.</li>
<li>Extremely simple syntax shortens the learning curve and speeds up development.</li>
<li>Open-source (Creative Commons Attribution-ShareAlike License).</li>
</ul>
<p>JSMX is the creation of Todd Kingham at <a title="La La Bird" target="_blank" href="http://www.lalabird.com">LaLaBird.com</a> and can be downloaded from the following link: <a title="JSMX download" target="_blank" href="http://www.lalabird.com/?fa=JSMX.downloads">http://www.lalabird.com/?fa=JSMX.downloads</a></p>
<h3>CFAjax</h3>
<p>CFAjax is the AJAX implementation for coldfusion. It makes ColdFusion method calls on server directly from HTML page using JavaScript and return backs the result to the calling HTML page. CFAjax comes with simple to use JavaScript API and simple ColdFusion implementation that marshalâ€™s the response between your ColdFusion methods and HTML page. Using CFAjax you can create highly interactive websites with greater performance and usability.</p>
<p>CFAjax can be downloaded at the following link: <a title="CFAjax download" target="_blank" href="http://www.indiankey.com/cfajax/project.asp">http://www.indiankey.com/cfajax/project.asp</a></p>
<h3>SAJAX for ColdFusion</h3>
<p>Sajax is an open source tool to make programming websites using the Ajax framework â€” also known as XMLHTTPRequest or remote scripting â€” as easy as possible. Sajax makes it easy to call PHP, Perl or Python functions from your webpages via JavaScript without performing a browser refresh. The toolkit does 99% of the work for you so you have no excuse to not use it.</p>
<p>Sajax for ColdFusion is the creation of Steve Smith at <a title="Ordered List by Steve Smith" href="http://orderedlist.com/">Ordered List</a> and can be downloaded from the following link: <a target="_blank" title="Sajax for ColdFusion download" href="http://www.orderedlist.com/downloads/SAJAX_ColdFusion.zip">http://www.orderedlist.com/downloads/SAJAX_ColdFusion.zip</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/coldfusion-ajax-frameworks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

