<?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; London</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/london/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>Launching Yourself as a Freelancer &#8211; Networking</title>
		<link>http://www.simonwhatley.co.uk/launching-yourself-as-a-freelancer-networking</link>
		<comments>http://www.simonwhatley.co.uk/launching-yourself-as-a-freelancer-networking#comments</comments>
		<pubDate>Fri, 08 Aug 2008 11:43:26 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[associations]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Bebo]]></category>
		<category><![CDATA[Belgium]]></category>
		<category><![CDATA[Birmingham]]></category>
		<category><![CDATA[brightkite]]></category>
		<category><![CDATA[Brighton]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[colleagues]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[contacts]]></category>
		<category><![CDATA[contractor]]></category>
		<category><![CDATA[course networking]]></category>
		<category><![CDATA[Edinburgh]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Flex London User Group]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[freelancer]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[FriendFeed]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[GAWDS]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[local user groups]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[London Flash Platform User Group]]></category>
		<category><![CDATA[London Geeks]]></category>
		<category><![CDATA[meebo]]></category>
		<category><![CDATA[MySpace]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[New Zealand]]></category>
		<category><![CDATA[Online Relationships]]></category>
		<category><![CDATA[plurk]]></category>
		<category><![CDATA[programmermeetdesigner]]></category>
		<category><![CDATA[pub]]></category>
		<category><![CDATA[socialthing]]></category>
		<category><![CDATA[temporary]]></category>
		<category><![CDATA[tumblr]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[United States]]></category>
		<category><![CDATA[user groups]]></category>
		<category><![CDATA[Web Standards Group]]></category>
		<category><![CDATA[Web Standards Meetup]]></category>
		<category><![CDATA[WSP]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=754</guid>
		<description><![CDATA[In the first two parts of this series, I talked about setting up in business as a freelancer and publicising yourself via branding and blogging.]]></description>
			<content:encoded><![CDATA[<p>In the first two parts of this series, I talked about <a href="/launching-yourself-as-a-freelancer" title="Launching Yourself as a Freelancer">setting up in business</a> as a freelancer and <a href="/launching-yourself-as-a-freelancer-publicity" title="Launching Yourself as a Freelancer - Publicity">publicising yourself</a> via branding and blogging.</p>
<p>Creating a brand and blogging are two important steps to getting yourself known, but are of little use if you do not actively build relationships through networking.</p>
<p>A good friend of mine, <a href="http://www.anucreative.com" title="Rob Douglas" target="_blank" rel="nofollow">Rob</a>, has some great advice: <q>Get to the pub. When a project comes up and someone wants a Flex developer, you want to be front-of-mind</q>.</p>
<p>Of course networking is more than simply going to the pub, it&#8217;s talking to friends and colleagues online, it&#8217;s attending conferences and groups. In essence it&#8217;s about &#8216;getting out there&#8217;.</p>
<h3>Build Online Relationships</h3>
<p>Many of my contacts are not from the London area, but include locations such as Brighton, Edinburgh and Birmingham. Added to this, I have international contacts in countries such as Australia, Belgium, New Zealand and the United States.</p>
<p>Clearly it isn&#8217;t easy to call up these people and say &#8216;do you want to go to the pub&#8217;. Therefore, building online relationships is a must. There are a whole host of services that essentially let people understand me as a person, not just a work colleague.</p>
<p>I use, to varying degrees, services such as <a href="http://friendfeed.com" title="FriendFeed" target="_blank" rel="nofollow">FriendFeed</a>, <a href="http://socialthing.com" title="SocialThing" target="_blank" rel="nofollow">SocialThing</a>, <a href="http://brightkite.com" title="BrightKite" target="_blank" rel="nofollow">BrightKite</a>, <a href="http://www.jaiku.com" title="Jaiku" target="_blank" rel="nofollow">Jaiku</a>, <a href="http://www.meebo.com" title="Meebo" target="_blank" rel="nofollow">Meebo</a>, <a href="http://www.bebo.com" title="Bebo" target="_blank" rel="nofollow">Bebo</a>, <a href="http://www.myspace.com" title="MySpace" target="_blank" rel="nofollow">MySpace</a>, <a href="http://www.linkedin.com" title="LinkedIn" target="_blank" rel="nofollow">LinkedIn</a>, <a href="http://www.facebook.com" title="Facebook" target="_blank" rel="nofollow">Facebook</a>, <a href="http://www.librarything.com" title="LibraryThing" target="_blank" rel="nofollow">LibraryThing</a>, <a href="http://corkd.com" title="Cork'd" target="_blank" rel="nofollow">Cork&#8217;d</a> and <a href="http://www.dopplr.com" title="Dopplr" target="_blank" rel="nofollow">Dopplr</a>. Indeed, you can find links to my most-used services in the footer of my site.</p>
<p>Take a look at the links in the footer and get to know me. You may notice that all the services are registered under my brand name. Again, this allows people to draw association with the profile they are looking at and me. It also means that if you want to follow me on one or many services, it won&#8217;t be hard to find me.</p>
<h3>Attend Local Meetings and User Groups</h3>
<p>Attending local &#8216;geek&#8217; meets is a great way to meet like-minded people, exchange thoughts and quite possibly find work. These meetings can be found on the Yahoo! service <a href="http://upcoming.yahoo.com" title="Upcoming" target="_blank" rel="nofollow">Upcoming.org</a> and on <a href="http://www.meetup.com" title="Meetup" target="_blank" rel="nofollow">Meetup.com</a>.</p>
<p>On the odd occassion, I may be found at meetings such as the <a href="http://webstandards.meetup.com/130/" title="Web Standards Meetup" target="_blank" rel="nofollow">Web Standards Meetup</a>, the <a href="http://www.ukcfug.org" title="ColdFusion User Group" target="_blank" rel="nofollow">ColdFusion User Group</a>, <a href="http://londongeeks.net" title="London Geeks" target="_blank" rel="nofollow">London Geeks</a>, the<a href="http://www.lfpug.com" title="London Flash Platform User Group" target="_blank" rel="nofollow"> London Flash Platform User Group</a>, the <a href="http://ria.meetup.com/7/" title="Flex London User Group" target="_blank" rel="nofollow">Flex London User Group</a> etc. (I do have a life outside my work, honestly!)</p>
<h3>Attend Conferences Related to Your Industry</h3>
<p>Conferences are really an extension of local user groups and meetings, but they allow you to network with a wider, often international, audience. It is quite possible to spend a few days a month attending conferences, so chosing ones relevant to you are key.</p>
<p>In the past I have attended, <a href="http://max.adobe.com" title="Adobe MAX" target="_blank" rel="nofollow">Adobe MAX</a>, <a href="http://www.scotch-on-the-rocks.co.uk" title="Scotch on the Rocks" target="_blank" rel="nofollow">Scotch-on-the-Rocks</a> and <a href="http://cfdevcon.com" title="CFDevcon" target="_blank" rel="nofollow">CFDevCon</a>, but there are a tranche of other conferences that could be equally relevant such as <a href="http://europe.cfunited.com" title="CFUnited Europe" target="_blank" rel="nofollow">CFUnited Europe</a>, <a href="http://www.360flex.com" title="360 Flex" target="_blank" rel="nofollow">360Flex</a> and <a href="http://www.flashonthebeach.com" title="Flash on the Beach" target="_blank" rel="nofollow">Flash on the Beach</a>.</p>
<p>Conferences provide a varying degree of networking and job opportunities, but if anything they provide a great sneak-peek into what other people are working on and in what direction the industry is heading.</p>
<h3>What&#8217;s Next</h3>
<p>In the final part of this series I will introduce methods by which you can advertise your business.</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/launching-yourself-as-a-freelancer-networking/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion Is Hotting Up in the UK</title>
		<link>http://www.simonwhatley.co.uk/coldfusion-is-hotting-up-in-the-uk</link>
		<comments>http://www.simonwhatley.co.uk/coldfusion-is-hotting-up-in-the-uk#comments</comments>
		<pubDate>Fri, 27 Jun 2008 11:56:10 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe ColdFusion]]></category>
		<category><![CDATA[Adobe MAX]]></category>
		<category><![CDATA[Aral Balkan]]></category>
		<category><![CDATA[BlueDragon]]></category>
		<category><![CDATA[Brighton]]></category>
		<category><![CDATA[cf.Objective]]></category>
		<category><![CDATA[CFUnited]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Coldspring]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Edinburgh]]></category>
		<category><![CDATA[europe]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Fusebox]]></category>
		<category><![CDATA[Hal Helms]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[Mach-II]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Model-Glue]]></category>
		<category><![CDATA[Peter Bell]]></category>
		<category><![CDATA[Peter Elst]]></category>
		<category><![CDATA[Railo]]></category>
		<category><![CDATA[Scotch on the Rocks]]></category>
		<category><![CDATA[Sean Corfield]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Simon Bailey]]></category>
		<category><![CDATA[Spry]]></category>
		<category><![CDATA[technology-agnostic topics]]></category>
		<category><![CDATA[united kingdom]]></category>
		<category><![CDATA[United States]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=588</guid>
		<description><![CDATA[In the past, the US has held a near monopoly not only in ColdFusion-based user groups, but also conferences, with CFUnited, cf.Objective() and the more general Adobe MAX leading the way.]]></description>
			<content:encoded><![CDATA[<p>In the past, the <abbr title="United States">US</abbr> has held a near monopoly not only in ColdFusion-based user groups, but also conferences, with <a href="http://cfunited.com/" title="CFUnited" rel="nofollow">CFUnited</a>, <a href="http://www.cfobjective.com/" title="cf.Objective()" rel="nofollow">cf.Objective()</a> and the more general <a href="http://max.adobe.com/" title="Adobe MAX">Adobe MAX</a> leading the way.</p>
<p>But the landscape is changing and the <abbr title="United Kingdom">UK</abbr> is challenging for its share of the scene. 2008 is seeing a renaissance in the ColdFusion world following on from the buzz created around the release of ColdFusion 8 in 2007 and the eagerly anticipated future release of ColdFusion, codenamed Centaur. This buzz has resulted in not one but three conferences for 2008: <a href="http://europe.cfunited.com/" title="CFUnited Europe" rel="nofollow">CFUnited Europe</a> was held in London in March, <a href="http://www.scotch-on-the-rocks.co.uk/" title="Scotch-on-the-Rocks" rel="nofollow">Scotch-on-the-Rocks</a> was held in Edinburgh in June and soon we will see the return of <a href="http://www.cfdevcon.com/" title="CFDevCon" rel="nofollow">CFDevCon</a>.</p>
<p>The inaugural CFDevCon one-day-conference was held back in 2006, in Croydon, but in September 2008 it is heading down to what is arguably one of the creative capitals in the south of England, <a href="http://maps.google.co.uk/maps?f=q&#038;hl=en&#038;geocode=&#038;q=Brighton,+UK&#038;ie=UTF8&#038;ll=50.9342,0.054932&#038;spn=2.271057,4.812012&#038;z=8" title="Google Maps - Brighton" rel="nofollow">Brighton</a>. The conference has not only become a two-day conference, but its scope has moved beyond simply Adobe-based products, with the introduction of Microsoft-based technologies, specifically <abbr title="Internet Information Server">IIS</abbr>7.0, Silverlight and <abbr="Structured Query Language">SQL</abbr> Server 2008 and technology-agnostic topics such as Regular Expressions, Search Engine Optimisation (<abbr title="Search Engine Optimisation">SEO</abbr>) and Accessibility.</p>
<p>As with all <a href="http://www.scotch-on-the-rocks.co.uk/" title="Scotch-on-the-Rocks" rel="nofollow">great conferences</a>, CFDevCon has a great line-up of speakers with the likes of Sean Corfield, Hal Helms, Peter Elst, Peter Bell, Aral Balkan and Simon Bailey, to name a few, all presenting sessions.</p>
<p>So, lets get excited people, support the conferences and <a href="http://www.adobe.com/cfusion/usergroups/search_results.cfm?findType=2&#038;loc=en_us&#038;country_id=9259BCE3-668D-4A21-BB8751DC0E2A45B3" title="UK Adobe User Groups" rel="nofollow">user groups</a> and evangelise ColdFusion.</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-is-hotting-up-in-the-uk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe AIR for JavaScript Developers &#8211; O&#039;Reilly Pocket Guide</title>
		<link>http://www.simonwhatley.co.uk/adobe-air-for-javascript-developers</link>
		<comments>http://www.simonwhatley.co.uk/adobe-air-for-javascript-developers#comments</comments>
		<pubDate>Fri, 18 Apr 2008 11:24:16 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Integrated Runtime]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[command line tools]]></category>
		<category><![CDATA[Developer Library]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[development technology]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML & XHTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[Mike Chambers]]></category>
		<category><![CDATA[O'Reilly]]></category>
		<category><![CDATA[official guide]]></category>
		<category><![CDATA[pocket guide]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[web developers]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=550</guid>
		<description><![CDATA[Mike Chambers announced at the onAIR tour London event last week that he would be releasing an electronic version of the Adobe AIR for JavaScript Developers pocket book, by the publishers Oâ€™Reilly, under Creative Commons licence terms. Well, good to his word, you can download the pocket reference from the Adobe onAIR website.]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/adobe-air-for-javascript-developers.thumbnail.jpg' alt='Adobe AIR for JavaScript Developers' style="float:left; margin-right:5px;" />Mike Chambers announced at the <a href="http://onair.adobe.com/" title="OnAIR tour" target="_blank" rel="nofollow">onAIR tour</a> London event last week that he would be releasing an electronic version of the Adobe AIR for JavaScript Developers pocket book, by the publishers O&#8217;Reilly, under Creative Commons licence terms. Well, good to his word, you can <a href="http://onair.adobe.com/files/AIRforJSDevPocketGuide.pdf" title="Adobe AIR for JavaScript Developers" target="_blank" rel="nofollow">download the pocket reference</a> from the Adobe onAIR website.</p>
<p>This book is the official guide to Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym>, written by members of the <acronym title="Adobe Integrated Runtime">AIR</acronym> team. With Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym>, web developers can use technologies like <acronym title="HyperText Markup language">HTML</acronym> and JavaScript to build and deploy web applications to the desktop. Packed with examples, this book explains how <acronym title="Adobe Integrated Runtime">AIR</acronym> works and features recipes for performing common runtime tasks. Part of the Adobe Developer Library, this concise pocket guide explains:</p>
<ul>
<li>What Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym> is, and the problems this runtime aims to solve</li>
<li>How to set up your development environment</li>
<li>The HTML and JavaScript environments within <acronym title="Adobe Integrated Runtime">AIR</acronym></li>
<li>How to create your first <acronym title="Adobe Integrated Runtime">AIR</acronym> application using <acronym title="HyperText Markup language">HTML</acronym> and JavaScript</li>
<li>Ways to perform an array of common tasks with this runtime</li>
</ul>
<p>Also included is a guide to <acronym title="Adobe Integrated Runtime">AIR</acronym> packages, classes, and command line tools. Once you understand the basics of building <acronym title="HyperText Markup language">HTML</acronym>- and JavaScript-based <acronym title="Adobe Integrated Runtime">AIR</acronym> applications, this book makes an ideal reference for tackling specific problems. It offers a quick introduction to a significant new development technology, which lets you combine the reach and ease of the Web with the power of the desktop.</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/adobe-air-for-javascript-developers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Atlanta Open-Sources BlueDragon</title>
		<link>http://www.simonwhatley.co.uk/new-atlanta-open-sources-bluedragon</link>
		<comments>http://www.simonwhatley.co.uk/new-atlanta-open-sources-bluedragon#comments</comments>
		<pubDate>Tue, 11 Mar 2008 09:14:51 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe ColdFusion]]></category>
		<category><![CDATA[BlueDragon]]></category>
		<category><![CDATA[CFML]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[ColdFusion server technology]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[New Atlanta]]></category>
		<category><![CDATA[server technology]]></category>
		<category><![CDATA[technology conference]]></category>
		<category><![CDATA[Terrence Ryan]]></category>
		<category><![CDATA[united kingdom]]></category>
		<category><![CDATA[web application server]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=468</guid>
		<description><![CDATA[New Atlanta is announcing today, at CFUnited Europe - a ColdFusion Markup Language (CFML) technology conference in London, U.K.- that they will be creating and distributing a free open-source Java Platform, Enterprise Edition (Java EE) version of BlueDragon, their ColdFusion-compatible web application server.]]></description>
			<content:encoded><![CDATA[<p>New Atlanta is announcing today, at <a href="http://europe.cfunited.com" title="CFUnited Europe" target="_blank" rel="nofollow">CFUnited Europe</a>, a ColdFusion technology conference in London, U.K., that they will be creating and distributing a free open-source Java Platform, Enterprise Edition (Java <acronym title="Enterprise Edition">EE</acronym>) version of BlueDragon, their ColdFusion-compatible web application server.</p>
<p>You can read the full release here:</p>
<p><a href="http://www.newatlanta.com/products/bluedragon/open_source/faq.cfm" title="New Atlanta BlueDragon" target="_blank" rel="nofollow">http://www.newatlanta.com/products/bluedragon/open_source/faq.cfm</a></p>
<p>Will Adobe follow suit with their <a href="http://www.adobe.com/products/coldfusion" title="ColdFusion" target="_blank" rel="nofollow">ColdFusion</a> server technology? They have done similar things with the <a href="http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK" title="Flex" target="_blank" rel="nofollow>Flex SDK</a> and <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS" title="BlazeDS" target="_blank" rel="nofollow">BlazeDS</a>, so it stands to reason that ColdFusion could follow the same route.</p>
<p>Terrence Ryan sees things differently, however, and has a good article here:</p>
<p><a href="http://www.numtopia.com/terry/blog/archives/2008/03/yawn_blue_dragon_goes_open_source.cfm" title="Yawn, BlueDragon Goes Open Source" target="_blank" rel="nofollow">Yawn, BlueDragon Goes Open Source</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/new-atlanta-open-sources-bluedragon/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implicit Structures in ColdFusion 8</title>
		<link>http://www.simonwhatley.co.uk/implicit-structures-in-coldfusion-8</link>
		<comments>http://www.simonwhatley.co.uk/implicit-structures-in-coldfusion-8#comments</comments>
		<pubDate>Fri, 07 Mar 2008 08:23:22 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[associative array]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Dupont]]></category>
		<category><![CDATA[France]]></category>
		<category><![CDATA[Germany]]></category>
		<category><![CDATA[implicit]]></category>
		<category><![CDATA[John Doe]]></category>
		<category><![CDATA[key]]></category>
		<category><![CDATA[key-value]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[One]]></category>
		<category><![CDATA[pairs]]></category>
		<category><![CDATA[Simon Whatley]]></category>
		<category><![CDATA[Spain]]></category>
		<category><![CDATA[struct]]></category>
		<category><![CDATA[structNew]]></category>
		<category><![CDATA[structures]]></category>
		<category><![CDATA[Three]]></category>
		<category><![CDATA[Two]]></category>
		<category><![CDATA[value]]></category>
		<category><![CDATA[version 8]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=435</guid>
		<description><![CDATA[In an earlier post I eluded to the <a href="/implicit-arrays-in-coldfusion-8" title="Implicit Arrays in ColdFusion 8">implicit creation of arrays</a> in ColdFusion 8. Well, the same can be said of structures.

A structure, also known as an associative array, is a complex data type composed of a collection of keys and a collection of values, where each key is associated with one value (a key-value pair). The operation of finding the value associated with a key is called a lookup or indexing, and this is the most important operation supported by a structure. The relationship between a key and its value is sometimes called a mapping or binding. For example, if the value associated with the key "Age" is 29 and "City" is "London", we say that our structure maps "Age" to 29 and "City" to "London".]]></description>
			<content:encoded><![CDATA[<p>In an earlier post I eluded to the <a href="/implicit-arrays-in-coldfusion-8" title="Implicit Arrays in ColdFusion 8">implicit creation of arrays</a> in ColdFusion 8. Well, the same can be said of structures.</p>
<p>A structure, also known as an associative array, is a complex data type composed of a collection of keys and a collection of values, where each key is associated with one value (a key-value pair). The operation of finding the value associated with a key is called a lookup or indexing, and this is the most important operation supported by a structure. The relationship between a key and its value is sometimes called a mapping or binding. For example, if the value associated with the key &#8220;Age&#8221; is 29 and &#8220;City&#8221; is &#8220;London&#8221;, we say that our structure maps &#8220;Age&#8221; to 29 and &#8220;City&#8221; to &#8220;London&#8221;.</p>
<p>Using structures, you can call the array element you need using a string rather than a number, which is often easier to remember. The downside is that these aren&#8217;t as useful in a loop because they do not use numbers as the index value.</p>
<p>We can think of an address book as a good example of a structure. The classic way of creating and assigning key-values pairs to a structure, in earlier versions of ColdFusion, would be as follows:</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">strPerson <span style="color: #0000ff">=</span> <span style="color: #800080;">structNew</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;</span>
<span style="color: #000099;">strPerson.firstName <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Jean&quot;</span>;</span>
<span style="color: #000099;">strPerson.lastName <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Dupont&quot;</span>;</span>
<span style="color: #000099;">strPerson.city <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Paris&quot;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p>Or an alternative method uses array-notation to create the necessary key-value pairs:</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">strPerson <span style="color: #0000ff">=</span> <span style="color: #800080;">structNew</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;</span>
<span style="color: #000099;">strPerson<span style="color: #000000;">&#91;</span><span style="color: #009900;">&quot;Firstname&quot;</span><span style="color: #000000;">&#93;</span> <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Hans&quot;</span>;</span>
<span style="color: #000099;">strPerson<span style="color: #000000;">&#91;</span><span style="color: #009900;">&quot;Lastname&quot;</span><span style="color: #000000;">&#93;</span> <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Mustermann&quot;</span>;</span>
<span style="color: #000099;">strPerson<span style="color: #000000;">&#91;</span><span style="color: #009900;">&quot;Country&quot;</span><span style="color: #000000;">&#93;</span> <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Germany&quot;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p>NB. When using the array-notation, the key names keep their case. However, running the following code results in the value &#8220;France&#8221; being overwritten with &#8220;Germany&#8221;, even though the key name is a different case. This serves to highlight that ColdFusion is not case-sensitive.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">strPerson <span style="color: #0000ff">=</span> <span style="color: #800080;">structNew</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;</span>
<span style="color: #000099;">strPerson<span style="color: #000000;">&#91;</span><span style="color: #009900;">&quot;Country&quot;</span><span style="color: #000000;">&#93;</span> <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;France&quot;</span>;</span>
<span style="color: #000099;">strPerson<span style="color: #000000;">&#91;</span><span style="color: #009900;">&quot;COUNTRY&quot;</span><span style="color: #000000;">&#93;</span> <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Germany&quot;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p><strong>Implicit Structures</strong></p>
<p>With the introduction of implicit structures in ColdFusion 8, the creation of structures is greatly simplified. For example, rather than having to use the <code>structNew()</code> function, we can now simply do the following:</p>
<p>Using strings for values:</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">myStruct <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span>firstname<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;Simon&quot;</span>, lastname<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;Whatley&quot;</span>, city<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;London&quot;</span><span style="color: #000000;">&#125;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/implicit-structure-string-key-value.png' alt='Implicit Structures - Strings as Keys and Values' /></p>
<p>Using integers for values:</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">myStruct <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span>account_no<span style="color: #0000ff;">=</span><span style="color: #ff0000;">12345678</span>, s<span style="color: #0000ff;">or</span>t_code<span style="color: #0000ff;">=</span><span style="color: #ff0000;">123456</span><span style="color: #000000;">&#125;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/implicit-structure-integer-value.png' alt='Implicit Structures - Integers as Values' /></p>
<p>Using integers as keys:</p>
<p>This example most closely represents an array since arrays have numeric keys.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">myStruct <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span><span style="color: #ff0000;">10001</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;John&quot;</span>, <span style="color: #ff0000;">10002</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;Doe&quot;</span>, <span style="color: #ff0000;">10003</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;New York&quot;</span><span style="color: #000000;">&#125;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/implicit-structure-integer-key.png' alt='Implicit Structures - Integers as Keys' /></p>
<p>The integer could represent the unique identifier of an object, for example, user ID or order ID. Therefore, if we had nested structures like below, 10001 would be the ID of Simon Whatley, whilst 10002 would be the ID of John Doe.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">myStruct1 <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span>firstname<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;Simon&quot;</span>, lastname<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;Whatley&quot;</span>, city<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;London&quot;</span><span style="color: #000000;">&#125;</span>;</span>
<span style="color: #000099;">myStruct2 <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span>firstname<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;John&quot;</span>, lastname<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;Doe&quot;</span>, city<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;New York&quot;</span><span style="color: #000000;">&#125;</span>;</span>
<span style="color: #000099;">myStruct3 <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span><span style="color: #ff0000;">10001</span><span style="color: #0000ff;">=</span>myStruct1, <span style="color: #ff0000;">10002</span><span style="color: #0000ff;">=</span>myStruct2<span style="color: #000000;">&#125;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/implicit-structure-nested-struct.png' alt='Implicit Structures - Nested Structures' /></p>
<p>Mixed data types:</p>
<p>It is possible to mix the data types in an structure. For example, we can use an Integer, String and Array as elements within an array, with no problems. Since we need to know the key name before accessing the value, it is also likely we will know the type of the value and will be able to handle it accordingly. However, never assume this is always the case, so type checking is necessary when retrieving the data.</p>
<p>The example below demonstrates the ability to add arrays to structures.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">myArray1 <span style="color: #0000ff">=</span> <span style="color: #000000;">&#91;</span><span style="color: #ff0000;">1</span>,<span style="color: #ff0000;">2</span>,<span style="color: #ff0000;">3</span><span style="color: #000000;">&#93;</span>;</span>
<span style="color: #000099;">myArray2 <span style="color: #0000ff">=</span> <span style="color: #000000;">&#91;</span><span style="color: #009900;">&quot;One&quot;</span>,<span style="color: #009900;">&quot;Two&quot;</span>,<span style="color: #009900;">&quot;Three&quot;</span><span style="color: #000000;">&#93;</span>;</span>
<span style="color: #000099;">myStruct <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span>array1<span style="color: #0000ff;">=</span>myArray1, array2<span style="color: #0000ff;">=</span>myArray2<span style="color: #000000;">&#125;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/implicit-structure-array-values.png' alt='Implicit Structures - Nested Arrays' /></p>
<p>Structures, by their nature, cannot be sorted by value, only by the key name. They are best for related data, where order is not important and direct access to an individual element is important. Many of ColdFusion&#8217;s variable scopes can be accessed as structures, for example, Server, Application, Session and Variables etc.</p>
<p><strong>Words of Caution</strong></p>
<p>Implicit structures do have their limitations. For example, you cannot nest implicit struct, or indeed array, creation.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">myStruct1 <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span></span>
<span style="color: #000099;">	myStruct2 <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span></span>
<span style="color: #000099;">		firstName <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Jean&quot;</span>,</span>
<span style="color: #000099;">		lastName <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Dupont&quot;</span>,</span>
<span style="color: #000099;">		country <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;France&quot;</span></span>
<span style="color: #000099;">	<span style="color: #000000;">&#125;</span>,</span>
<span style="color: #000099;">	myStruct3 <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span></span>
<span style="color: #000099;">		firstName <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Juan&quot;</span>,</span>
<span style="color: #000099;">		lastName <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Pablo&quot;</span>,</span>
<span style="color: #000099;">		country <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Spain&quot;</span></span>
<span style="color: #000099;">	<span style="color: #000000;">&#125;</span></span>
<span style="color: #000099;"><span style="color: #000000;">&#125;</span></span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p>The above will throw the following parsing error:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">coldfusion.compiler.ParseException:
Invalid CFML construct found on line 3 at column 10.</pre></div></div>

<p><strong>UPDATE:</strong> The recent <a href="http://www.adobe.com/support/coldfusion/downloads_updates.html#cf8" title="ColdFusion Update" target="_blank" rel="nofollow">ColdFusion Update</a> now includes the ability to nest implicit structures.</p>
<p>To get around this problem, you can create each structure individually and then use the structure as the value in a key-value pair (as seen in the nested structure example above).</p>
<p>A (possible) strength of ColdFusion is that you can add key-value pairs as many times as is necessary. This is the same for explicit and implicit structure creation. However, the following code and screenshot serves to demonstrate that whether you explicitly or implicitly create a structure, if you duplicate a key, the last key-value pair in the sequence is the one that is represented in the structure:</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #000099;"><span style="color: #800000;">&lt;cfscript&gt;</span></span>
<span style="color: #000099;">myStruct <span style="color: #0000ff">=</span> <span style="color: #000000;">&#123;</span></span>
<span style="color: #000099;">	firstName <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Jean&quot;</span>,</span>
<span style="color: #000099;">	lastName <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Dupont&quot;</span>,</span>
<span style="color: #000099;">	country <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;France&quot;</span>,</span>
<span style="color: #000099;">	country <span style="color: #0000ff">=</span> <span style="color: #009900;">&quot;Germany&quot;</span></span>
<span style="color: #000099;"><span style="color: #000000;">&#125;</span>;</span>
<span style="color: #000099;"><span style="color: #800000;">&lt;/cfscript&gt;</span></span></pre></div></div>

<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/implicit-structure-duplicate-key.png' alt='Implicit Structures - Duplicate Keys' /></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/implicit-structures-in-coldfusion-8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

