<?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>Alagad Ally</title>
	<atom:link href="http://blog.alagad.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.alagad.com</link>
	<description>Web Development Task Force</description>
	<lastBuildDate>Tue, 27 Jul 2010 18:04:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ant4CF’s Documentation and Ant 1.8</title>
		<link>http://blog.alagad.com/2010/07/27/ant4cf%e2%80%99s-documentation-and-ant-1-8/</link>
		<comments>http://blog.alagad.com/2010/07/27/ant4cf%e2%80%99s-documentation-and-ant-1-8/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 18:04:26 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Ant]]></category>
		<category><![CDATA[Ant4CF]]></category>
		<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1789</guid>
		<description><![CDATA[I’ve been notified twice now that there are problems running Ant4CF on Ant 1.8 or later.  I wanted to let those users of Ant4CF know that I’m aware of these problems and will eventually update the project to work ...]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 13.3333px;">I’ve been notified twice now that there are problems running <a href="http://blog.alagad.com/alagad-projects/ant4cf/" target="_blank">Ant4CF</a> on Ant 1.8 or later.  I wanted to let those users of Ant4CF know that I’m aware of these problems and will eventually update the project to work with Ant 1.8.  My guess is that the project is being compiled against an older Ant API that isn’t compatible with Ant 1.8.  That said, a quick Google search on this didn’t turn up any details.  I’ll take care of this before too long and let everyone know about it!</span></p>
<p>Also, a few people have had issues getting Ant4CF up and running.  The usual culprit here is the config.properties file that users need to edit to point to the local installation of Ant.  On Windows in particular this can be confusing.  The cause of this is that the default path to Ant is “/usr/bin/ant”.  On *nix OSes this is a path to an executable.  But to a Windows user this looks like it might be a path to a directory.  I’ve updated the documentation to explain that on Windows this path is likely to be something more like “c:/program files/ant/bin/ant.bat”.  Also, because there are spaces in the path, the path needs to be surrounded in quotes in the configuration file.</p>
<p><span style="font-size: 13.3333px;">And that’s it for Ant4CF news.  But, let me ask you, do you use Ant4CF?  What do you think of it?  Any suggestions on what I could do with it next?</span></p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F27%2Fant4cf%25e2%2580%2599s-documentation-and-ant-1-8%2F&amp;title=Ant4CF%E2%80%99s+Documentation+and+Ant+1.8" title="Bookmark this post : Ant4CF’s Documentation and Ant 1.8 on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F27%2Fant4cf%25e2%2580%2599s-documentation-and-ant-1-8%2F&#038;title=Ant4CF%E2%80%99s+Documentation+and+Ant+1.8&#038;bodytext=I%E2%80%99ve+been+notified+twice+now+that+there+are+problems+running+Ant4CF+on+Ant+1.8+or+later.%C2%A0+I+wanted+to+let+those+users+of+Ant4CF+know+that+I%E2%80%99m+aware+of+these+problems+and+will+eventually+update+the+project+to+work+with+Ant+1.8.%C2%A0+My+guess+is+that+the+project+is+being+compiled+against+an+older+Ant+API+that+isn%E2%80%99t+c" title="Digg this post : Ant4CF’s Documentation and Ant 1.8"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F27%2Fant4cf%25e2%2580%2599s-documentation-and-ant-1-8%2F&amp;t=Ant4CF%E2%80%99s+Documentation+and+Ant+1.8" title="Recommend this post : Ant4CF’s Documentation and Ant 1.8 on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F27%2Fant4cf%25e2%2580%2599s-documentation-and-ant-1-8%2F&amp;title=Ant4CF%E2%80%99s+Documentation+and+Ant+1.8" title="Share this post : Ant4CF’s Documentation and Ant 1.8 on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F27%2Fant4cf%25e2%2580%2599s-documentation-and-ant-1-8%2F&amp;title=Ant4CF%E2%80%99s+Documentation+and+Ant+1.8" title="Share this post : Ant4CF’s Documentation and Ant 1.8 with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F27%2Fant4cf%25e2%2580%2599s-documentation-and-ant-1-8%2F" title="Tweet this post : Ant4CF’s Documentation and Ant 1.8 on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/27/ant4cf%e2%80%99s-documentation-and-ant-1-8/feed" title="Follow this post : Ant4CF’s Documentation and Ant 1.8 comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/27/ant4cf%e2%80%99s-documentation-and-ant-1-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I’ll Be At CFUnited After All!</title>
		<link>http://blog.alagad.com/2010/07/22/i%e2%80%99ll-be-at-cfunited-after-all/</link>
		<comments>http://blog.alagad.com/2010/07/22/i%e2%80%99ll-be-at-cfunited-after-all/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 20:23:39 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Conferences and Events]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1787</guid>
		<description><![CDATA[It looks like the stars have aligned for me, after all and I will be attending this year’s (and the last ever) CFUnited.  I managed to schedule a couple client meetings at the same time and that really helps ...]]></description>
			<content:encoded><![CDATA[<p>It looks like the stars have aligned for me, after all and I will be attending this year’s (and the last ever) CFUnited.  I managed to schedule a couple client meetings at the same time and that really helps justify the expense.</p>
<p>If you’re going to be there too, please look me up!  Why?  Well, there’s no exciting reason, honestly.  Unlike past years, I’m not giving anything away.  Honestly, I just want to meet as many people as I can, hear what they’re working on, and learn as much has I possibly can.  And, if I’m lucky maybe I’ll find a business opportunity or two.</p>
<p>Also, because I waited until the last moment, it seems that the Landsdown resort is booked up for Wednesday night.  If anyone has some spare floor space or a couch I could crash on for one night, I’d be greatly indebted to you!  Thanks!</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F22%2Fi%25e2%2580%2599ll-be-at-cfunited-after-all%2F&amp;title=I%E2%80%99ll+Be+At+CFUnited+After+All%21" title="Bookmark this post : I’ll Be At CFUnited After All! on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F22%2Fi%25e2%2580%2599ll-be-at-cfunited-after-all%2F&#038;title=I%E2%80%99ll+Be+At+CFUnited+After+All%21&#038;bodytext=It+looks+like+the+stars+have+aligned+for+me%2C+after+all+and+I+will+be+attending+this+year%E2%80%99s+%28and+the+last+ever%29+CFUnited.%C2%A0+I+managed+to+schedule+a+couple+client+meetings+at+the+same+time+and+that+really+helps+justify+the+expense.%0D%0A%0D%0AIf+you%E2%80%99re+going+to+be+there+too%2C+please+look+me+up%21%C2%A0+Why%3F%C2%A0+Well%2C+there%E2%80%99s+no+exc" title="Digg this post : I’ll Be At CFUnited After All!"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F22%2Fi%25e2%2580%2599ll-be-at-cfunited-after-all%2F&amp;t=I%E2%80%99ll+Be+At+CFUnited+After+All%21" title="Recommend this post : I’ll Be At CFUnited After All! on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F22%2Fi%25e2%2580%2599ll-be-at-cfunited-after-all%2F&amp;title=I%E2%80%99ll+Be+At+CFUnited+After+All%21" title="Share this post : I’ll Be At CFUnited After All! on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F22%2Fi%25e2%2580%2599ll-be-at-cfunited-after-all%2F&amp;title=I%E2%80%99ll+Be+At+CFUnited+After+All%21" title="Share this post : I’ll Be At CFUnited After All! with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F22%2Fi%25e2%2580%2599ll-be-at-cfunited-after-all%2F" title="Tweet this post : I’ll Be At CFUnited After All! on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/22/i%e2%80%99ll-be-at-cfunited-after-all/feed" title="Follow this post : I’ll Be At CFUnited After All! comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/22/i%e2%80%99ll-be-at-cfunited-after-all/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>An Introduction To NodeJS, A JavaScript-Based Server</title>
		<link>http://blog.alagad.com/2010/07/21/an-introduction-to-nodejs-a-javascript-based-server/</link>
		<comments>http://blog.alagad.com/2010/07/21/an-introduction-to-nodejs-a-javascript-based-server/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 19:40:06 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Development Tools]]></category>
		<category><![CDATA[Dynamic Programming]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1781</guid>
		<description><![CDATA[Recently, I’ve been dipping my toes into languages and technologies I might not previously have.  For the last ten years or so ColdFusion has been my bread and butter.  Yes, I’ve tinkered with other languages like Groovy, but now ...]]></description>
			<content:encoded><![CDATA[<p>Recently, I’ve been dipping my toes into languages and technologies I might not previously have.  For the last ten years or so ColdFusion has been my bread and butter.  Yes, I’ve tinkered with other languages like Groovy, but now I’m trying to make a more concerted effort to learn more about things I otherwise might not.</p>
<p>Recently I’ve been teaching myself a little Ruby and Rails.  A local buddy of mine, <a href="http://buckyschwarz.net/site/blog/" target="_blank">Bucky Schwarz</a> brought the <a href="http://www.meetup.com/raleighrb/" target="_blank">The Raleigh-area Ruby Brigade</a> to my attention.  Last night I attended one of their meetings anticipating learning more about Ruby.  However, the topic was not on Ruby, but on NodeJS.  The talk was given by <a href="http://aaronheckmann.blogspot.com/" target="_blank">Aaron Heckmann</a>.</p>
<p>I recently heard about some developments around JavaScript based servers.  Some people are making use of them because they can apparently handle insane loads.  I’ve heard of some applications handling thousands of connections a second.  Last week I tried to Google around and see what I could find, with no luck.  So, imagine my surprise when the Ruby meetup topic was about <a href="http://nodejs.org/" target="_blank">NodeJS</a>, a JavaScript server.</p>
<p><a href="http://blog.alagad.com/wp-content/uploads/2010/07/nodejslogo.png"><img class="alignleft size-medium wp-image-1784" style="margin-right: 5px, margin-bottom;" title="Node JS" src="http://blog.alagad.com/wp-content/uploads/2010/07/nodejslogo-300x79.png" alt="Node JS" width="300" height="79" /></a>NodeJS is the brainchild of <a href="http://four.livejournal.com/" target="_blank">Ryan Dahl</a> and makes use of Google’s open source <a href="http://code.google.com/p/v8/" target="_blank">V8 JavaScript engine</a>.  Because of this, NodeJS benefits from the recent competition between Firefox, Google, IE, and Opera on JavaScript engine performance.  In other words, NodeJS is very fast.</p>
<p>Installing NodeJS was very simple for me, since I’m on OS X.  I can’t say it will be quite that simple for those in the Windows world since you have to download and build the source code.  This was as simple as running ./configure, make, make install.  Once NodeJS was installed I was able to run a couple of simple sample applications without any problems.</p>
<p>Much to my surprise, I was able to make small changes to these sample applications because… <em>I know JavaScript</em>!  I was able to take the HTTP hello world application and change it slightly.  The same was true for the network socket sample.  Cool!</p>
<p>My initial impression with both of these samples were two-fold:</p>
<ol>
<li>Wow, that starts up fast!  For the simple hello world-style applications there was literally no wait to start NodeJS.</li>
<li>The basic sytax was simple and easy to read.  All you need to do to start listening for HTTP requests is this:</li>
</ol>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> http <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'http'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
http.<span style="color: #660066;">createServer</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>req<span style="color: #339933;">,</span> res<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>…<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Now, there are some challenges with Node.  In particular, it’s intended to be pretty low-level.  Those of us more comfortable working with higher-level languages might find Node, perhaps, a bit cumbersome.</p>
<p>Thankfully there are <a href="http://wiki.github.com/ry/node/modules" target="_blank">a lot of handy modules available for Node</a>.  One of these is <a href="http://github.com/visionmedia/express" target="_blank">Express</a>.  Express is a small server-side JavaScript web development framework for NodeJS.</p>
<p>To install Express I had to first install <a href="http://github.com/visionmedia/kiwi" target="_blank">Kiwi</a>, which is yet another package management system.  To install Kiwi, I simply cloned the Git repository locally using:</p>
<pre>git clone http://github.com/visionmedia/kiwi.git</pre>
<p>Next, I ran make install in the newly downloaded kiwi directory.  For me, this just worked.</p>
<p>Once I had Kiwi I was able to install express by simply running:</p>
<pre>kiwi -v install express</pre>
<p>Now that I have everything I needed I was able to <span style="text-decoration: line-through;">create</span> <a href="http://depold.com/wordpress/41/node-js-express-on-snow-leopard">copy and paste</a> a quick Express hello world application:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> sys <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;sys&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
kiwi <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;kiwi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
express <span style="color: #339933;">=</span> kiwi.<span style="color: #660066;">require</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'express'</span><span style="color: #009900;">&#41;</span>
&nbsp;
get<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'/'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">redirect</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'/hello/world'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
&nbsp;
get<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'/hello/world'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'Hello World'</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
&nbsp;
get<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'/goodbye/world'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'Goodbye World'</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
&nbsp;
run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>In the example above, once you start node running this application, you can hit this application at http://localhost:3000.  The default request will redirect you to /hello/world.  You can also go to /goodbye/world.</p>
<p>The Express module has a range of other features for routing requests, rendering views, and more.  Frankly, I haven’t taken it much beyond what’s in this article yet.</p>
<p>Despite the relative youth of the NodeJS project, it seems to me like there’s a lot of energy and excitement behind it.  You only need to look at the <a href="http://wiki.github.com/ry/node/modules" target="_blank">Module list</a> to realize there are a lot of people working very hard on this project.  Just to highlight a few, there are modules to connect to various databases, including MySQL and MongoDB, and many others.  There are also modules for logging, templating, testing, and much, much more.</p>
<p>Overall, NodeJS really seems worth trying out and experimenting with.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F21%2Fan-introduction-to-nodejs-a-javascript-based-server%2F&amp;title=An+Introduction+To+NodeJS%2C+A+JavaScript-Based+Server" title="Bookmark this post : An Introduction To NodeJS, A JavaScript-Based Server on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F21%2Fan-introduction-to-nodejs-a-javascript-based-server%2F&#038;title=An+Introduction+To+NodeJS%2C+A+JavaScript-Based+Server&#038;bodytext=Recently%2C+I%E2%80%99ve+been+dipping+my+toes+into+languages+and+technologies+I+might+not+previously+have.%C2%A0+For+the+last+ten+years+or+so+ColdFusion+has+been+my+bread+and+butter.%C2%A0+Yes%2C+I%E2%80%99ve+tinkered+with+other+languages+like+Groovy%2C+but+now+I%E2%80%99m+trying+to+make+a+more+concerted+effort+to+learn+more+about+things+I+otherwise+" title="Digg this post : An Introduction To NodeJS, A JavaScript-Based Server"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F21%2Fan-introduction-to-nodejs-a-javascript-based-server%2F&amp;t=An+Introduction+To+NodeJS%2C+A+JavaScript-Based+Server" title="Recommend this post : An Introduction To NodeJS, A JavaScript-Based Server on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F21%2Fan-introduction-to-nodejs-a-javascript-based-server%2F&amp;title=An+Introduction+To+NodeJS%2C+A+JavaScript-Based+Server" title="Share this post : An Introduction To NodeJS, A JavaScript-Based Server on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F21%2Fan-introduction-to-nodejs-a-javascript-based-server%2F&amp;title=An+Introduction+To+NodeJS%2C+A+JavaScript-Based+Server" title="Share this post : An Introduction To NodeJS, A JavaScript-Based Server with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F21%2Fan-introduction-to-nodejs-a-javascript-based-server%2F" title="Tweet this post : An Introduction To NodeJS, A JavaScript-Based Server on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/21/an-introduction-to-nodejs-a-javascript-based-server/feed" title="Follow this post : An Introduction To NodeJS, A JavaScript-Based Server comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/21/an-introduction-to-nodejs-a-javascript-based-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dan Wilson Will Kick Ass at CFUnited</title>
		<link>http://blog.alagad.com/2010/07/20/dan-wilson-will-kick-ass-at-cfunited/</link>
		<comments>http://blog.alagad.com/2010/07/20/dan-wilson-will-kick-ass-at-cfunited/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 18:36:45 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Conferences and Events]]></category>
		<category><![CDATA[Home]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1777</guid>
		<description><![CDATA[Last Thursday the local Triangle Area ColdFusion User Group (TACFUG) held a meeting where our very own Dan Wilson gave preview presentations of two of the four presentations he’ll be giving at CFUnited in the next week.
The first presentation ...]]></description>
			<content:encoded><![CDATA[<p>Last Thursday the local Triangle Area ColdFusion User Group (<a href="http://tacfug.org/" target="_blank">TACFUG</a>) held a meeting where our very own <a href="http://nodans.com/" target="_blank">Dan Wilson</a> gave preview presentations of two of the four presentations he’ll be giving at <a href="http://cfunited.com/" target="_blank">CFUnited</a> in the next week.</p>
<p><a style="margin-right: 10px, margin-bottom: 10px" href="http://blog.alagad.com/wp-content/uploads/2010/07/IMG_0491.jpg"><img class="alignleft size-medium wp-image-1778" title="Dan Wilson Kicks Ass" src="http://blog.alagad.com/wp-content/uploads/2010/07/IMG_0491-300x225.jpg" alt="Dan Wilson Kicks Ass" width="300" height="225" /></a>The first presentation he gave was <a href="http://cfunited.com/2010/topics#topic-405" target="_blank">Get the Lead Out &#8211; Practical Optimization</a>.  As with everything Dan does, this was a very good presentation.  Dan started out the presentation with a set of slides asking which was faster between two sets of similar code.  For example, he compared using cfif to cfswitch.  I was really surprised by this, but it turned out this was a red herring and wasn’t the real meat of the presentation.  Dan gets into a lot of detail about holistically testing applications.  In fact, he even taught me a few things I didn’t know, and I like to think I know a thing or two about this stuff.</p>
<p>The second presentation has what may well be the best title I’ve ever seen at a tech conference, <a href="http://cfunited.com/2010/topics#topic-395" target="_blank">Cache Me if You Can</a>.  Of course, that title doesn’t make any sense to our Australian friend, <a href="http://www.compoundtheory.com/" target="_blank">Mark Mandel</a>, but we’ll just have to deal with that.  In this presentation Dan talked about a whole range of assumptions many developers make about caching.  He also makes some very interesting points about being sure that you know what you’re caching and why.  As usual, this was an excellent presentation as well.</p>
<p>Dan has a really easy and relaxed style of presentation that I really admire.  If you’ve not heard him talk and you’ll be at CFUnited, then I highly recommend you catch his talks!</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F20%2Fdan-wilson-will-kick-ass-at-cfunited%2F&amp;title=Dan+Wilson+Will+Kick+Ass+at+CFUnited" title="Bookmark this post : Dan Wilson Will Kick Ass at CFUnited on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F20%2Fdan-wilson-will-kick-ass-at-cfunited%2F&#038;title=Dan+Wilson+Will+Kick+Ass+at+CFUnited&#038;bodytext=Last+Thursday+the+local+Triangle+Area+ColdFusion+User+Group+%28TACFUG%29+held+a+meeting+where+our+very+own+Dan+Wilson+gave+preview+presentations+of+two+of+the+four+presentations+he%E2%80%99ll+be+giving+at+CFUnited+in+the+next+week.%0D%0A%0D%0AThe+first+presentation+he+gave+was+Get+the+Lead+Out+-+Practical+Optimization.%C2%A0+As+with+everyth" title="Digg this post : Dan Wilson Will Kick Ass at CFUnited"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F20%2Fdan-wilson-will-kick-ass-at-cfunited%2F&amp;t=Dan+Wilson+Will+Kick+Ass+at+CFUnited" title="Recommend this post : Dan Wilson Will Kick Ass at CFUnited on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F20%2Fdan-wilson-will-kick-ass-at-cfunited%2F&amp;title=Dan+Wilson+Will+Kick+Ass+at+CFUnited" title="Share this post : Dan Wilson Will Kick Ass at CFUnited on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F20%2Fdan-wilson-will-kick-ass-at-cfunited%2F&amp;title=Dan+Wilson+Will+Kick+Ass+at+CFUnited" title="Share this post : Dan Wilson Will Kick Ass at CFUnited with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F20%2Fdan-wilson-will-kick-ass-at-cfunited%2F" title="Tweet this post : Dan Wilson Will Kick Ass at CFUnited on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/20/dan-wilson-will-kick-ass-at-cfunited/feed" title="Follow this post : Dan Wilson Will Kick Ass at CFUnited comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/20/dan-wilson-will-kick-ass-at-cfunited/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CFUnited 2010 – This Is Your Last Chance!</title>
		<link>http://blog.alagad.com/2010/07/15/cfunited-2010-%e2%80%93-this-is-your-last-chance/</link>
		<comments>http://blog.alagad.com/2010/07/15/cfunited-2010-%e2%80%93-this-is-your-last-chance/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 17:27:56 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Conferences and Events]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Home]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1771</guid>
		<description><![CDATA[I wanted to take a moment and let those developers in the ColdFusion community who haven’t already heard know that this is the last year for CFUnited.  Sadly, I’ve heard that it’s lost money the last few years and ...]]></description>
			<content:encoded><![CDATA[<p>I wanted to take a moment and let those developers in the ColdFusion community who haven’t already heard know that <a href="http://cfunited.com/blog/index.cfm/2010/6/30/Farewell-to-CFUnited-Early-Bird-Extended" target="_blank">this is the last year for CFUnited</a>.  Sadly, I’ve heard that it’s lost money the last few years and apparently it’s being shelved.   Who knows if this will be a permanent thing or not, but it’s safe to assume it is.</p>
<p><a style="padding-right: 5px, padding-bottom;" href="http://blog.alagad.com/wp-content/uploads/2010/07/header_left_side.gif"><img class="alignleft size-full wp-image-1772" title="CFUnited Conference" src="http://blog.alagad.com/wp-content/uploads/2010/07/header_left_side.gif" alt="CFUnited Conference" width="420" height="132" /></a>What does this mean?  Well, it means that if you haven’t gone before, that this is the last chance for you to come to the largest and most focused ColdFusion conference in the world (at least that I know of).  Not only that, but there are also always presentations about related technologies like Flex, JQuery, and more.</p>
<p>Here are some of the reasons I think you should go:</p>
<ul>
<li>I know most of the speakers and I can tell you that they’re all freakin’ smart.  Some of them are downright prolific in their talent.  All they want to do is share that information with you, the attendee.  Furthermore, all of these people are very approachable and love to talk about ideas, problems, concepts, and more.  Buy them a beer and you’ll have a smart friend for life!  Could you ask for a better resource?</li>
<li>The networking opportunities are very good as well.  For the last few years Alagad has sponsored CFUnited and I think we’ve done well meeting new potential clients and making our name and our development services known to the community.  Clearly this is valuable for businesses.  However, for the individual it can be even more valuable.  We all know the market is very shaky right now.  I assure you that the more people you know in the business the better your prospects are for finding new work, should you need to.</li>
<li>The reverse is true too.  That is to say that if you’re looking for ColdFusion talent, this is where to find them.  The conference attendees are all passionate enough about ColdFusion to either convince there employers to send them or to pony up their own hard earned cash.</li>
<li>There’s no better place to find out about the latest and greatest news from the ColdFusion community.  CFUnited is historically where Adobe makes major announcements or demos new and exciting technology.  Go and get ahead of the curve.</li>
</ul>
<p>You should also know that today, July 15<sup>th</sup> is the last day for early bird pricing. There are also special offers for those who are unemployed. <a href="http://cfunited.com/2010/prices" target="_blank">Find  more information about this here</a>.</p>
<p>So, why am I writing this entry?  Some of you in the community already know that I won’t be at this CFUnited.  Sadly, that’s true.  I simply can’t make it this year.  I really wish I could, but the stars are not aligned in my favor.  I suppose I’m hoping someone else will go in my place and get all the benefits I’m sadly going to miss.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F15%2Fcfunited-2010-%25e2%2580%2593-this-is-your-last-chance%2F&amp;title=CFUnited+2010+%E2%80%93+This+Is+Your+Last+Chance%21" title="Bookmark this post : CFUnited 2010 – This Is Your Last Chance! on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F15%2Fcfunited-2010-%25e2%2580%2593-this-is-your-last-chance%2F&#038;title=CFUnited+2010+%E2%80%93+This+Is+Your+Last+Chance%21&#038;bodytext=I+wanted+to+take+a+moment+and+let+those+developers+in+the+ColdFusion+community+who+haven%E2%80%99t+already+heard+know+that+this+is+the+last+year+for+CFUnited.%C2%A0+Sadly%2C+I%E2%80%99ve+heard+that+it%E2%80%99s+lost+money+the+last+few+years+and+apparently+it%E2%80%99s+being+shelved.%C2%A0%C2%A0+Who+knows+if+this+will+be+a+permanent+thing+or+not%2C+but+it%E2%80%99s" title="Digg this post : CFUnited 2010 – This Is Your Last Chance!"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F15%2Fcfunited-2010-%25e2%2580%2593-this-is-your-last-chance%2F&amp;t=CFUnited+2010+%E2%80%93+This+Is+Your+Last+Chance%21" title="Recommend this post : CFUnited 2010 – This Is Your Last Chance! on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F15%2Fcfunited-2010-%25e2%2580%2593-this-is-your-last-chance%2F&amp;title=CFUnited+2010+%E2%80%93+This+Is+Your+Last+Chance%21" title="Share this post : CFUnited 2010 – This Is Your Last Chance! on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F15%2Fcfunited-2010-%25e2%2580%2593-this-is-your-last-chance%2F&amp;title=CFUnited+2010+%E2%80%93+This+Is+Your+Last+Chance%21" title="Share this post : CFUnited 2010 – This Is Your Last Chance! with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F15%2Fcfunited-2010-%25e2%2580%2593-this-is-your-last-chance%2F" title="Tweet this post : CFUnited 2010 – This Is Your Last Chance! on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/15/cfunited-2010-%e2%80%93-this-is-your-last-chance/feed" title="Follow this post : CFUnited 2010 – This Is Your Last Chance! comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/15/cfunited-2010-%e2%80%93-this-is-your-last-chance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Technical Pecha Kucha Con?</title>
		<link>http://blog.alagad.com/2010/07/14/a-technical-pecha-kucha-con/</link>
		<comments>http://blog.alagad.com/2010/07/14/a-technical-pecha-kucha-con/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 18:19:11 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Conferences and Events]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Pecha Kucha]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1767</guid>
		<description><![CDATA[This year I was introduced to the Pecha Kucha presentation format.  For those not familiar with it, Pecha Kucha (pronounced peh-cha koo-cha) originated in Japan and translates as “the sound of conversation” or “chit-chat”.  A Pecha Kucha presentation lasts ...]]></description>
			<content:encoded><![CDATA[<p>This year I was introduced to the <a href="http://www.pecha-kucha.org/" target="_blank">Pecha Kucha presentation format</a>.  For those not familiar with it, Pecha Kucha (<a href="http://www.forvo.com/word/pecha_kucha/" target="_blank">pronounced <strong>peh</strong>-cha <strong>koo</strong>-cha</a>) originated in Japan and translates as “the sound of conversation” or “chit-chat”.  A Pecha Kucha presentation lasts only 6 minutes and 40 seconds and is made up of 20 slides that automatically advance every 20 seconds.</p>
<p>I became aware of the Pecha Kucha format when <a href="http://www.silverwareconsulting.com/index.cfm/2009/1/28/Presenting-at-cfObjective-in-May" target="_blank">Bob Silverberg</a>, everyone’s favorite Canadian ColdFusion developer, volunteered to put on a Pecha Kucha BOF session at the CF.Objective() conference.  Typically, Pecha Kucha sessions are about something the presenter is passionate about or deeply involved in.  <a href="http://www.bennadel.com/" target="_blank">Ben Nadel</a> talked about people-centric software design. <a href="http://www.stephenwithington.com" target="_blank">Steve Withington</a> talked about beer.  There were a few other topics, though unsurprisingly, most were technical in nature.  At the time, I was under quite a bit of stress and so I wrote my presentation on stress and how I manage it.</p>
<p>Personally, I thought the format was excellent.  The crowd was really into the presentations and energetic, laughing and cheering at all the right places.  Since then I’ve given the presentation two other times with a similar feeling.</p>
<p>One of the things I like about the format is that it forces the presenter to be concise and get their point across as quickly, clearly, and efficiently as possible.  Additionally, if I&#8217;m uninterested in a presentation I only have to wait about five minutes for it to be over.</p>
<p>Since giving these presentations I’ve pondered what would happen if you crossed a technical conference with Pecha Kucha?  Let’s face it, there’s <em>way</em> too much new information in the technology world to keep up with effectively.  You could read blogs all day long and still not be up to date on the majority of what’s new.</p>
<p>Consider that over the last few years we’ve had a renaissance of dynamic languages, new frameworks have emerged, software development approaches have changed, and more.  In a nutshell, things are changing, and fast!  As an example, I recently heard about <a href="http://www.readwriteweb.com/archives/server-side_javascript_back_with_a_vengeance.php" target="_blank">the reemergence of server side JavaScript</a>.  Who would have thought?!</p>
<p>If we don’t know what’s new then we’re stagnating.  For this reason I’m seriously thinking about putting on a language agnostic tech conference.  I’ve loosely titled this “Pecha Kucha Con.”  The idea is that the conference would be either one or two days with only one track.  Each presentation would be 6 minutes and 40 seconds long on a topic that no other speaker would be talking about.  The purpose of these talks would be to give the audience a small slice of information about this topic and just enough to get started researching it, if they’re interested.</p>
<p>I’m thinking that in one day you would have approximately 27 presentations grouped in fours.  So, for example, from 10:00 am to 10:30 you’d have four presentations.  There would be fifteen-minute breaks every 30 minutes for refreshments and networking.  Add in a long lunch and morning and evening networking events and you’ve got a lot of opportunity to get introduced to a lot of things you wouldn’t otherwise find out about.  Furthermore, the technology agnostic aspect would hopefully create an opportunity for cross-pollination where maybe there isn’t typically (like between, say, .NET and Erlang programmers).</p>
<p>I think there’s a lot more that could go with this as well.  For example, make it a multi-day conference.  Or have multiple tracks perhaps for programming, management, design, etc.  Perhaps this conference could be held both online and offline.  For example, maybe there would be a venue in RTP, NC, Washington, DC, and Los Angeles, CA.  Each on of these events could broadcast through Adobe Connect to each other and to the general public who might not be close to one of these areas.  This would allow for very wide audience involvement and unique conference experience.</p>
<p>So, on the surface, do you think this sounds like an interesting idea?  Do you have any additional ideas that might go along with this?  I’ve purchased the domain name pechakuchacon.com… I suppose I’ll see what sort of interest there is and decide if it’s worth the effort or not.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F14%2Fa-technical-pecha-kucha-con%2F&amp;title=A+Technical+Pecha+Kucha+Con%3F" title="Bookmark this post : A Technical Pecha Kucha Con? on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F14%2Fa-technical-pecha-kucha-con%2F&#038;title=A+Technical+Pecha+Kucha+Con%3F&#038;bodytext=This+year+I+was+introduced+to+the+Pecha+Kucha+presentation+format.%C2%A0+For+those+not+familiar+with+it%2C+Pecha+Kucha+%28pronounced+peh-cha+koo-cha%29+originated+in+Japan+and+translates+as+%E2%80%9Cthe+sound+of+conversation%E2%80%9D+or+%E2%80%9Cchit-chat%E2%80%9D.%C2%A0+A+Pecha+Kucha+presentation+lasts+only+6+minutes+and+40+seconds+and+is+made+up+of+20+sl" title="Digg this post : A Technical Pecha Kucha Con?"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F14%2Fa-technical-pecha-kucha-con%2F&amp;t=A+Technical+Pecha+Kucha+Con%3F" title="Recommend this post : A Technical Pecha Kucha Con? on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F14%2Fa-technical-pecha-kucha-con%2F&amp;title=A+Technical+Pecha+Kucha+Con%3F" title="Share this post : A Technical Pecha Kucha Con? on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F14%2Fa-technical-pecha-kucha-con%2F&amp;title=A+Technical+Pecha+Kucha+Con%3F" title="Share this post : A Technical Pecha Kucha Con? with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F14%2Fa-technical-pecha-kucha-con%2F" title="Tweet this post : A Technical Pecha Kucha Con? on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/14/a-technical-pecha-kucha-con/feed" title="Follow this post : A Technical Pecha Kucha Con? comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/14/a-technical-pecha-kucha-con/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>A Quick Overview of Graphing Databases</title>
		<link>http://blog.alagad.com/2010/07/13/a-quick-overview-of-graphing-databases/</link>
		<comments>http://blog.alagad.com/2010/07/13/a-quick-overview-of-graphing-databases/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 17:25:39 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[Home]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1762</guid>
		<description><![CDATA[I recently started work on a new project which, to avoid getting into too many details, is a social media application with similarities to Twitter, Facebook, and FourSquare – though it is not a clone of any of these!
This ...]]></description>
			<content:encoded><![CDATA[<p>I recently started work on a new project which, to avoid getting into too many details, is a social media application with similarities to Twitter, Facebook, and FourSquare – though it is not a clone of any of these!</p>
<p>This is currently a hobby project of mine that I think may have some future potential.  As a result, I’m allowing myself the freedom to experiment with technologies outside of what I’d normally work with.  On this specific project I plan to use Ruby On Rails 3 (currently in Beta) and deploy the final application to <a href="http://heroku.com/" target="_blank">Heroku</a>.  (Side note: we really need something like Heroku in the ColdFusion world.)</p>
<p>Because this is a social application and many social applications make use of so-called <a href="http://en.wikipedia.org/wiki/NoSQL" target="_blank">NoSQL databases</a>, I started researching these.  My research began by talking to <a href="http://www.ashenfelter.com/" target="_blank">John Paul Ashenfelter</a> at this years CF.objective().  John gave a talk entitled <a href="http://www.cfobjective.com/cfo/assets/File/pdfs/JohnPaulAshenfelterNoSQL.pdf" target="_blank">Say NO to SQL</a>.  Sadly, I missed this talk, but I sat down with John after the fact and talked about the various types of NoSQL databases and where they fit in.</p>
<p>It turns out that there are several types of NoSQL databases.  These include column stores, key value stores, document stores, and graph databases.  For this article I’m going to ignore all except for graph databases.</p>
<p>So, what exactly is a graph database?</p>
<p>Let’s start exploring this by looking at standard relational database systems.  There are a number of well-established RDBMS such as MySQL, PostgreSQL, MSSQL, Oracle, etc.  Chances are you’re familiar with at least one of these.  These types of systems store data in tables that are made up of columns.  Each record in the database provides values for these columns.  For referential integrity, some columns may reference a column in another table via a foreign key.</p>
<p>These foreign keys are the only way to relate data in a relational database.  And, for the most part, through <a href="http://en.wikipedia.org/wiki/Database_normalization" target="_blank">normalization</a>, these systems can model essentially any data.</p>
<p>The problem isn’t really in the modeling however, the problem is in how you get data out of the database. Consider a situation where you’re modeling a social network.  In this network I may have dozens of friends and you may have dozens of friends, and each of our friends may have their own dozens of friends.  Invariably, some of these will be the same people.</p>
<p>Now, I ask you, how would you find out how I know you using SQL?  How would you be able to figure out how I know Keven Bacon in SQL?  Furthermore, how would you do this in any efficient manner? The answer is: not easily.</p>
<p>The fact of the matter is that despite the fact that you can model this data in relational databases, these systems are simply not optimized to query this type of information back out.</p>
<p>There are, however, alternatives.  You guessed it, <a href="http://en.wikipedia.org/wiki/Graph_database" target="_blank">graph databases</a>.</p>
<p>A graph database is a system that stores data in “nodes” that are connected to other nodes via “edges”.  In most graph databases nodes and edges can have associated properties.  Most graph databases allow for traversals between related nodes.</p>
<p>This image shows how you might model the information used in a social network.</p>
<p style="text-align: center;"><a href="http://blog.alagad.com/wp-content/uploads/2010/07/graph-example.gif"><img class="size-full wp-image-1763 aligncenter" title="Example of Graph Relationships" src="http://blog.alagad.com/wp-content/uploads/2010/07/graph-example.gif" alt="Example of Graph Relationships" width="455" height="358" /></a></p>
<p>In the example above I have created five nodes to represent people in a social network.  I’ve also created relationships between them.  The relationships would be the “edges” referenced above.  Note that each node and reference has various properties.  For example, you can see that I (Doug Hughes) am 32.  You can also see that I know Joe Blow and Jim Bob.  Of course, the graphing database can also store different types of objects such as products, etc.</p>
<p>One of what is supposed to be a defining characteristic of a graph is the ability to quickly traverse nodes.  So, using an API provided by the graph database system I can quickly find out how I know John Doe.  The answer is through our mutual friendships with Jim Bob (or through Jim and Belva).  This is also useful for situations where you want to find common themes.  For example, Amazon has a feature that shows what other customers that purchased a specific product also purchased.</p>
<p>There are variations between graph databases as well.  For example, some use directional relationships and others use bidirectional relationships.   The difference is that a directional relationship may not necessarily be reciprocal.  For example, on twitter, I could follow you, but maybe you don’t follow me.  Bidirectional relationships are more like Facebook where if I’m your friend, you’re my friend.  The example above would be bidirectional.</p>
<p>Because of the nature of graph databases, they are very fast for traversing nodes and finding related data.  I’m not entirely sure at this point where they break down.  I’ve read that they’re not as efficient for large-scale updates where you may be updating a lot of records at one time.  Beyond this, your mileage may vary.</p>
<p>I’ve done a lot of reading up on different graph database.  The ones that stuck out to me were these:</p>
<h1>Neo4J</h1>
<p><a href="http://neo4j.org/" target="_blank">Neo4J</a> appears to be the most widely used graph database and is the one I’ve spent the most time researching.  It’s available through a very restrictive AGPL license or commercially.  It strikes me as very expensive to license.</p>
<p>Neo4J is an embedded directional graphing database written in Java.  The FOSS version provides a JAR that you download and make use of in your application.  Alternatively, there is also a stand-alone version that exposes a RESTful API.</p>
<p>There are a number of language bindings available, most of which use the REST API.  There are however native JRuby bindings.  I’d be interested in this, expect for the fact that Heroku doesn’t support JRuby.</p>
<p>It’s my interpretation that Neo4J still needs a little baking to really be a good solution.  For example, the REST API has no security built in.  Anyone who can connect to the port that is exposed can add, update, or delete information in the database.</p>
<p>Neo4J handles scaling and redundancy similarly to other RDBMS.  Specifically, the paid version allows you to somehow replicate data to hot-spare servers.  If you need to shard your data across multiple servers you must manage it manually within your application.</p>
<p>From everything I’ve read, Neo4J really seems to be the strongest graphing database.  However, it has negatives in that I’m not sure if the paid version differs any from the FOSS version.  Documentation is pretty good, but seems to be lacking in some areas (specifically related to high availability).</p>
<p>Oh, it’s also apparently blindingly fast.  However, I can’t find any information on how the use of the REST API impacts performance.</p>
<p>If you’re interested in experimenting with Neo4J in ColdFusion, I suggest you check out Brian Panulla’s blog entry entitled <a href="http://ghostednotes.com/2010/04/29/using-neo4j-graph-databases-with-coldfusion" target="_blank">Using Neo4j Graph Databases With ColdFusion</a>.</p>
<h1>InfiniteGraph</h1>
<p><a href="http://www.infinitegraph.com/" target="_blank">InfiniteGraph</a> describes itself as distributed database for web-scale systems.  Currently in public beta, it is slated for release in late July 2010 (any time now, really).</p>
<p>This system is written in Java and supports server based, cloud based, and embedded use.  The basis of this InfiniteGraph is that it can apparently see nearly linear performance scaling by the addition of additional servers.</p>
<p>I can’t find where I read this, but my memory is telling me that InfiniteGraph uses bidirectional relationships.</p>
<p>InfiniteGraph will be a closed source, proprietary, for-fee product when it is released.  They do have programs for free usage, but they seem to tie you to a specific hosting provider.  It even looks like you need to pay for developer licenses.</p>
<p>This bears watching, but I’m concerned about the licensing details and pricing.  Furthermore, it might not be terribly easy to connect to from non-Java languages.  A C# API is due in the next major release.</p>
<h1>FlockDB</h1>
<p><a href="http://engineering.twitter.com/2010/05/introducing-flockdb.html" target="_blank">FlockDB</a> is Twitter’s own graphing database.   However, this is not quite what it seems to be.  As the Twitter developer blog explains in the provided link, FlockDB was engineered as a specific solution to scalability problems Twitter was experiencing.</p>
<p>Behind the scenes FlockDB actually just uses MySQL.  Additionally, despite the fact that it FlockDB is a graphing database, it’s not actually optimized for graph traversal.  Instead, it’s very good at adjacency lists (who’s following whom).  Flock also allows for horizontal scaling, though this appears to be somewhat manual.</p>
<p>In the end, I honestly haven’t done much reading on this tool since it didn’t really match what I was looking for in a graphing database.</p>
<h1>Other Options</h1>
<p>There are a number of other graphing database engines available, but most of them are fairly specialized or are pretty esoteric.  I’m not sure I would want to deploy a large scale system on any of the alternatives.</p>
<h1>What am I Doing With My Social Application?</h1>
<p>After doing quite a bit of research in this area and briefly experimenting with Neo4J, I’ve actually elected not to go the route of using a graphing database for my project.  The reason I made this decision is that all of the graphing database implementations I looked at were either immature, lacking in documentation, or were difficult to talk to from my chosen language.</p>
<p>Furthermore, you may remember that my hosting platform of choice is Heroku.  Heroku actually runs in Amazon’s EC2 service that makes it easy for me to run my own EC2 servers to host my database server instances.  However, in the end, I’ve decided to simply use PostgreSQL which Heroku already supports.</p>
<p>I have to keep in mind that what I’m building right now is really just a hobby application.  I can’t justify spending a ton of money experimenting with a database offering that isn’t really required at this point.  If, in the future I do reach a point where I need really, really, fast access to related data I may port over to using Neo4J.  Only time will tell!</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F13%2Fa-quick-overview-of-graphing-databases%2F&amp;title=A+Quick+Overview+of+Graphing+Databases" title="Bookmark this post : A Quick Overview of Graphing Databases on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F13%2Fa-quick-overview-of-graphing-databases%2F&#038;title=A+Quick+Overview+of+Graphing+Databases&#038;bodytext=I+recently+started+work+on+a+new+project+which%2C+to+avoid+getting+into+too+many+details%2C+is+a+social+media+application+with+similarities+to+Twitter%2C+Facebook%2C+and+FourSquare+%E2%80%93+though+it+is+not+a+clone+of+any+of+these%21%0D%0A%0D%0AThis+is+currently+a+hobby+project+of+mine+that+I+think+may+have+some+future+potential.%C2%A0+As+a+resu" title="Digg this post : A Quick Overview of Graphing Databases"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F13%2Fa-quick-overview-of-graphing-databases%2F&amp;t=A+Quick+Overview+of+Graphing+Databases" title="Recommend this post : A Quick Overview of Graphing Databases on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F13%2Fa-quick-overview-of-graphing-databases%2F&amp;title=A+Quick+Overview+of+Graphing+Databases" title="Share this post : A Quick Overview of Graphing Databases on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F13%2Fa-quick-overview-of-graphing-databases%2F&amp;title=A+Quick+Overview+of+Graphing+Databases" title="Share this post : A Quick Overview of Graphing Databases with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F13%2Fa-quick-overview-of-graphing-databases%2F" title="Tweet this post : A Quick Overview of Graphing Databases on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/13/a-quick-overview-of-graphing-databases/feed" title="Follow this post : A Quick Overview of Graphing Databases comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/13/a-quick-overview-of-graphing-databases/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t be Scared of Hiring out of State Employees &#8211; Here&#8217;s how Alagad Did It</title>
		<link>http://blog.alagad.com/2010/07/08/dont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it/</link>
		<comments>http://blog.alagad.com/2010/07/08/dont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 15:41:35 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Alagad]]></category>
		<category><![CDATA[Business Tips]]></category>
		<category><![CDATA[Human Resources]]></category>
		<category><![CDATA[Small Business]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1757</guid>
		<description><![CDATA[Anyone who’s ever hired employees for their business knows that it can be an intimidating hurdle to get past.  Beyond the difficulty of picking the right person, you’ve also got a lot of details to take care of.  You’ll ...]]></description>
			<content:encoded><![CDATA[<p>Anyone who’s ever hired employees for their business knows that it can be an intimidating hurdle to get past.  Beyond the difficulty of picking the right person, you’ve also got a lot of details to take care of.  You’ll need to make sure you have workers comp insurance, that you’re paying unemployment taxes, that you’re withholding taxes, that you’re doing everything legally within your state, and more.  And, when you get into the reality of offering benefits like health insurance, it gets real expensive and difficult to manage very fast.</p>
<p>When Liz (Alagad’s reclusive VP and my wife) and I decided it was time to start hiring employees we were extremely constrained in what we could do.  We knew we needed to offer a competitive salary and benefits.  We also knew that we didn’t want to have any physical offices.  There were several reasons for this, but primarily it’s because we didn’t really have any money.</p>
<p>I also knew that I didn’t want to restrict the talent pool to my geographic area.  Don’t get me wrong; the Triangle area in North Carolina is home to some serious talent.  But that doesn’t mean everyone here would want to work for me or that I’d want to work with them.  By not having offices and allowing telecommute workers I could theoretically hire the best talent I could afford, no mater where they lived or worked.</p>
<p>But how to do this?</p>
<p>Our strategy at first was simply to muddle through it.  Our first employee was hired in Texas.  What we (meaning Liz) did at this time was to go to government websites in Texas and research what we need to do to hire people in Texas and learn what taxes we needed to pay, etc.  At this point we also made use of QuickBooks payroll service and, collectively, it worked well enough.</p>
<p>We also used a little known tax strategy to offer benefits.  Alagad wasn’t big enough to offer a group plan that was affordable so we encouraged our employees to purchase their own health insurance.  The company was able to offer a stipend towards this insurance pre-tax.</p>
<p>This approach worked well enough when we were very small, but broke down as we hired more employees in different states.  The problem is that each state has different requirements and laws.  These quickly became stressful and difficult to manage.  For example, we once hired an employee in California.  To the best of our research, we determined that to hire someone in California you had to register as a franchise with the state and have a physical address in the state.  In all honestly, I’m not sure that we ever did get this sorted out correctly.</p>
<p>Around this time we began a good friend of mine was struggling with the same challenges and mentioned that they’d been talking to a company called <a href="http://administaff.com/" target="_blank">Administaff</a>.  A little research into Adminstaff taught me that they are a class of company known as a <a href="http://en.wikipedia.org/wiki/Professional_employer_organization" target="_blank">Professional Employer Organization</a>, or PEO.  A PEO is a class of company that essentially hires your employees for you and leases them back to you.</p>
<p>Administaff already has the ability to hire employees in all 50 states.  They also already have thousands of employees.  This give them economies of scale that I can’t hope to match with only a handful of employees.  They can get the best rates for group health insurance, workers comp, and other expenses.  Additionally, they have people specializing in all sorts of HR-related details.  For example, they can give you guidance through difficult employee situations like hiring and firing to help insure that you’re following the letter of the law.</p>
<p>Additionally, they have all sorts of online services to help you find information and manage your employees.  They also many optional employee benefits like 401K plans, college savings plans, adoption assistance, and more.  Beyond that, they offer their clients all sorts of free value-added services like recruiting.  This is really useful if you’re trying to hire someone for a job that’s outside of your network.  To explain, I know a lot of programmers and it’s easy for me to hire them.  But, if I need a good sales person or user experience person it’s a lot harder for me to find them. Administaff recruiters will do a lot of the grunt work in this area for you.</p>
<p>So, imagine how stunned I was when we asked them what the costs would be to hire on my entire staff.  At the time, I think we had maybe six or so people for a total annual salary of more than a half million dollars.  I figured the service would be really expensive.  I was wrong.  Because of the relatively small size of my staff combined with their relatively high annual pay, Administaff could give us a really good rate.</p>
<p>The way Administaff works is they will propose to you a percentage that gets tacked on to your payroll.  This rate is somewhat negotiable.  I can’t remember our final rate, but let’s say for the sake of argument it was 17%.  We quickly realized in what a fantastic deal this was!  When we added up just our hard costs of hiring employees on our own it cost way more than just hiring Administaff.  This was true without even adding in the cost of Liz’s time.</p>
<p>That’s right.  It cost less to get the vastly superior services of Administaff and all of the benefits they offer.  And it was a lot easier.</p>
<p>Now there were some challenges to working with firms like Administaff.  First off, no mater what, you’ve got to pay your taxes.  Small businesses are tempted sometimes to “skip” paying taxes so that they can make their payroll payments.  The logic is pretty easy: If I don’t pay employees they walk.  If I don’t pay the government I’ll get spanked later.  It’s not really a hard decision to make.  Personally, I did that early on when we were handling employees manually, but you can’t get away with that with Administaff.</p>
<p>Administaff isn’t the only PEO in town.  There are lots of other PEOs out there.  In my research it seems that a few years ago there was a real boom in this space and many companies came onto the scene very quickly.  But, not all PEOs are made equal.  Apparently there are a fairly large number of PEOs that charge a smaller percentage than Administaff.  However, these cheaper PEOs may not offer the full range of services that Administaff does and they may not be as stable either.  There were a number of PEOs that went belly-up back around 2008 leaving their clients high and dry.</p>
<p>So, if you’re struggling to figure out how to manage hiring employees in your state or any state, how to offer competitive benefits, and making sure you’re doing it all legally, you should really talk to a PEOs.  I can’t personally speak for any other PEO, but I can say that Administaff has been central to Alagad’s success.</p>
<p>If you’d like to talk with someone at Administaff please <a href="http://alagad.com/contact" target="_blank">let me know</a> and I’ll connect you.  I do get some sort of referral benefits when I send clients to Administaff, but I assure you I didn’t write this article for that purpose.  But what the heck, if they’re offering it, I’ll take it.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F08%2Fdont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it%2F&amp;title=Don%26%238217%3Bt+be+Scared+of+Hiring+out+of+State+Employees+%26%238211%3B+Here%26%238217%3Bs+how+Alagad+Did+It" title="Bookmark this post : Don&#8217;t be Scared of Hiring out of State Employees &#8211; Here&#8217;s how Alagad Did It on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F08%2Fdont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it%2F&#038;title=Don%26%238217%3Bt+be+Scared+of+Hiring+out+of+State+Employees+%26%238211%3B+Here%26%238217%3Bs+how+Alagad+Did+It&#038;bodytext=Anyone+who%E2%80%99s+ever+hired+employees+for+their+business+knows+that+it+can+be+an+intimidating+hurdle+to+get+past.%C2%A0+Beyond+the+difficulty+of+picking+the+right+person%2C+you%E2%80%99ve+also+got+a+lot+of+details+to+take+care+of.%C2%A0+You%E2%80%99ll+need+to+make+sure+you+have+workers+comp+insurance%2C+that+you%E2%80%99re+paying+unemployment+taxes%2C+" title="Digg this post : Don&#8217;t be Scared of Hiring out of State Employees &#8211; Here&#8217;s how Alagad Did It"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F08%2Fdont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it%2F&amp;t=Don%26%238217%3Bt+be+Scared+of+Hiring+out+of+State+Employees+%26%238211%3B+Here%26%238217%3Bs+how+Alagad+Did+It" title="Recommend this post : Don&#8217;t be Scared of Hiring out of State Employees &#8211; Here&#8217;s how Alagad Did It on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F08%2Fdont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it%2F&amp;title=Don%26%238217%3Bt+be+Scared+of+Hiring+out+of+State+Employees+%26%238211%3B+Here%26%238217%3Bs+how+Alagad+Did+It" title="Share this post : Don&#8217;t be Scared of Hiring out of State Employees &#8211; Here&#8217;s how Alagad Did It on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F08%2Fdont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it%2F&amp;title=Don%26%238217%3Bt+be+Scared+of+Hiring+out+of+State+Employees+%26%238211%3B+Here%26%238217%3Bs+how+Alagad+Did+It" title="Share this post : Don&#8217;t be Scared of Hiring out of State Employees &#8211; Here&#8217;s how Alagad Did It with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F08%2Fdont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it%2F" title="Tweet this post : Don&#8217;t be Scared of Hiring out of State Employees &#8211; Here&#8217;s how Alagad Did It on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/08/dont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it/feed" title="Follow this post : Don&#8217;t be Scared of Hiring out of State Employees &#8211; Here&#8217;s how Alagad Did It comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/08/dont-be-scared-of-hiring-out-of-state-employees-heres-how-alagad-did-it/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Alagad Business Book Reviews: Drive by Daniel H. Pink</title>
		<link>http://blog.alagad.com/2010/07/07/alagad-business-book-reviews-drive-by-daniel-h-pink/</link>
		<comments>http://blog.alagad.com/2010/07/07/alagad-business-book-reviews-drive-by-daniel-h-pink/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 17:40:13 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Alagad]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Home]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1744</guid>
		<description><![CDATA[I recently read the book Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink.  This book is a review of what truly motivates people.  Apparently, our society as a whole pretty much takes the wrong approach ...]]></description>
			<content:encoded><![CDATA[<p>I recently read the book Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink.  This book is a review of what truly motivates people.  Apparently, our society as a whole pretty much takes the wrong approach at motivating people.</p>
<p><a href="http://blog.alagad.com/wp-content/uploads/2010/07/drive.jpg"><img class="alignleft size-medium wp-image-1746" title="Drive" src="http://blog.alagad.com/wp-content/uploads/2010/07/drive-211x300.jpg" alt="Drive by Daniel H. Pink" width="211" height="300" /></a>The book explains that for a long time humans have been using the &#8220;carrot and stick&#8221; approach to motivation.  For example, an employee&#8217;s compensation is often tied to specific metrics like hitting a targeted release date, or reaching certain sales goals.  The better the metric, the better the pay.  The worse the metric, the worse the pay.</p>
<p>However, this is apparently a recipe for underperformance.  The author sites a number studies that show that, yes, tying performance to compensation does focus their attention on a task.  The problem is, people focused their attention on the wrong places and creativity suffered.  It turns out that, with the exception of unskilled labor tasks such as a repetitive factory work, that the greater the carrot, the worse performance actually gets.</p>
<p>As an example, in one of the studies the author cites, participants were given a candle, a box of tacks, and matches.  They were asked to find a way to affix the candle to the wall in a way that would prevent wax from dripping on a table&#8217;s surface.  Some participants were offered a cash reward for completing the problem quickly while others were simply told they were being observed to see how long it took them to solve the problem.  The result was that the second group, the ones who were not offered the cash incentive, completed the problem more quickly.</p>
<p>Take a moment and think about how you&#8217;d solve this specific problem.  Go ahead, I&#8217;ll wait.</p>
<p>Now that you&#8217;re back, I&#8217;ll tell you the solution.  If you were to dump the box of tacks out you could then use the tacks to stick the box to the wall.  You can then place the candle upright in the box and it won&#8217;t drip wax onto the table when burnt.  It seems that the added incentive of extra money focused people too much in the specifics of a given problem and blinded them from thinking, quite literally, outside the box.</p>
<p>Ultimately, the author breaks motivation down into three things that people want out of work:</p>
<p><strong>Mastery</strong> – workers want to improve their skills<br />
<strong>Autonomy</strong> – workers want to control how they work<br />
<strong>Purpose</strong> – workers want to feel like they&#8217;re doing something important</p>
<p>Of course, when it comes down to it, everyone needs to eat and money is a rather central component of that.  So we&#8217;ve got to be paid for our work to achieve some baseline.</p>
<p>To the tech community this may all be fairly obvious.  This explains why so many programmers a &#8220;real&#8221; job, but spend their nights and weekends contributing to open source projects.  Namely, the open source work gives them practice and challenges them in new and interesting ways.  This is more satisfying than the dry work at the office.  They also get to control how and when they work.  And lastly, they feel like they&#8217;re contributing to a greater good.  This really epitomizes another key concept in the book, intrinsic vs. extrinsic motivation.   Intrinsic motivation drives you to do work because you want to.  Extrinsic motivation drives you because you need to.</p>
<p>And, according to the author, apparently, all of this can be boiled down to a simple strategy that companies can apply to motivate their employees.  Essentially, you need to pay them enough to take the issue of money off the table.  After that, empower them to do their best work.  What you&#8217;re doing is moving their focus off from the money and onto the work.</p>
<p>After reading this book I was left thinking about how this book applied to Alagad.  Honestly, I think it has some pretty interesting and direct applications.</p>
<p>It&#8217;s reasonably well known that Alagad currently pays its employees hourly.  I established this because, in my previous life as a salaried worker I felt like salary was theft.  All of the companies I worked for previously paid a low salary and frequently demanded long hours in the office, effectively lowering what I&#8217;m being paid per hour.  Additionally, Alagad has historically billed clients on a Time and Materials basis.  So, if Alagad is billing for an employee who&#8217;s putting in 50 hours in a week, shouldn&#8217;t Alagad pay that employee proportionately?</p>
<p>Now, with the benefit of hindsight, I think that may have been a mistake.  There have always been some employees who would happily work 50 or 60 hours a week on average.  This was great for Alagad, which could bill for this time.  However, I think there may have been unintended consequences of this policy.  For example, just because a programmer worked 50 or 60 hours doesn&#8217;t mean they did quality work during that period.  That&#8217;s not to say my employees ever didn&#8217;t give me quality work, but I know that part of the incentive to putting in those long hours was simply to make more money.</p>
<p>So, at this point, Drive has me thinking about changing our compensation system at Alagad.  We&#8217;ve been seriously considering simply paying a generous salary and leaving it at that.  Other aspects I think we need to consider are the matters of time off.  For example, who cares how often someone&#8217;s in the office?  Doesn&#8217;t it matter more that the work is well, and on-time?  Isn&#8217;t PTO simply another aspect of Carrot and Stick motivation?  &#8220;If you&#8217;re not in the office enough you&#8217;re fired!!&#8221;  I think this bears more thought.  I could go into this for quite a while and hash it out in some sort of personal stream of thought drivel, but I&#8217;ll spare you.</p>
<p>In the end, my recommendation on Drive is to read it.  It&#8217;s an interesting read that will have you thinking about how people see the world and what motivates them on a day to day basis.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F07%2Falagad-business-book-reviews-drive-by-daniel-h-pink%2F&amp;title=Alagad+Business+Book+Reviews%3A+Drive+by+Daniel+H.+Pink" title="Bookmark this post : Alagad Business Book Reviews: Drive by Daniel H. Pink on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F07%2Falagad-business-book-reviews-drive-by-daniel-h-pink%2F&#038;title=Alagad+Business+Book+Reviews%3A+Drive+by+Daniel+H.+Pink&#038;bodytext=I+recently+read+the+book+Drive%3A+The+Surprising+Truth+About+What+Motivates+Us+by+Daniel+H.+Pink.%C2%A0+This+book+is+a+review+of+what+truly+motivates+people.%C2%A0+Apparently%2C+our+society+as+a+whole+pretty+much+takes+the+wrong+approach+at+motivating+people.%0D%0A%0D%0AThe+book+explains+that+for+a+long+time+humans+have+been+using+the+%22ca" title="Digg this post : Alagad Business Book Reviews: Drive by Daniel H. Pink"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F07%2Falagad-business-book-reviews-drive-by-daniel-h-pink%2F&amp;t=Alagad+Business+Book+Reviews%3A+Drive+by+Daniel+H.+Pink" title="Recommend this post : Alagad Business Book Reviews: Drive by Daniel H. Pink on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F07%2Falagad-business-book-reviews-drive-by-daniel-h-pink%2F&amp;title=Alagad+Business+Book+Reviews%3A+Drive+by+Daniel+H.+Pink" title="Share this post : Alagad Business Book Reviews: Drive by Daniel H. Pink on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F07%2Falagad-business-book-reviews-drive-by-daniel-h-pink%2F&amp;title=Alagad+Business+Book+Reviews%3A+Drive+by+Daniel+H.+Pink" title="Share this post : Alagad Business Book Reviews: Drive by Daniel H. Pink with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F07%2Falagad-business-book-reviews-drive-by-daniel-h-pink%2F" title="Tweet this post : Alagad Business Book Reviews: Drive by Daniel H. Pink on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/07/alagad-business-book-reviews-drive-by-daniel-h-pink/feed" title="Follow this post : Alagad Business Book Reviews: Drive by Daniel H. Pink comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/07/alagad-business-book-reviews-drive-by-daniel-h-pink/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>My Changing Role At Alagad</title>
		<link>http://blog.alagad.com/2010/07/06/my-changing-role-at-alagad/</link>
		<comments>http://blog.alagad.com/2010/07/06/my-changing-role-at-alagad/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 12:37:43 +0000</pubDate>
		<dc:creator>Doug Hughes</dc:creator>
				<category><![CDATA[Alagad]]></category>

		<guid isPermaLink="false">http://blog.alagad.com/?p=1738</guid>
		<description><![CDATA[I founded Alagad one afternoon in 1996.  Since then, I’ve been the president and &#8220;face&#8221; of Alagad.  When people think of Alagad they probably think of me, not to mention the stellar team I managed to assemble.
However, with all ...]]></description>
			<content:encoded><![CDATA[<p>I founded Alagad one afternoon in 1996.  Since then, I’ve been the president and &#8220;face&#8221; of Alagad.  When people think of Alagad they probably think of me, not to mention the stellar team I managed to assemble.</p>
<p>However, with all of the drama the company’s had to endure over the last few weeks and months, I’ve slowly begun to learn that I’m effective at some parts of running a business and not so effective at others.</p>
<p>Specifically, I’m pretty good at coming up with ideas.  For example, the <a href="/alagad-projects/image-component/" target="_blank">Image Component</a> was my first real breakthrough idea.  I also had the idea to turn Alagad into a larger consulting company.  More recently, Alagad announced <a href="http://www.alagad.com/services.taskForce" target="_blank">TaskForce</a>, our prepaid, on-demand, development service.  And this just scratches the surface of the ideas that I have floating around in my head.</p>
<p>However, when it comes down to the day-to-day operations of a company, I couldn’t be less interested.  I’m not the kind of person who enjoys looking at spreadsheets, projecting financials, or handling conflict.</p>
<p>With that in mind, the Alagad management team has decided to move Randy Miller, our program manager, into the CEO role at Alagad.  So, moving forward it will be Randy’s job to execute against Alagad’s business and strategic plans.  He thrives on spreadsheets and is much more suited to that role than I am.</p>
<p>For now, I’m going to be holding onto my title of president.  However, I’m moving towards a new role of Chief Evangelist.  What this means for me is that I’ll have a lot more focus on communicating with developers and businesses.  As a part of this I’ll hopefully be blogging a lot more frequently, attending more conferences, and experimenting with a variety of technologies to create demos, useful tools, and anything else that’s relevant to my job of communicating with the world.</p>
<p>I’m really not sure what to expect out of this change yet.  I’m already working on an interesting social application created in Ruby and Rails.  We’ll see what else I can find to write about as we go along!</p>
<p>Meanwhile, if you happen to need any help on a ColdFusion project please be sure to send me an email.  I’m actively looking for consulting and development work both for Chris Peterson (who is back with Alagad!) and myself.  Chris is unparalleled in his knowledge and skill at finding and resolving performance problems in web applications.  We’re offering a great rate on his time right now, so be sure to check with us if you need this type of help.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F06%2Fmy-changing-role-at-alagad%2F&amp;title=My+Changing+Role+At+Alagad" title="Bookmark this post : My Changing Role At Alagad on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F06%2Fmy-changing-role-at-alagad%2F&#038;title=My+Changing+Role+At+Alagad&#038;bodytext=I+founded+Alagad+one+afternoon+in+1996.%C2%A0+Since+then%2C+I%E2%80%99ve+been+the+president+and+%22face%22+of+Alagad.%C2%A0+When+people+think+of+Alagad+they+probably+think+of+me%2C+not+to+mention+the+stellar+team+I+managed+to+assemble.%0D%0A%0D%0AHowever%2C+with+all+of+the+drama+the+company%E2%80%99s+had+to+endure+over+the+last+few+weeks+and+months%2C+I%E2%80%99ve" title="Digg this post : My Changing Role At Alagad"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F06%2Fmy-changing-role-at-alagad%2F&amp;t=My+Changing+Role+At+Alagad" title="Recommend this post : My Changing Role At Alagad on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F06%2Fmy-changing-role-at-alagad%2F&amp;title=My+Changing+Role+At+Alagad" title="Share this post : My Changing Role At Alagad on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F06%2Fmy-changing-role-at-alagad%2F&amp;title=My+Changing+Role+At+Alagad" title="Share this post : My Changing Role At Alagad with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fblog.alagad.com%2F2010%2F07%2F06%2Fmy-changing-role-at-alagad%2F" title="Tweet this post : My Changing Role At Alagad on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="rss" href="http://blog.alagad.com/2010/07/06/my-changing-role-at-alagad/feed" title="Follow this post : My Changing Role At Alagad comments"><span class="head">Subscribe to the comments on this post</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alagad.com/2010/07/06/my-changing-role-at-alagad/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
