<?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>Cognition</title>
	<atom:link href="http://www.cognition.ca/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cognition.ca</link>
	<description>Balls-in-the-air Entrepreneurship and Juggling.</description>
	<lastBuildDate>Thu, 22 Jul 2010 06:34:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>OpenStack &#8211; Where we&#8217;re going, and why</title>
		<link>http://www.cognition.ca/2010/07/openstack-nasa-nebula-joshua-mckenty-and-history.html</link>
		<comments>http://www.cognition.ca/2010/07/openstack-nasa-nebula-joshua-mckenty-and-history.html#comments</comments>
		<pubDate>Thu, 22 Jul 2010 06:34:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=225</guid>
		<description><![CDATA[I didn&#8217;t sleep much on Sunday night. By the time I headed for bed, the news was out, and the twittubes were flooded. Desperate to get sleep, but I&#8217;m terrified to wake up to 1,000 new bug reports. It&#8217;s like streaking the quad, but with code. #openstack @jmckenty There was a video up from an [...]]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t sleep much on Sunday night. By the time I headed for bed, the news was out, and the twittubes were flooded.</p>
<blockquote><p>Desperate to get sleep, but I&#8217;m terrified to wake up to 1,000 new bug reports. It&#8217;s like streaking the quad, but with code. #openstack <a title="Twitter Status for @jmckenty" href="http://twitter.com/jmckenty/status/18898545442">@jmckenty</a></p></blockquote>
<p>There was <a title="NASA Chief Cloud Architect discusses Open Stack" href="http://bartongeorge.net/2010/07/16/nasa%E2%80%99s-chief-cloud-architect-talks%C2%A0openstack/">a video up from an interview</a> I had given the week before.</p>
<p>There were over 100 developers camped out in the <a href="irc://irc.freenode.net/#openstack">#openstack</a> channel, asking probing questions. Most of them were politely worded versions of: &#8220;What the hell were you thinking?&#8221;</p>
<p>Patches started coming in. Then <a href="http://bits.blogs.nytimes.com/2010/07/20/the-recipe-for-clouds-goes-open-source/">a New York Times blog post</a>. More bug reports. More patches. More press.</p>
<div class="wp-caption alignleft" style="width: 135px"><img title="Original Nebula Logo" src="http://www.cloudbook.net/images/companies/nebula_logo.jpg" alt="Original Nebula Logo" width="125" height="125" /><p class="wp-caption-text">Original Nebula Logo</p></div>
<p>I&#8217;d love to say that we shared a moment of solidarity as a team, toasted ourselves, and wrote more code. But truthfully, half of the NASA Nebula team were on a red-eye flight to DC, to run another set of training workshops for new Nebula users. Some were holed up with the legal teams, trying to figure out how to take the Nova example (brute-force software release) and use it to reshape NASA&#8217;s open source software release policy. Vish was bravely manning IRC, answering the flood of questions.</p>
<p>And in a classic case of nostalgia, I started thinking back over the crazy history of this &#8220;thing&#8221; that has had more names, than developers.</p>
<p>The code name of the &#8220;compute&#8221; component in Open Stack is called &#8220;Nova&#8221;. While, if you had the appropriate access to NASA internal systems, you could find early references to the &#8220;Novae&#8221; task in Nebula development (which was originally the PXE and Puppet-based configuration management system we used for deploying Nebula to physical hardware), the earliest public record of nova is this:</p>
<p><a href="http://www.flickr.com/photos/rocketqueen/3596245017/" title="NASA nebula bonding lunch by rr0cketqueen, on Flickr"><img src="http://farm3.static.flickr.com/2462/3596245017_69dc40455f.jpg" width="500" height="375" alt="NASA nebula bonding lunch - We Are the Nova" /></a></p>
<p>&#8220;NASA Nebula Bonding Lunch &#8211; We Are the Nova&#8221;</p>
<p>Which is possibly one of the worst photos of me on the internet. C&#8217;est la via.</p>
<p>While in Austin, Texas last week, at the first Open Stack Developer&#8217;s Summit, I had an opportunity to give a brief presentation about NASA Nebula &#8211; why we were in the Cloud business, some of the history that led us to this point, etc. While I never prepare slide decks to be standalone (I prefer to use them as audio-visual aids to the substance of the event, which is obviously paying attention to <em>me</em>), you can have a look at the whole thing:</p>
<div id="__ss_4796103" style="width: 425px;"><strong><a title="The Space Penguin Odyssey" href="http://www.slideshare.net/joshuamckenty/the-space-penguin-odyssey">The Space Penguin Odyssey</a></strong><object id="__sse4796103" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=openstackkeynote-small2-100720081410-phpapp01&amp;stripped_title=the-space-penguin-odyssey" /><param name="name" value="__sse4796103" /><param name="allowfullscreen" value="true" /><embed id="__sse4796103" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=openstackkeynote-small2-100720081410-phpapp01&amp;stripped_title=the-space-penguin-odyssey" name="__sse4796103" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>It was based, loosely, on an internal memo I sent a while back to some members of the Nebula team (excerpts below):</p>
<blockquote>
<div>There are, literally, a ton of people on the Nebula team now. Which is awesome. But it also mean there are dozens of you that I&#8217;ve never had a chance to interact with personally, who may have missed a lot of our early (ancient) discussions about WHY we&#8217;re all working so damn hard.</div>
<div><strong>It&#8217;s not about the money.</strong></div>
<div>Which is to say, Nebula is not, primarily, about cost recovery. It&#8217;s not (mostly) about saving money, for missions, projects, or the Agency at large.</div>
<div>And on the flip side, we&#8217;re not DOING this just because it&#8217;s our job. Nebula is not the place for &#8220;work to rule&#8221; &#8211; if you don&#8217;t wake up every morning with a burning desire to get to your keyboard and roll the Nebula ball forward, then there are honestly better places and projects for you to be working on.</div>
<div><strong>It&#8217;s not about being on the &#8220;cutting edge</strong>&#8220;.</div>
<div>We get a ton of press on Nebula, most of it excited over how <em>innovative NASA</em>has become, how we&#8217;re embracing new technologies, how we&#8217;re leading the government forward. And all of that is great &#8211; but that&#8217;s not why we&#8217;re doing it. This is not innovation, for the sake of innovation.</div>
<div><strong>It&#8217;s about the Science.</strong></div>
<div>I haven&#8217;t really been at NASA long enough to have a good grasp of its long and illustrious history. So in the same fashion that I get away with practicing Computer Science without having formally <em>studied </em>it, I have to work from first principles. In this case, the first principles are a happy little document titled, the &#8220;Space Act&#8221; (Specifically the Declaration of Policy and Purpose, section 102):</div>
<div>Sec. 102.  (a) The Congress hereby declares that it is the policy of the United States that activities in space should be devoted to <strong>peaceful purposes for the benefit of all mankind.</strong></div>
<div>(7) Cooperation by the United States with other nations and groups of nations in work done pursuant to this Act and in the peaceful application of the results thereof;</div>
<div><strong>(8) The most effective utilization of the scientific and engineering resources of the United States, with close cooperation among all interested agencies of the United States in order to avoid unnecessary duplication of effort, facilities, and equipment;</strong></div>
<div>So I&#8217;d just like to point out that the <em>mission statement of the Agency, includes specifically section 102(d)(8) &#8211; </em>is to cooperate with other agencies in order to make effective utilization of scientific and engineering resources. AKA&#8230; Cloud Computing.</div>
<div>Open Source, by which I mean participation in an open source <em>process</em>, as well as the release of source code under an open license, is an activity NASA can partake of under section 102(a). It is <em>way more meaningful</em> than most of the rest of what we&#8217;re doing.</div>
</blockquote>
<div>Some of you may have noticed that I&#8217;m no longer involved with NASA Nebula in a full-time capacity. They don&#8217;t need me anymore. But I&#8217;ve still got a two-year roadmap of challenges that I&#8217;d love to see Open Stack address, and I&#8217;ll be posting that to <a href="https://blueprints.launchpad.net/openstack">Launchpad</a> and the <a href="http://wiki.openstack.org/">Open Stack wiki</a> just as soon as I can.</div>
<div><strong>We ain&#8217;t done yet.</strong></div>
<span class="akst_link"><a href="http://www.cognition.ca/?p=225&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_225"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2010/07/openstack-nasa-nebula-joshua-mckenty-and-history.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launched NOVA &#8211; Apache-Licensed Cloud Computing, in Python</title>
		<link>http://www.cognition.ca/2010/05/launched-nova-apache-licensed-cloud-computing-in-python.html</link>
		<comments>http://www.cognition.ca/2010/05/launched-nova-apache-licensed-cloud-computing-in-python.html#comments</comments>
		<pubDate>Fri, 28 May 2010 07:40:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[cloud computing]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/2010/05/launched-nova-apache-licensed-cloud-computing-in-python.html</guid>
		<description><![CDATA[It&#8217;s live, it&#8217;s buggy, it&#8217;s beta. Check it out: http://novacc.org From the website: Nova is a cloud computing fabric controller (the main part of an IaaS system) built to match the popular AWS EC2 and S3 APIs. It is written in Python, using the Tornadoand Twisted frameworks, and relies on the standard AMQP messaging protocol, and the Redis distributed KVS. Nova is intended [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s live, it&#8217;s buggy, it&#8217;s beta.<br />
Check it out:</p>
<p><a href="http://novacc.org">http://novacc.org</a></p>
<p>From the website:</p>
<blockquote><p>Nova is a cloud computing fabric controller (the main part of an <a href="http://en.wikipedia.org/wiki/IaaS" target="_blank">IaaS</a> system) built to match the popular AWS <a href="http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/" target="_blank">EC2</a> and <a href="http://docs.amazonwebservices.com/AmazonS3/latest/API/" target="_blank">S3</a> APIs. It is written in <a href="http://python.org/" target="_blank">Python</a>, using the <a href="http://www.tornadoweb.org/" target="_blank">Tornado</a>and <a href="http://twistedmatrix.com/trac/wiki/TwistedProject" target="_blank">Twisted</a> frameworks, and relies on the standard <a href="http://www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol" target="_blank">AMQP messaging protocol</a>, and the <a href="http://code.google.com/p/redis/" target="_blank">Redis</a> distributed KVS.</p>
<p>Nova is intended to be easy to extend, and adapt.</p></blockquote>
<span class="akst_link"><a href="http://www.cognition.ca/?p=222&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_222"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2010/05/launched-nova-apache-licensed-cloud-computing-in-python.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A WebHook named &#8216;Jeff&#8217;</title>
		<link>http://www.cognition.ca/2009/04/a-webhook-named-jeff.html</link>
		<comments>http://www.cognition.ca/2009/04/a-webhook-named-jeff.html#comments</comments>
		<pubDate>Sun, 26 Apr 2009 02:56:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[webhooks]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=191</guid>
		<description><![CDATA[  PROBLEM: Help people understand how cool webhooks are. PROBLEM: Find out when there&#8217;s new content on a site. SOLUTION: Put a webhook into the site&#8217;s search indexing tool &#8211; SOLR. SOLUTION: Custom SOLR Token Filter.       WHY? Every cool web app (sooner or later) has some cool content in it. So you [...]]]></description>
			<content:encoded><![CDATA[<p> </p>
<div id="attachment_199" class="wp-caption aligncenter" style="width: 364px"><img class="size-full wp-image-199  " title="picture-28" src="http://www.cognition.ca/wp-content/uploads/2009/04/picture-28.png" alt="Jeff as a webhook" width="354" height="507" /><p class="wp-caption-text">Jeff as a webhook</p></div>
<p>PROBLEM: Help people understand how cool webhooks are.<br />
PROBLEM: Find out when there&#8217;s new content on a site.</p>
<p>SOLUTION: Put a webhook into the site&#8217;s search indexing tool &#8211; SOLR.<br />
SOLUTION: Custom SOLR Token Filter.</p>
<div id="attachment_195" class="wp-caption alignright" style="width: 531px"><img class="size-full wp-image-195" title="picture-27" src="http://www.cognition.ca/wp-content/uploads/2009/04/picture-27.png" alt="The code, while JAVA and therefore evil, is trivial." width="521" height="305" /><p class="wp-caption-text">The code, while JAVA and therefore evil, is trivial.</p></div>
<p> </p>
<p> </p>
<p> </p>
<p><strong>WHY?</strong></p>
<p>Every cool web app (sooner or later) has some cool content in it. So you add a search engine. When your users want to build mashups with that content, you add webhooks to that engine. And you&#8217;re done.</p>
<p><img class="size-full wp-image-194" title="picture-26" src="http://www.cognition.ca/wp-content/uploads/2009/04/picture-26.png" alt="Webhooks hitting a remote server, shown in Apache log." width="531" height="365" /><br />
Starting point: http://e-mats.org/2008/06/writing-a-solr-analysis-filter-plugin/</p>
<p><strong>GOTCHAS:</strong><br />
JAVA &#8211; Evil and Stupid<br />
Java classpath (on Mac) &#8211; also Evil and Stupid<br />
Java permissions (to connect to remote servers) &#8211; http://forums.sun.com/thread.jspa?threadID=5309619</p>
<p><strong>WHERE IS THIS GOING TO LIVE?</strong></p>
<p> </p>
<div id="attachment_203" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-203" title="picture-30" src="http://www.cognition.ca/wp-content/uploads/2009/04/picture-30-300x163.png" alt="Webhooks coming to NASA soon..." width="300" height="163" /><p class="wp-caption-text">Webhooks coming to NASA soon...</p></div>
<p> </p>
<p><strong>FINAL TAKEAWAY: Fitz was right &#8211; everything should be HTTP.</strong></p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=191&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_191"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2009/04/a-webhook-named-jeff.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>&#8220;Rabbits FTW&#8221; &#8211; The Mark Cuban Stimulus Package Needs Meat</title>
		<link>http://www.cognition.ca/2009/02/rabbits-ftw-the-mark-cuban-stimulus-package-needs-meat.html</link>
		<comments>http://www.cognition.ca/2009/02/rabbits-ftw-the-mark-cuban-stimulus-package-needs-meat.html#comments</comments>
		<pubDate>Mon, 23 Feb 2009 16:15:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[carbon]]></category>
		<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[contests]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[FTW]]></category>
		<category><![CDATA[global warming]]></category>
		<category><![CDATA[mark cuban]]></category>
		<category><![CDATA[methane]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[rabbits]]></category>
		<category><![CDATA[stimulus package]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=174</guid>
		<description><![CDATA[Most of my (non-work-related) thinking these days circles around how we, as a species, a culture, or a geographical collection of human flesh, can make a smooth recovery from our petroleum addiction. I read a fair bit on the subject, from the &#8220;Post-Petroleum Survival Guide and Cookbook&#8221;, to my current muse, &#8220;Peak Everything&#8221;. As is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/0865715688?ie=UTF8&amp;tag=cognition-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0865715688"><img class="alignright size-full wp-image-175" title="51jzv-1ou-l_sl160_" src="http://www.cognition.ca/wp-content/uploads/2009/02/51jzv-1ou-l_sl160_.jpg" alt="51jzv-1ou-l_sl160_" width="129" height="160" /></a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=googlatr-20&amp;l=as2&amp;o=1&amp;a=0865715688" border="0" alt="" width="1" height="1" /><br />
Most of my (non-work-related) thinking these days circles around how we, as a species, a culture, or a geographical collection of human flesh, can make a smooth recovery from our petroleum addiction. I read a fair bit on the subject, from the <a href="http://www.amazon.com/gp/product/0865715688?ie=UTF8&amp;tag=cognition-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0865715688">&#8220;Post-Petroleum Survival Guide and Cookbook&#8221;</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=cognition-20&amp;l=as2&amp;o=1&amp;a=0865715688" border="0" alt="" width="1" height="1" />, to my current muse, <a href="http://www.amazon.com/gp/product/086571598X?ie=UTF8&amp;tag=googlatr-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=086571598X">&#8220;Peak Everything&#8221;</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=googlatr-20&amp;l=as2&amp;o=1&amp;a=086571598X" border="0" alt="" width="1" height="1" />.</p>
<p>As is often the case with the large, complex issues facing humanity, most of our effort is (dare I say it?) wasted on trying to fix the wrong things. Like changing our lightbulbs. Even changing our cars is, most of the time, the wrong thing. Why?<span id="more-174"></span></p>
<p>Making a thing, almost ANY thing, takes an enormous amount of energy input. These days, most of that energy input is petroleum, generating huge amounts of waste carbon. So regardless of how much BETTER the end product is, it needs to fulfill two criteria to justify the switch:</p>
<p>1. It needs to last forever (or some reasonable facsimile).<br />
2. It needs to use so much less carbon, that it offsets the output of buying something NEW in the first place.<a href="http://www.amazon.com/gp/product/0865715688?ie=UTF8&amp;tag=cognition-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0865715688"></a></p>
<p><a href="http://www.amazon.com/gp/product/0865715688?ie=UTF8&amp;tag=cognition-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0865715688"> </a></p>
<p><strong>Our problem, as a culture, is less an OIL addiction, as it is an addiction to CONSUMING. Endlessly.</strong><a href="http://www.amazon.com/gp/product/086571598X?ie=UTF8&amp;tag=googlatr-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=086571598X"><img class="size-full wp-image-178 alignright" title="41un9bgh5ql_sl160_" src="http://www.cognition.ca/wp-content/uploads/2009/02/41un9bgh5ql_sl160_.jpg" alt="Peak Everything" width="107" height="160" /></a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=googlatr-20&amp;l=as2&amp;o=1&amp;a=086571598X" border="0" alt="" width="1" height="1" /></p>
<p>Let&#8217;s take the principles of the &#8220;<a href="http://en.wikipedia.org/wiki/1948_Tucker_Sedan">Tucker</a>&#8221; automobile, and apply them to all consumer goods. Do away with &#8220;<a href="http://en.wikipedia.org/wiki/Planned_obsolescence">designed obsolescence</a>&#8220;, and try building things to LAST, for a change.</p>
<p>My favorite example of this? A Stanley #2 plane.</p>
<p><strong><em>(&#8216;But wait!&#8217; you cry. &#8216;What about the Rabbits?&#8217;)</em></strong></p>
<p>Ah yes. The Rabbits.</p>
<p>Even in &#8220;Peak Everything&#8221;, when the author discusses how America may need to shift back to a nation with 20-40% of our workforce involved directly in agriculture (in a move called re-ruralization), which mimics much of what Cuba did after the trade embargo was put into place &#8211; there&#8217;s still too much emphasis on simple vegetables and grain. As a passionate carnivore, I have to ask &#8211; <strong>Where&#8217;s the beef?!?</strong></p>
<p><strong>What&#8217;s wrong with cows, anyway?</strong> A lot, as it turns out.</p>
<p>1. They produce tons of methane, a greenhouse gas that&#8217;s hundreds of times worse than simple carbon dioxide.<br />
2. They&#8217;re horribly inefficient at converting feed or pasture to meat.<br />
3. They&#8217;re grazed at great distances from where they&#8217;re processed, and then transported great distances AGAIN to where they&#8217;re consumed.</p>
<dl class="wp-caption alignright" style="width: 190px;">
<dt class="wp-caption-dt"><a href="http://flickr.com/photos/tetradite/838503953/"><img title="Stanley Plane" src="http://farm2.static.flickr.com/1269/838503953_da388bacfe_m.jpg" alt="Copyright by Tetradite" width="180" height="240" /></a></dt>
</dl>
<p>4. They require relatively high-quality rangeland, and human-edible feed &#8211; which contributes directly to the worldwide shortage of arable land.</p>
<p><strong>What&#8217;s better?</strong> Locally-grown, locally-processed rabbits. Why?</p>
<p>1. Rabbits are incredibly efficient at converting vegetable scraps, and simple non-human-edible vegetation (dandelions, for instance) into meat.<br />
2. Their meat is lean, perhaps cutting down on the obesity endemic.<br />
3. They&#8217;re fast and simple to process, with very little toxic byproduct from slaughtering.<br />
4. They breed like, well, like rabbits.<br />
5. They&#8217;re simple to breed on a highly-localized scale, reducing transport and attendant fuel costs, pollution, etc.</p>
<p><strong>So <a href="http://blogmaverick.com/2009/02/09/the-mark-cuban-stimulus-plan-open-source-funding/">here&#8217;s my pitch, Mr. Cuban</a></strong> &#8211; strike some direct-to-restaurant business deals with major fast-food chains (I&#8217;m thinking Wendy&#8217;s or McD-scale) for the &#8220;Bunny Burger&#8221;. Work with <a href="http://www.jdk.com/live/home.html">these guys</a> on some compelling branding to take the stigma away from breaking fast on the bunny scramble, and put together massively distributed production of bunnies (and their attendant feed). Compost and sell the manure. Feed them kitchen scraps from the same restaurants that are buying your bunny burgers.</p>
<p>Hire the homeless as Neo-shepherds, to keep stray dogs and eagles away from your flock. And where do you put them? How bout the parking garages that will be abandoned as our global economy (and our ability to make ridiculous monthly payments) hits the toilet?</p>
<p>Rabbits. FTW.</p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=174&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_174"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2009/02/rabbits-ftw-the-mark-cuban-stimulus-package-needs-meat.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Cool things I&#8217;ve discovered recently</title>
		<link>http://www.cognition.ca/2009/02/cool-things-ive-discovered-recently.html</link>
		<comments>http://www.cognition.ca/2009/02/cool-things-ive-discovered-recently.html#comments</comments>
		<pubDate>Thu, 19 Feb 2009 08:14:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[dd-wrt]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=167</guid>
		<description><![CDATA[I&#8217;ve never done a round-up post before, so now must be a good time. Here are a few cool things I&#8217;ve found recently: How to use VPN to solve VoIP problems As some of you may be aware, when I&#8217;m not busy with my day job at NASA, I run a small VoIP company. The [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve never done a round-up post before, so now must be a good time. Here are a few cool things I&#8217;ve found recently:</p>
<h2>How to use VPN to solve VoIP problems</h2>
<p>As some of you may be aware, when I&#8217;m not busy with my day job at NASA, I run <a href="http://www.natel.ca">a small VoIP company</a>. The why and when of this company is a story for another day, with intrigue, betrayal, ex-CIA agents, con artists, lawsuits and utter, utter sleep deprivation. But, as I said, that will have to wait.</p>
<p><a href="http://www.natel.ca"><img class="alignright" title="The Green Phone" src="http://farm1.static.flickr.com/208/471663573_5e720ebeb4.jpg" alt="" width="301" height="225" /></a>It&#8217;s a simple enough business &#8211; multi-line phone service for homes and offices, complete with distinctive ring, cool automated phone trees, time-of-day dialing, etc. And it has always had one nasty technology problem in it &#8211; NAT.</p>
<p>Anyone who has ever dealt with VoIP has run into all the various ways that NAT can go wrong. And I thought I had worked out ways to deal with most of them &#8211; at least, until I started working with some new hardware.</p>
<p>Let&#8217;s skip the gory details, and summarize by saying that I&#8217;ve been forced to deal with this problem in a decisive, and final, fashion.<span id="more-167"></span></p>
<p>No more NAT. Instead &#8211; <a href="http://openvpn.net/">OpenVPN</a>.</p>
<p>There are usually two different ways to handle getting a VoIP phone connected to a remote VPN server &#8211; either connect the phone directly (if it supports that), or put in some sort of VPN concentrator. There are even routers that support VPN tunneling &#8211; if you&#8217;re willing to pay for it.</p>
<p>There&#8217;s also another way &#8211; a happy story called <a href="http://www.dd-wrt.com">DD-WRT</a>. This is an alternative, open-source firmware for many of today&#8217;s most common hardware routers &#8211; including the WRT54G2 that I&#8217;ve been dealing with. Along with being just really cool, it offers both a VoIP SIP Proxy (which I opted against), and an OpenVPN implementation.</p>
<p>So this is what I&#8217;ve ended up with &#8211; an office LAN full of happy telephones, connected through a VPN tunnel that originates in their gateway device, and terminates in my Asterisk Server. No muss, no fuss.</p>
<p>And a few happy side effects, to boot:</p>
<ul>
<li>Because the VPN traffic is encrypted (and prioritized by the ISP), I&#8217;m no longer vulnerable to any nasty stateful packet inspection and downgrading of third-party VoIP (see the <a href="http://www.ip97.com/shaw_takes_action_against_vonage_ebhi.aspx">lawsuit between Vonage and Shaw</a> for details).</li>
<li>This VPN link works both ways &#8211; I can remotely configure all those phones without having to expose them to the public internet. Goodbye, site visits.</li>
</ul>
<p>(Some credit for this solution goes to Chiral Software &#8211; although I didn&#8217;t find <a href="http://chiralsoftware.com/asterisk-article/voip-sip-asterisk-configuration-part-1.jsp">this post</a> until after I had decided on an OpenVPN solution, it still had some helpful hints. But I believe using DD-WRT makes the whole thing more elegant.)</p>
<h2>Turning 404 Errors into &#8220;I&#8217;m Feeling Lucky&#8221; Searches</h2>
<p><a href="http://overstimulate.com">Jesse Andrews</a> and I often take turns copying each other. (Of course, since he&#8217;s <a href="http://blog.wired.com/business/2009/02/wanna-play-clik.html">ridiculously famous</a>, and I&#8217;m only mildly annoying, people usually notice me copying him. Alas). Anyway, Jesse was the first one to point out <a href="http://humanized.com/weblog/2006/09/11/monolog_boxes_and_transparent_messages/">Humanized Messages</a> to me. After which, I used (and modified) a <a href="http://code.google.com/p/humanmsg/">jQuery plugin to put Humanized Messages</a> into a <a href="http://spandexfox.com/googazon/">Firefox Extension</a>.</p>
<p><a href="http://www.flickr.com/photos/massenpunkt/91952193/"><img class="size-medium wp-image-170 alignright" title="404" src="http://www.cognition.ca/wp-content/uploads/2009/02/picture-1-300x265.png" alt="404" width="300" height="265" /></a></p>
<p>Jesse had to go one better, and built almost the same effect into <a href="http://overstimulate.com/articles/search-results-in-firefox">Searchy</a>, one of HIS Firefox Extensions. But he wrote it from scratch, and made it actually much nicer.</p>
<p>Anyway, I had been hacking on various ways to monetize browser extensions at the time, and harking back to the days when we wrote the &#8220;HP Browser Booster&#8221; at Mercurial. One of the many things it did, was to redirect 404 errors to the AOL Search Page. I figured I could do better than that &#8211; and I wrote &#8220;Four-Oh&#8221;.</p>
<p>This happy extension detects a 404 error (well before the 404 page is displayed, which was a happy little piece of coding), strips the requested path off the base domain name, converts slashes into spaces, and then uses that as an &#8220;I&#8217;m feeling lucky&#8221; query for the site:&lt;domainname.com&gt; of the original request.</p>
<p>Lost?</p>
<p>It means that trying to go to <a href="http://overstimulate.com/taboo">http://overstimulate.com/taboo</a> &#8211; will automatically land you on <a href="http://overstimulate.com/projects/taboo">http://overstimulate.com/projects/taboo</a>.</p>
<p>Not satisfied with simply a useful little utility, I also parse an RSS feed of random jokes, and pop one of them up on top of the resulting page &#8211; in a Humanized Message window that looks remarkably like Searchy.</p>
<p>Jesse, your turn.</p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=167&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_167"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2009/02/cool-things-ive-discovered-recently.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Make $1 on The Internet</title>
		<link>http://www.cognition.ca/2009/02/how-to-make-1-on-teh-intertubes.html</link>
		<comments>http://www.cognition.ca/2009/02/how-to-make-1-on-teh-intertubes.html#comments</comments>
		<pubDate>Tue, 17 Feb 2009 07:18:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[affiliate]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[gold bars]]></category>
		<category><![CDATA[make money]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=156</guid>
		<description><![CDATA[Growing up in the Gen-X / Gen-Y, post-TV world of my youth has obvious advantages. But it lacks some of the nuance of yesteryear &#8211; like a framed copy of your first dollar. Making money on the internet, at least at a small scale, is exactly the opposite of making money in the real world. [...]]]></description>
			<content:encoded><![CDATA[<p>Growing up in the Gen-X / Gen-Y, post-TV world of my youth has obvious advantages. But it lacks some of the nuance of yesteryear &#8211; like a framed copy of your first dollar.</p>
<p><img class="alignright" title="Gold Bars" src="http://goldprice.org/buying-gold/uploaded_images/gold-bars-775426.jpg" alt="" width="300" height="237" />Making money on the internet, at least at a small scale, is exactly the opposite of making money in the real world. Trying something is so cheap, you should just keep trying things until something works. Unfortunately, just because it works a little bit &#8211; doesn&#8217;t mean it&#8217;ll work much more than that.</p>
<p>I started writing software when I was seven years old. Most of the years I clung to the idea that, someday, I would write a piece of software that people would pay money to OWN. When I began working, first as a coder and then later as a software architect, I still held out dreams of building the next Google &#8211; a gigantic, brilliant piece of engineering that would make me the richest man in the world.</p>
<p>And then<a href="http://www.slideshare.net/mgrtbx/elegant-solutions-breaktrough-thinking-the-toyota-way-a-changethis-manifesto-by-matthew-e-mat-presentation"> I discovered Toyota.</a></p>
<p>This was also just about the time I was going broke, chasing one of these big, complicated visions.<span id="more-156"></span></p>
<p>To take my mind off things, I decided to start copying <a href="http://overstimulate.com">Jesse Andrews</a> (the godfather of <a href="http://userscripts.org">UserScripts.org</a>). Build simple, clean, simple, tiny, simple&#8230; really SIMPLE pieces of software that do only one thing.</p>
<p>But I took a little twist on Jesse&#8217;s way of doing it &#8211; I would only work on things that I could code, test, and ship &#8211; in one sitting.</p>
<p>And we called it &#8220;<a href="http://www.cognition.ca/tinyapps">Tiny Apps</a>&#8220;. And it was good.</p>
<p>But not that good. A great little app, thrown together in a few hours and tossed out into the surf of the Intarwebs, is a bit of a sitting duck. People started shooting them &#8211; by which, I mean ripping our ideas off EXACTLY &#8211; and then getting tons of press.</p>
<p>US: <a title="Whois Social" href="http://Whoissocial.com">Whoissocial.com</a>. Four days later: <a title="UserNameCheck.com" href="http://usernamecheck.com">usernamecheck.com</a></p>
<p>US: <a title="Gastracker.cognition.ca" href="http://Gastracker.cognition.ca">Gastracker.cognition.ca</a>. Several months later: <a href="http://mashable.com/2008/10/15/car-fuel-maintenance/">A whole bunch of them.<img class="alignright" title="Microsoft Gold Bag" src="http://www.josmaco.com.my/catalog/images/non-woven%20bag/gold%20nonwoven%20bag.jpg" alt="" width="300" height="300" /></a></p>
<p>My original tiny app, a <a title="Buy Later - Amazon Price Watch" href="http://buylatr.com">grid-computer-powered price-watching service</a>, remains the only Tiny App to make much money. Okay, any money. Really. Freddy Mangum and I worked on developing this concept further, and prototyped a few variants &#8211; <a href="http://spandexfox.com">GoogAzon</a>, which adds Amazon and eBay search results to google pages; and &#8220;<a href="https://addons.mozilla.org/en-US/firefox/addon/9857">The Kraken</a>&#8220;, which was a tongue-in-cheek response to the &#8220;<a href="http://pirates-of-the-amazon.com/">Pirates of the Amazon</a>&#8221; extension that came out late last year.</p>
<p>The Kraken was notable enough to get us <a href="http://www.download.com/8301-2007_4-10113715-12.html">some substantial press</a> (and a fair number of downloads, too) &#8211; but it&#8217;s never made a cent.</p>
<p><strong>Here&#8217;s how I&#8217;ve made money on teh internet:</strong></p>
<ul>
<li><a href="https://www.google.com/adsense">Google Adsense</a>. But only a little. ($46 in three years, roughly).</li>
<li><a title="Amazon's Affiliate Program" href="http://affiliate-program.amazon.com">Amazon Affiliate</a> revenue &#8211; both embedded in software, and in blog posts. (Some many bunches of dollars).</li>
<li><a href="https://ebaypartnernetwork.com/files/hub/en-US/index.html">eBay Affiliate</a> revenue &#8211; About $3.</li>
</ul>
<p>Now, if you&#8217;ve bothered to read all the way down here, this is where I&#8217;m going to give away a little secret. And by secret, I don&#8217;t mean something really clever that I dreamed up on my own &#8211; I mean a strange and lucky coincidence that happened to lead to something cool.</p>
<p>As of right now, I make more money from my blog, than from anything else.</p>
<p>Seriously.</p>
<p>Actually, to be fair &#8211; I make more money off of a single post on my blog.</p>
<p><a href="http://www.cognition.ca/2008/02/facebook-application-development-how-to-11-tips-you-dont-want-to-miss.html">This post.</a></p>
<p>Which brings me back to <a href="http://www.sethgodin.com/purple/">Seth Godin</a>, and <a href="http://www.bookburro.org/">Jesse Andrews</a>. Just build cool stuff, solve your own problems &#8211; and share.</p>
<p>Oh, and get an Amazon Affiliate account.</p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=156&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_156"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2009/02/how-to-make-1-on-teh-intertubes.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Why Microsoft is Evil (and Google is Not)</title>
		<link>http://www.cognition.ca/2009/02/why-microsoft-is-evil-and-google-is-not.html</link>
		<comments>http://www.cognition.ca/2009/02/why-microsoft-is-evil-and-google-is-not.html#comments</comments>
		<pubDate>Sat, 14 Feb 2009 06:40:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[chinese firewall]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gullible]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[sheep]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=145</guid>
		<description><![CDATA[Last time I checked, Google had annual revenues of about $20B. Microsoft has annual revenues of about $60B. Google knows everything about me &#8211; and they&#8217;ve shown a few times that they&#8217;re not afraid to use it. (Ask Chris Campbell about the time Google emailed us when we were working on Netscape 8.) Microsoft knows [...]]]></description>
			<content:encoded><![CDATA[<p>Last time I checked, <a href="http://en.wikipedia.org/wiki/Google">Google had annual revenues of about $20B</a>.<br />
<a href="http://en.wikipedia.org/wiki/Microsoft">Microsoft has annual revenues of about $60B. </a></p>
<p><a href="http://www.flickr.com/photos/azrainman/2074221914/sizes/m/"><img class="alignright" title="Gullible" src="http://farm3.static.flickr.com/2207/2074221914_b82659fc8e_d.jpg" alt="" width="300" height="332" /></a>Google knows everything about me &#8211; and they&#8217;ve shown a few times that they&#8217;re not afraid to use it. (Ask <a title="Chris Campbell, Director of Architecture at Flock, Blogs Here" href="http://christophercampbell.wordpress.com">Chris Campbell</a> about the time Google emailed us when we were working on Netscape 8.)</p>
<p>Microsoft knows very little about me.</p>
<p>As a developer of software, I respect and emulate their business model &#8211; they write software, and then they sell it to people. It&#8217;s old-fashioned, but it works. And it&#8217;s straightforward.</p>
<p>And Google? Google, who makes a living by pimping out a spot in my attention span; Google, who has<a title="Google Chinese Firewall" href="http://networks.silicon.com/webwatch/0,39024667,39155970,00.htm"> the moral backbone of a Tadpole</a> &#8211; is considered to be the good guy.</p>
<p>Why?<span id="more-145"></span></p>
<p>I&#8217;m a geek. If you&#8217;re reading my blog, you&#8217;re probably a geek as well. And one of the defining characteristics of geeks, is that we like to think we&#8217;re different from &#8220;ordinary&#8221; people. One of the places we&#8217;re the MOST likely to feel special, is in our belief that advertising doesn&#8217;t affect us.</p>
<p>In the strange and emerging economies of &#8216;<a href="http://en.wikipedia.org/wiki/Freemium">freemium</a>&#8216; business models, commercial open source software, and crowdsourced marketplaces &#8211; in a world so backwards we&#8217;re giving money away to the producers of <a href="http://www.fueleconomy.gov/feg/bestworstEPAtrucks.htm">the most inefficient vehicles on the planet</a>, while far away our siblings, children and cousins are dying for the oil needed to run those vehicles &#8211; well, any company that makes a fortune off of the weaknesses of the gullible Average Joe, is okay in our book. Our digital &#8216;Robin Hood&#8217; to the Sheriff of Rampant Consumerism.<img class="alignright" title="People are Sheep" src="http://farm4.static.flickr.com/3229/3129007252_5d1f779afa_d.jpg" alt="" width="300" height="241" /></p>
<p>Except that it&#8217;s folly.</p>
<p>Geeks are no more immune to advertising than anyone else. Less, really. Ever heard of Gizmodo? Engadget? Apple Computer?</p>
<p>The long term, nearly-recession-proof success of advertising-based business models simply serves to confirm a simple truth &#8211; one that helps to explain (should you wonder) how we&#8217;ve ended up in this mess:</p>
<p>People are sheep.</p>
<p>Even geeks.</p>
<p>PS &#8211; Please buy <a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&amp;tag=boin-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B00154JDAI">something from Amazon for Valentines Days</a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=boin-20&amp;l=as2&amp;o=1&amp;a=B00154JDAI" border="0" alt="" width="1" height="1" /> (using my referral code.) Ktnxbye.</p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=145&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_145"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2009/02/why-microsoft-is-evil-and-google-is-not.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>When to Pause, When to Push</title>
		<link>http://www.cognition.ca/2009/02/when-to-pause-when-to-push.html</link>
		<comments>http://www.cognition.ca/2009/02/when-to-pause-when-to-push.html#comments</comments>
		<pubDate>Thu, 12 Feb 2009 07:32:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[ADD]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[deadlines]]></category>
		<category><![CDATA[genY]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[informationscience]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=141</guid>
		<description><![CDATA[It&#8217;s now 11pm on Wednesday night. Tomorrow morning, at 10am, I will be presenting my Project Plan to execute $6M worth of custom software development over the next 36 months. That Project Plan doesn&#8217;t really exist yet. It&#8217;s been a busy week. LAST night, at 11pm (roughly), I filed a Notice Of Intent, to bid [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://farm4.static.flickr.com/3071/3061895133_40d9e05d72_d.jpg" alt="" width="250" height="166" /></p>
<p>It&#8217;s now 11pm on Wednesday night. Tomorrow morning, at 10am, I will be presenting my Project Plan to execute $6M worth of custom software development over the next 36 months.</p>
<p>That Project Plan doesn&#8217;t really exist yet.</p>
<p>It&#8217;s been a busy week. LAST night, at 11pm (roughly), I filed a Notice Of Intent, to bid on a DIFFERENT multi-million dollar, multi-year contract. Oh, yesterday was also my oldest daughter&#8217;s 6-year-old birthday.</p>
<p>There&#8217;s a point, in here, somewhere. We&#8217;ll wind our way towards it.</p>
<p>Technically, these days I&#8217;m an &#8220;Information Worker&#8221;. What I think that means, is that I get paid for thinking about things. At least, that&#8217;s how I choose to interpret it. My clients probably prefer to think I get paid for the OUTPUT of my thinking &#8211; but I&#8217;m all too keenly aware of how directly the quality of my output, is related to the quality of my thinking.<span id="more-141"></span></p>
<p><img class="alignright" title="Push for Free Cheese" src="http://farm1.static.flickr.com/12/69075298_d84059ca01_d.jpg" alt="" width="250" height="187" /></p>
<p>I drink a lot of coffee most days. It brings a certain crisp, painful clarity to my thoughts &#8211; great for coding, decent for hacking up a schedule, horrible for writing proposals.</p>
<p>Some days I drink beer, partly to fuzz those crisp, certain edges &#8211; partly to counteract the effects of the coffee. When I write strategy or policy, I usually combine the two. It produces documents with a certain bizarre, compelling lucidity &#8211; and leaves me useless afterwards.</p>
<p>Information workers, such as we are, can be noted for their ability to force their thoughts to follow a linear progression &#8211; to march through the gates of logic, as it were. This is, after all, what software is about &#8211; making rigidly explicit the implicit desires of the user.</p>
<p>And yet athletes often talk about being &#8220;In the Zone&#8221; &#8211; where every motion seems effortless, and the outcome so certain as to be written in time. Is there a place for such sentiments in the realm of informatica?</p>
<p><img class="alignright" style="margin-left: 10px; margin-right: 10px;" title="Coffee and Beer" src="http://farm3.static.flickr.com/2233/1495010165_2ba0de063d_d.jpg" alt="" width="250" height="373" /></p>
<p>I like to think so.</p>
<p>And this belief is what leads me to my daily routine:</p>
<ol>
<li>I never start (or finish) at the same time.</li>
<li>I rarely work in the same place. Anywhere with coffee and Wifi is a candidate &#8211; on writing days, the WiFi is optional.</li>
<li>My roles, while sweeping, are ill-defined &#8211; and I prefer it that way. When I&#8217;m in the mood to write, I write. When I&#8217;m in the mood to code, I code. If the phone calls, I dial it.</li>
</ol>
<p>Such freedom comes at a price, however &#8211; the day I fail to meet a deadline, is the day my freedom ends. (NASA, after all, can only overlook my eccentricities while I&#8217;m impeccable). So occasionally, I push. But I don&#8217;t push the <em>doing</em> &#8211; I push the <em>feeling</em>. If I need to write, I&#8217;ll push at feeling a writing mood. If I need to code, I&#8217;ll push at feeling the thrill of execution and interpretation.</p>
<p>What about you? Do you believe in multitasking? Do you drink the Kool-Aid, that the A.D.D. we suffered with as children, was actually the early manifestations of a better, more intuitive and transcendent way of thinking?</p>
<p>Or really, are we truly the over-indulged, lazy and self-centered Generation-Me that &#8220;Suits&#8221; would have us think?</p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=141&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_141"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2009/02/when-to-pause-when-to-push.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&lt;N&gt; Reasons Why Open Standards, more than Open Source, Really Matter</title>
		<link>http://www.cognition.ca/2009/02/n-reasons-why-open-standards-more-than-open-source-really-matter.html</link>
		<comments>http://www.cognition.ca/2009/02/n-reasons-why-open-standards-more-than-open-source-really-matter.html#comments</comments>
		<pubDate>Wed, 11 Feb 2009 06:25:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[informationscience]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[open standards]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[trojan horse]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=128</guid>
		<description><![CDATA[There have been some great articles on the dangers of, either no standards, or closed standards. However, no one has really talked about how almost EVERYTHING we have accomplished as a race of people, has been to the credit of open standards of information exchange and interface. So let&#8217;s take a walk back through the [...]]]></description>
			<content:encoded><![CDATA[<p>There have been s<a href="http://www.groklaw.net/articlebasic.php?story=2005091305273070">ome great articles</a> on <a href="http://www.linux.com/articles/53407">the dangers</a> of, either no standards, or <a href="http://politics.slashdot.org/politics/06/04/10/0439242.shtml">closed standards</a>. However, no one has really talked about how almost EVERYTHING we have accomplished as a race of people, has been to the credit of <em>open</em> standards of information exchange and interface. So let&#8217;s take a walk back through the ages, and look at the wonderful things that open standards have brought us.</p>
<p>1. Numbers<img class="alignright" title="By the Numbers..." src="http://www.westga.edu/~distance/images/numbers.jpg" alt="" width="169" height="164" /></p>
<p>Regardless of the language they use, or even the character set they use for writing it, most countries on the planet now use the &#8220;<a href="http://en.wikipedia.org/wiki/Positional_notation">decimal positional notation</a>&#8221; for all numbers and mathematics. This public, open standard for notation has allowed the development of relatively friction-free international commerce, and was the successful basis for&#8230;<span id="more-128"></span></p>
<p>2. Weights and Measures</p>
<dl class="wp-caption alignright" style="width: 183px;">
<dt class="wp-caption-dt"><a href="http://www.cnn.com/TECH/space/9909/30/mars.metric.02/"><img title="Mars Climate Orbiter Launch" src="http://plus.maths.org/issue10/news/mars/launch.jpg" alt="Mars Climate Orbiter Launch" width="173" height="240" /></a></dt>
</dl>
<blockquote><p>What if, every time you bought a gallon of milk, a five-cent license fee was paid to the owner of the patent &#8211; on the Gallon?</p></blockquote>
<p>Aside from underpinning all advances in commerce, engineering, scientific research, cartography, medical sciences, etc&#8230; just look at a few of the many examples of <a title="Loss of Mars Climate Observer" href="http://www.cnn.com/TECH/space/9909/30/mars.metric.02/">what goes wrong</a> when we <em>don&#8217;t</em> follow established and open standards of weight and measure.</p>
<p>3. <a href="http://www.itu.int/rec/T-REC-Q.700-199303-I/en">The Telephone System (SS7)</a></p>
<p>Ubiquitous enough that most people don&#8217;t realize there&#8217;s a standard at work here, the details of the Signaling System Number Seven protocol are the magic glue that makes global and local telephony possible. It&#8217;s worth noting that individual countries are able to implement and revise this base standard in significant ways, and that they&#8217;ve done so without abandoning the SS7 system. (This would be a great example of an extensible standard).</p>
<p>When was the last time you plugged a telephone into a wall jack &#8211; anywhere in the world &#8211; and couldn&#8217;t get it to work?</p>
<p>Other non-technical, non-software standards:</p>
<ol>
<li>Shoe Sizes</li>
<li>The Dewey Decimal System</li>
<li>ISBN</li>
<li>Bullet Calibres</li>
<li>Screw sizes and screw heads, bolt, nut and nail sizes &#8211; (although not ALL screw heads)</li>
<li>Dimensional lumber</li>
<li>K-12 Grades</li>
<li>Zip Codes</li>
</ol>
<p>The most obvious technology standards are, of course, electrical power &#8211; of the 110V or 240V, 50 or 60Hz variety. Can you imagine what limits on the innovation of electrical equipment we would have suffered under if GE collected a license fee every time you used a wall jack?</p>
<p>Now here&#8217;s an interesting question &#8211; why has it taken so many years for &#8220;Hi-Def&#8221; television to become ubiquitous? The underlying standard (broadcast or cable television) wasn&#8217;t extensible and, in fact, (similar to the Y2K bug) had been designed with very short-sighted considerations.</p>
<p><img class="alignright" title="Trojan Horse" src="http://farm1.static.flickr.com/190/503425941_ba9e3c1f31_m_d.jpg" alt="" width="240" height="180" />In a level playing field, (such as the emergent technology market of Internet servers, databases, scripting languages, frameworks, etc) open source software is a sure contender. However, when dealing with vendor lock-in (which is ALWAYS based on closed and/or proprietary standards) it doesn&#8217;t have a hope. This is a simple (perhaps simplistic) explanation for the failure of Linux to make the gains in desktop market share that everyone has expected.</p>
<p>In the long run, adoption of the <em>right</em> open standards becomes the trojan horse within proprietary software. It levels the playing field &#8211; let the best app win.</p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=128&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_128"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2009/02/n-reasons-why-open-standards-more-than-open-source-really-matter.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails causes Global Warming</title>
		<link>http://www.cognition.ca/2008/10/ruby-on-rails-causes-global-warming.html</link>
		<comments>http://www.cognition.ca/2008/10/ruby-on-rails-causes-global-warming.html#comments</comments>
		<pubDate>Sat, 01 Nov 2008 06:32:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[carbon]]></category>
		<category><![CDATA[entrepreneurs]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[ewaste]]></category>
		<category><![CDATA[global warming]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[lazyness]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.cognition.ca/?p=32</guid>
		<description><![CDATA[I use a laptop. Which means, as I peck away at my keyboard in the waning hours of the evening, I can smell the slow charring of my wool pants (mixed with the redolent odor of singed leg hair) as the tiny fan embedded in my computer tries desperately to keep this multi-thousand-dollar device, from [...]]]></description>
			<content:encoded><![CDATA[<p>I use a laptop. Which means, as I peck away at my keyboard in the waning hours of the evening, I can smell the slow charring of my wool pants (mixed with the redolent odor of singed leg hair) as the tiny fan embedded in my computer tries desperately to keep this multi-thousand-dollar device, from melting into a pile of slag.</p>
<p>As a self-taught engineer, I tend to notice the glaringly-obvious &#8211; perhaps more than many of my well-educated peers. And there&#8217;s one obvious lesson in this &#8211; if solid state electronics are getting HOT, they&#8217;re <span style="text-decoration: line-through;">wasting</span> using a fair amount of power.</p>
<p><img class="alignright" style="border: 1px solid black; margin: 5px 10px;" title="Ewaste Burning" src="http://ewasteguide.info/system/files/images/3571_large.preview.jpg" alt="" width="283" height="212" />In a nuclear reactor somewhere out there, an atom died for the pixels on my screen. Another few drops of precious oil, or a few tons more gasified coal, were spilt for those extra minutes of Microsoft Word (or perhaps &#8220;Grand Theft Auto 4&#8243;).</p>
<p>Moore&#8217;s Law has shown us how the steady change of computing SPEED (doubling), and COST (halving), has reliably powered our advancing Information Age. Yet nothing in Moore&#8217;s Law has halted the seemingly inexorable increase in ENERGY requirements, of these most devious of machines.</p>
<p>This is not a problem that we&#8217;ve address head on &#8211; in our subsidized energy economy, there has been no real motivation to do so. In fact, as our dependency on computing infrastructure has deepened, we&#8217;ve made it WORSE. Here&#8217;s how it works:<span id="more-32"></span></p>
<blockquote><p>&#8220;Hey Jim, did you realize that these hard drives fail as they get older? And really reliable hard drives are WAY more expensive.&#8221;</p>
<p>&#8220;Wow! That SUCKS! Why don&#8217;t we just put TWO hard drives in every computer, and copy all the data to BOTH of them?&#8221;</p></blockquote>
<p>No joke. We&#8217;ve also done the same thing with (redundant) power supplies, and since all these extra disks and transformers are putting out more HEAT &#8211; we&#8217;ve had to install more AIR CONDITIONING, too. Oh, and in the REALLY high-end data centers, we&#8217;ve got at least one (sometimes two or more) Diesel Generators running at all times &#8211; just in CASE the power goes out.</p>
<p>As is typical of the world&#8217;s larger problems, the smartest folks haven&#8217;t done better &#8211; they&#8217;ve just done WORSE&#8230; in a more complicated way. Let&#8217;s take a look at programmers.</p>
<p>Writing software has changed a lot since we started this business. We&#8217;ve drifted from the &#8220;low-level&#8221; languages, up through the &#8220;high-level&#8221; languages, to things now rightly called &#8220;frameworks&#8221; that are too abstracted to be considered a language at all.</p>
<p>But along the way (with all this gratuitous computing power sitting around), we&#8217;ve gotten UNBELIEVABLY lazy. Here&#8217;s an example &#8211; it is, by no means, the only one:<!--more--></p>
<p>Ruby on Rails. A very popular framework, with some fairly typical problems.</p>
<p>Ruby is not, to start with, an <em>efficient</em> language. This means it doesn&#8217;t do a very good job of translating &#8220;high-level&#8221; code, into &#8220;low-level&#8221; machine code.</p>
<p><img class="alignright" style="border: 1px solid black; margin: 5px 10px;" title="Wires Burning" src="http://www.triplepundit.com/ppp022-Empa_open_burning.jpg" alt="" width="248" height="248" />Rails, as a framework, is intended to be <em>really</em> easy to use. Which means it does a LOT of stuff for you &#8211; much of which you don&#8217;t actually need done, in any given case.</p>
<p>Rails uses a database access pattern called &#8220;Active Record&#8221;. It&#8217;s pretty cool, actually &#8211; it encapsulates about 10 layers of abstraction, into a few easy-to-use commands.</p>
<p>Unfortunately, that encapsulation ignores most performance impacts. Also unfortunately, the implementation of that pattern &#8211; is not thread-safe.</p>
<p>Here&#8217;s where the laziness kicks in &#8211; rather than fixing the ActiveRecord implementation, or making ruby more efficient in general, someone wrote Mongrel.</p>
<p>What&#8217;s Mongrel? An extra web-serving layer, it simply manages a bunch of ruby instances, and hands http requests back and forth. It&#8217;s a workaround for the thread-safety problems we were mentioning above.</p>
<p>In software development, it&#8217;s called a &#8220;Kludge&#8221;. In human society, it&#8217;s called a &#8220;Rat Race&#8221;. (We all drive SUVs, even when we object to them environmentally, because we need to be safe &#8211; safe in case someone ELSE driving an SUV crashes INTO us. Are you starting to appreciate the irony?)</p>
<blockquote><p>&#8220;So what,&#8221; I can hear you saying, &#8220;Buying more hardware is cheaper than fixing a whole language, right?&#8221;</p>
<p>Yes, it is. And that&#8217;s the problem.</p></blockquote>
<p><img class="alignright" style="border: 1px solid black; margin: 5px 10px;" title="Young Children work Your E Waste" src="http://ewasteguide.info/system/files/images/3643_large.preview.jpg" alt="" width="231" height="307" />Because there are other, more insidious, global impacts of this wasteful computing philosophy. If you need a wickedly fast CPU and a few gigs of Ram to run a Ruby on Rails server, might as well turf out the old servers, right? Those old servers end up as e-waste in developing nations. (HEADLINE: &#8220;Lazy coding kills children in the third world&#8221;)&#8230;</p>
<p>Now, I&#8217;m not espousing a return to the good-ol-days of hand-coded assembler, or even web apps written in pure C. But I&#8217;ve managed 10,000 http requests per second on a single server (yes, including DB) &#8211; simply by taking the extra day or so to tune the database, install some byte-code cacheing &#8211; oh, and not running RoR.</p>
<p>Even if you don&#8217;t care about the <a href="http://www.mindfully.org/WTO/Computers-Go-To-Die23nov02.htm">12 year old kids dying in Thailand</a> while they bake your discarded motherboard over a camel-dung campfire &#8211; at least think about the abuse you&#8217;re putting your electrons through.</p>
<p>(Editor&#8217;s note: Many thousands of electrons were tortured in the writing of this blog post. And yes, this is deliberately provocative link-bait for my overly-zealous RoR-fanatic friends. Which doesn&#8217;t make it any less true.)</p>
<span class="akst_link"><a href="http://www.cognition.ca/?p=32&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_32"  class="akst_share_link">Share This</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.cognition.ca/2008/10/ruby-on-rails-causes-global-warming.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
