<?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>Hyperextended Metaphor &#187; Technology</title>
	<atom:link href="http://innocuous.org/articles/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://innocuous.org</link>
	<description>Richard Tibbetts on Various Topics</description>
	<lastBuildDate>Sat, 12 Feb 2011 14:19:06 +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>Toddler Science and Big Data</title>
		<link>http://innocuous.org/articles/2011/01/03/toddler-science-and-big-data/</link>
		<comments>http://innocuous.org/articles/2011/01/03/toddler-science-and-big-data/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 05:16:52 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://innocuous.org/?p=141</guid>
		<description><![CDATA[I&#8217;ve been spending a lot of time following my son Patrick around watching him explore the world. I&#8217;ve shared a few of his important discoveries with Twitter and with friends, under the tag &#8220;Toddler Science&#8221;. Key discoveries include that tissue boxes contain a finite supply of tissue and that cat magnets do not stick to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://innocuous.org/wp-content/uploads/2011/01/stand_back_square_0.png" onclick=""><img class="alignright size-full wp-image-146" title="stand_back_square_0" src="http://innocuous.org/wp-content/uploads/2011/01/stand_back_square_0.png" alt="&quot;Stand Back, I'm Going To Try SCIENCE&quot;" width="300" height="300" /></a>I&#8217;ve been spending a lot of time following my son Patrick around watching him explore the world. I&#8217;ve shared a few of his important discoveries with Twitter and with friends, under the tag &#8220;Toddler Science&#8221;. Key discoveries include that tissue boxes contain a finite supply of tissue and that cat magnets do not stick to cats. I spent the New Years weekend with friends, and they too had an opportunity to watch Patrick learning.</p>
<p>The metaphor that keeps coming to mind, particularly when watching the destructive testing of my belongings, is that a toddler is a video gamer playing with a new engine. They get their bearings by testing out the physics model: how far can I throw a grenade? Do they bounce? If I shoot up the wall and leave the room, does the damage persist or does the state reset?</p>
<p>Patrick is learning the physics engine of his world. To do it, he is doing a large number of observations. And try to make sense of these observations, which is quite difficult.</p>
<blockquote><p>&#8220;He needs to figure out if he is a universe governed by Newtonian mechanics, or just the Quake engine.&#8221;</p>
<p>&#8220;Aristotle never got past the Quake engine.&#8221;</p></blockquote>
<p>Of course, humans don&#8217;t make use of nearly all the data that is available to them. If they did, they would learn a whole lot more a whole lot more quickly, as we can learn from <a href="http://lesswrong.com/lw/qk/that_alien_message/" onclick="javascript:pageTracker._trackPageview('/outbound/article/lesswrong.com');">Eliezer Yudkowsky&#8217;s fable That Alien Message</a>. But we do receive a whole lot of data, and somehow filter through it to learn to interact with a complex universe, to empathize and communicate with other humans, to learn and to create new ideas. The amount of data consumed by a child before he learns to speak or throw a ball is staggering.</p>
<p>Computer Science is just starting to learn how to manage and analyze data sets at this scale. Today&#8217;s <a href="http://en.wikipedia.org/wiki/Big_data" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">Big Data</a> systems come in many flavors, from Google and Facebook to Walmart and eBay. There is some debate about what big data means, with <a href="http://www.dbms2.com/2010/12/30/examples-and-definition-of-machine-generated-data/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.dbms2.com');">Curt Monash</a> and <a href="http://dbmsmusings.blogspot.com/2010/12/machine-vs-human-generated-data.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/dbmsmusings.blogspot.com');">Dan Abadi</a> having recent posts on the topic.</p>
<p>Regardless of how you define it, there is lots of data available that computers are still ignoring. What passes for big data in artificial intelligence is only starting to approach what passes for big data in biological systems. As big data gets truly big, interesting things will happen. It may be that previous generations of AI weren&#8217;t bad ideas. They were just data starved.</p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2011/01/03/toddler-science-and-big-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>2010 The Year in Bookmarks</title>
		<link>http://innocuous.org/articles/2010/12/20/the-year-in-bookmarks-2010/</link>
		<comments>http://innocuous.org/articles/2010/12/20/the-year-in-bookmarks-2010/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 05:45:57 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://innocuous.org/?p=114</guid>
		<description><![CDATA[As you may have heard, Delicious is going away, or at least being sold off, or otherwise being destroyed by Yahoo. In the last 72 hours, I&#8217;ve tried out the two leading alternatives, Diigo and pinboard. Along the way, I got to wondering why I keep all these bookmarks around. I do often search back [...]]]></description>
			<content:encoded><![CDATA[<p>As you may have heard, <a href="http://techcrunch.com/2010/12/16/is-yahoo-shutting-down-del-icio-us/" onclick="javascript:pageTracker._trackPageview('/outbound/article/techcrunch.com');">Delicious is going away</a>, or at least <a href="http://techcrunch.com/2010/12/17/yahoo-trying-to-sell-del-icio-us-not-to-shut-it-down/" onclick="javascript:pageTracker._trackPageview('/outbound/article/techcrunch.com');">being sold off</a>, or otherwise being destroyed by Yahoo. In the last 72 hours, I&#8217;ve tried out the two leading alternatives, <a href="http://diigo.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/diigo.com');">Diigo</a> and <a href="http://pinboard.in/" onclick="javascript:pageTracker._trackPageview('/outbound/article/pinboard.in');">pinboard</a>. Along the way, I got to wondering why I keep all these bookmarks around. I do often search back for things. And in paging through my 1173 bookmarks from 2010, they formed an interesting lens through which to look back at the year. And so I present 2010, the year in bookmarks.</p>
<h2>Startups and the Death of VC</h2>
<p>A lot of the links in my bookmarks are about startups and venture capital. A popular topic in 2010 is the death of VC, or debates about angels versus VCs. Also, discussions about whether Boston or New York are the number two startup hub to Silicon Valley.</p>
<ul>
<li>Twilight of Venture Capital: <a href="http://twilightofventurecapital.blogspot.com/2010/09/back-to-future-how-about-forward-to.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/twilightofventurecapital.blogspot.com');">Back to the Future? How about Forward to the Past!</a> and <a href="http://twilightofventurecapital.blogspot.com/2010/12/it-is-broke.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/twilightofventurecapital.blogspot.com');">It IS Broke!</a></li>
<li><a href="http://cdixon.org/2010/02/11/every-time-an-engineer-joins-google-a-startup-dies/" onclick="javascript:pageTracker._trackPageview('/outbound/article/cdixon.org');">Every Time an Engineer Joins Google, a Startup Dies</a></li>
<li><a href="http://blog.dustincurtis.com/warren-buffett-on-the-hidden-risks-of-investi" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.dustincurtis.com');">Warren Buffet on the hidden risks of investing in rapidly growing industries</a></li>
<li><a href="http://blog.dustincurtis.com/warren-buffett-on-the-hidden-risks-of-investi" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.dustincurtis.com');"></a><a href="http://cdixon.org/2010/02/27/its-about-making-more-places-like-the-valley/" onclick="javascript:pageTracker._trackPageview('/outbound/article/cdixon.org');">It&#8217;s not East Coast versus West Coast, it&#8217;s about making more places like the valley</a></li>
<li><a href="http://bostonvcblog.typepad.com/vc/2010/11/ipo-anxiety-east-coast-version-1.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/bostonvcblog.typepad.com');">IPO Anxiety East Coast Version</a></li>
<li><a href="http://techcrunch.com/2010/03/08/canada-now-somewhat-less-anti-startup/" onclick="javascript:pageTracker._trackPageview('/outbound/article/techcrunch.com');">Canada Now Somewhat Less Anti-Startup</a></li>
</ul>
<h2>Startup Visa</h2>
<p>The notion of a startup visa also caught my attention. Here are just a few links.</p>
<ul>
<li><a href="http://www.nytimes.com/2010/05/30/us/30visas.html?src=tptw" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.nytimes.com');">Maine Business is Shut Without a Renewed Visa</a></li>
<li><a href="http://startupvisa.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/startupvisa.com');">Startup Visa </a>and <a href="http://nat.org/blog/2009/10/startup-visa/" onclick="javascript:pageTracker._trackPageview('/outbound/article/nat.org');">Startup Visa</a></li>
<li><a href="https://www.kickstarter.com/projects/59308445/tech-entrepreneurs-and-us-immigration-a-documentar" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.kickstarter.com');">Tech Entrepreneurs and US Immigration: A Documentary</a></li>
</ul>
<h2>Startups Without Software</h2>
<p>At the same time, everyone is excited about the prospects of tech startups that don&#8217;t have any technology risk, because they don&#8217;t actually require new technology. Unfortunately, the best examples of these startups are fairly small businesses</p>
<ul>
<li><a href="http://www.pearanalytics.com/blog/2010/how-i-set-up-and-sold-a-product-using-unbounce-wufoo-and-chargify/  " onclick="javascript:pageTracker._trackPageview('/outbound/article/www.pearanalytics.com');">How I set up an sold a product using Unbounce, Wufoo, and Chargify</a></li>
<li><a href="http://macournoyer.com/blog/2010/03/01/promote-cyopl/" onclick="javascript:pageTracker._trackPageview('/outbound/article/macournoyer.com');">How I Made $6k With My eBook</a></li>
</ul>
<h2>Old Ideas are New Again</h2>
<p>Another theme was all the old ideas that are new again, demonstrating that timing and execution can both make all the difference.</p>
<ul>
<li><a href="http://www.xconomy.com/national/2010/09/01/party-like-it%E2%80%99s-1999-10-old-tech-ideas-that-are-new-again/?single_page=true  " onclick="javascript:pageTracker._trackPageview('/outbound/article/www.xconomy.com');">Party Like It&#8217;s 1999: 10 Old Tech Ideas That Are New Again</a></li>
<li><a href="http://onstartups.com/tabid/3339/bid/11978/The-10-Most-Tempting-Software-Startup-Categories.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/onstartups.com');">The 10 Most Tempting Software Startup Categories</a></li>
</ul>
<h2>The Maker Movement</h2>
<p>I&#8217;m not sure if it is old or new, but the &#8220;Maker Movement&#8221; is getting a lot more press attention, and a lot more bookmarks from me.</p>
<ul>
<li><a href="http://www.adafruit.com/blog/2010/11/10/we-have-a-winner-open-kinect-drivers-released-winner-will-use-3k-for-more-hacking-plus-an-additional-2k-goes-to-the-eff/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.adafruit.com');">Adafruit&#8217;s successful sponsorship of Kinect driver hacking</a>, which got <a href="http://www.nytimes.com/2010/11/22/technology/22hack.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.nytimes.com');">mainstream attention.</a></li>
<li>Not just tech, there is a lot of food blogging with a maker feel, from <a href="http://unwholesomefoods.wordpress.com/2010/05/22/turdunkin/" onclick="javascript:pageTracker._trackPageview('/outbound/article/unwholesomefoods.wordpress.com');">Unwholesome Food&#8217;s Turdunkin</a> to <a href="http://myjelloamericans.blogspot.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/myjelloamericans.blogspot.com');">My Jello Americans</a> artistic jello shots.</li>
<li>Sometimes tech and food go together: <a href="http://www.cookingissues.com/2009/06/30/microwave-vacuum-dehydration-failed-experiment/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cookingissues.com');">Microwave Vacuum Dehydration: failed experiment</a> <em>&#8220;What I hadn’t thought of was that under partial vacuum, microwave ovens really, really want to make balls of plasma.&#8221;</em></li>
</ul>
<h2><span style="font-size: x-small;"><span style="font-weight: normal;"> </span></span>iPad</h2>
<p>The iPad was the biggest new consumer technology of the year</p>
<ul>
<li><a href="http://chucksblog.emc.com/chucks_blog/2010/05/what-ipads-did-to-my-family.html  " onclick="javascript:pageTracker._trackPageview('/outbound/article/chucksblog.emc.com');">What iPads did to My Family</a></li>
<li><a href="http://www.blogher.com/ipad-nearmiracle-my-son-autism" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.blogher.com');">The iPad: a Near-Miracle for My Son With Autism</a></li>
<li><a href="http://sethgodin.typepad.com/seths_blog/2010/02/ipad-app-of-my-dreams-the-digital-talking-pad.html  " onclick="javascript:pageTracker._trackPageview('/outbound/article/sethgodin.typepad.com');">Seth Godin asked for the iPad App of his Dreams</a>
<ul>
<li><a href="http://wiki.talkingpad.org/  " onclick="javascript:pageTracker._trackPageview('/outbound/article/wiki.talkingpad.org');">Set up a wiki about it</a></li>
<li><a href="http://www.keetsy.com/nonlinear/ " onclick="javascript:pageTracker._trackPageview('/outbound/article/www.keetsy.com');">And someone built it</a></li>
</ul>
</li>
</ul>
<li><strong>Best New (to me) Blogs</strong></li>
<ul>
<li><a href="http://hyperboleandahalf.blogspot.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/hyperboleandahalf.blogspot.com');">Hyperbole and a Half</a>
<ul>
<li><a href="http://hyperboleandahalf.blogspot.com/2010/10/god-of-cake.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/hyperboleandahalf.blogspot.com');">God of Cake</a></li>
<li><a href="http://hyperboleandahalf.blogspot.com/2010/02/boyfriend-doesnt-have-ebola-probably.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/hyperboleandahalf.blogspot.com');">My Boyfriend Doesn&#8217;t Have Ebola Probably</a><a href="http://innocuous.org/wp-content/uploads/2010/12/painfaces7-12.png" onclick=""><img class="alignnone size-medium wp-image-120" title="painfaces7-12" src="http://innocuous.org/wp-content/uploads/2010/12/painfaces7-12-300x75.png" alt="" width="300" height="75" /></a></li>
</ul>
</li>
<li><a href="http://pipeline.corante.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/pipeline.corante.com');">In The Pipeline</a>
<ul>
<li><a href="http://pipeline.corante.com/archives/how_not_to_do_it/" onclick="javascript:pageTracker._trackPageview('/outbound/article/pipeline.corante.com');">How Not To Do It</a></li>
<li><a href="http://pipeline.corante.com/archives/things_i_wont_work_with/" onclick="javascript:pageTracker._trackPageview('/outbound/article/pipeline.corante.com');">Things I Won&#8217;t Work With</a></li>
</ul>
</li>
</ul>
<h2>Memes</h2>
<p>Far be it from me to catalog all the memes, but here are two</p>
<ul>
<li>Some of the strangest stuff to come out of America&#8217;s two wars: <a href="http://www.youtube.com/watch?v=Kjf4RogusJc " onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');">Navy I&#8217;m on a Boat</a> also <a href="http://www.youtube.com/watch?v=haHXgFU7qNI" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');">Afganistan Army Telephone</a>.</li>
<li>Old, but apparently I didn&#8217;t see it until 2010: <a href="http://ideas.4brad.com/hitler-tries-dmca-takedown" onclick="javascript:pageTracker._trackPageview('/outbound/article/ideas.4brad.com');">Hitler Orders a DMCA Takedown</a></li>
</ul>
<h2>Next Generation Marketing:</h2>
<p>Though speaking of memes, I also have a bunch of bookmarks around next generation marketing.</p>
<ul>
<li>The Insane Clown Posse have possibly the most clever marketing ever around their <a href="http://knowyourmeme.com/memes/fcking-magnets-how-do-they-work" onclick="javascript:pageTracker._trackPageview('/outbound/article/knowyourmeme.com');">Miracles video and How Magnets Work</a>.<em>&#8220;I know this sounds crazy, but I’m being as honest as I can: We planned all this out.&#8221;</em> Or maybe he&#8217;s lying.</li>
<li>For a different technique: <a href="Groupon CEO Andrew Mason: &quot;I Decided To Set The Bar Very Low And Make Up Lies About Myself That Make Me Sound Lame&quot;  Read more: http://www.businessinsider.com/groupon-ceo-andrew-mason-i-decided-to-set-the-bar-very-low-and-make-up-lies-about-myself-that-make-me-sound-lame-2010-8">Groupon CEO Andrew Mason: &#8220;I Decided To Set The Bar Very Low And Make Up Lies About Myself That Make Me Sound Lame&#8221;<span style="color: #000000;"><br />
</span></a></li>
<li>Or, more historically: How Viagra and related drugs were introduced to the scientific community through edgy marketing: <a href="http://onlinelibrary.wiley.com/doi/10.1111/j.1464-410X.2005.05797.x/full" onclick="javascript:pageTracker._trackPageview('/outbound/article/onlinelibrary.wiley.com');">How (not) to communicate new scientific information: a memoir of the famous Brindley lectur</a>e</li>
<li>A big change in 2010 was increased optimization of headlines for social media. I saw evidence of this constantly. Here is a how-two: <a href="http://www.fourhourworkweek.com/blog/2010/08/30/popular-retweets" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.fourhourworkweek.com');">Blogging by Numbers: How to Create Headlines That Get Retweeted</a></li>
<li>Of course, those tweetable headlines make for questionable journalism. As the Columbia Journalism Review found: <a href="http://www.cjr.org/the_audit/business_insider_and_sensation.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cjr.org');">Business Insider and Financial Press Sensationalism</a></li>
</ul>
<h2>Data and Journalism</h2>
<p>The use of data to drive new journalism was a big trend.</p>
<ul>
<li>Databases will soon be eligible for the top prize in journalism: <a href="http://www.poynter.org/latest-news/romenesko/110039/pulitzer-board-announces-changes-for-2011-competition/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.poynter.org');">Pulitzer board announces changes for 2011 competition</a></li>
<li><a href="http://www.nytimes.com/interactive/2010/01/10/nyregion/20100110-netflix-map.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.nytimes.com');">NYTimes Netflix Culture Map</a></li>
<li><a href="http://projects.nytimes.com/census/2010/explorer?hp" onclick="javascript:pageTracker._trackPageview('/outbound/article/projects.nytimes.com');">Mapping America</a></li>
<li><a href="http://www.guardian.co.uk/news/datablog/2009/mar/10/how-to-export-data" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.guardian.co.uk');">Guardian publishes their data for public access</a></li>
<li><a href="http://www.guardian.co.uk/news/datablog/2009/mar/10/how-to-export-data" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.guardian.co.uk');"></a>Chicagocrime.org is now E<a href="http://chicago.everyblock.com/crime/" onclick="javascript:pageTracker._trackPageview('/outbound/article/chicago.everyblock.com');">veryBlock</a></li>
<li><a href="http://www.analyticsx.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.analyticsx.com');">Analytic X</a> has set up a prize for social predictions</li>
<li><a href="http://www.verysmallarray.com/?p=948" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.verysmallarray.com');">Very Small Array: The Streets of Park Slope, Brooklyn</a> has a clever take on mapping culture</li>
<li>The OkCupid blog does a lot with data about online dating: <a href="http://blog.okcupid.com/index.php/dont-be-ugly-by-accident/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.okcupid.com');">Don&#8217;t Be Ugly By Accident</a> and <a href="http://blog.okcupid.com/index.php/how-races-and-religions-match-in-online-dating/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.okcupid.com');">How Races and Religions Match in Online Dating</a> and <a href="http://blog.okcupid.com/index.php/the-4-big-myths-of-profile-pictures/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.okcupid.com');">The Four Big Myths of Profile Pictures</a></li>
</ul>
<h2>Visualization</h2>
<p>If you are going to do journalism with data, visualization matters a great deal:</p>
<ul>
<li><a href="http://queue.acm.org/detail.cfm?id=1805128" onclick="javascript:pageTracker._trackPageview('/outbound/article/queue.acm.org');">A Tour Through the Visualization Zoo</a></li>
<li>Unfortunately visualization oriented startup <a href="http://www.verifiable.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.verifiable.com');">Verifiable</a> had to shutdown because <a href=" http://37signals.com/svn/posts/2682-the-creators-of-no-longer-with-us-products-explain-what-went-wrong" onclick="javascript:pageTracker._trackPageview('/outbound/article/37signals.com');">customers were not interested in paying for the product</a>.</li>
<li>But you can get <a href="http://office2010.microsoft.com/en-us/excel-help/use-sparklines-to-show-data-trends-HA010354892.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/office2010.microsoft.com');">Sparklines in Microsoft Excel</a></li>
<li>And <a href="http://www-958.ibm.com/software/data/cognos/manyeyes/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www-958.ibm.com');">IBM Research&#8217;s Many Eyes</a></li>
<li>Quantitative Brokers has a great <a href="http://quantitativebrokers.com/learn/" onclick="javascript:pageTracker._trackPageview('/outbound/article/quantitativebrokers.com');">visualization of market microstructure on the CME</a></li>
</ul>
<h2>NoSQL</h2>
<ul>
<li><a href="http://cacm.acm.org/magazines/2010/1/55743-mapreduce-and-parallel-dbmss-friends-or-foes/fulltext" onclick="javascript:pageTracker._trackPageview('/outbound/article/cacm.acm.org');">MapReduce and Parallel DBMSs: Friends or Foes?</a></li>
<li><a href="http://www.deserettechnology.com/journal/nosql-v-sql-is-the-worst-holy-war-ever" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.deserettechnology.com');">NoSQL v. SQL is the worst holy war ever</a></li>
<li><a href="http://nosql.mypopescu.com/post/1016320617/mongodb-is-web-scale">MongoDB is Web Scale<br />
</a><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="390" 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="flashvars" value="height=390&amp;width=480&amp;file=http://newvideos.xtranormal.com/web_final_lo/574b3910-afc9-11df-914b-003048d69c21_27_web_final_lo_web_finallo-flv.flv&amp;image=http://newvideos.xtranormal.com/web_final_lo/574b3910-afc9-11df-914b-003048d69c21_27_web_final_lo_poster.jpg&amp;link=http://www.xtranormal.com/watch/6995033&amp;searchbar=false&amp;autostart=false" /><param name="src" value="http://www.xtranormal.com/site_media/players/jwplayer.swf" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="390" src="http://www.xtranormal.com/site_media/players/jwplayer.swf" flashvars="height=390&amp;width=480&amp;file=http://newvideos.xtranormal.com/web_final_lo/574b3910-afc9-11df-914b-003048d69c21_27_web_final_lo_web_finallo-flv.flv&amp;image=http://newvideos.xtranormal.com/web_final_lo/574b3910-afc9-11df-914b-003048d69c21_27_web_final_lo_poster.jpg&amp;link=http://www.xtranormal.com/watch/6995033&amp;searchbar=false&amp;autostart=false" allowscriptaccess="always" allowfullscreen="true"></embed></object></li>
<li><a href="http://blog.nahurst.com/visual-guide-to-nosql-systems" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.nahurst.com');">Visual Guide to NoSQL Systems</a></li>
<li><a href="http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/yoshinorimatsunobu.blogspot.com');">Using MySQL as a NoSQL: a story for exceeding 750,000 qps on a commodity server</a></li>
</ul>
<h2>Software</h2>
<ul>
<li><a href="http://morepypy.blogspot.com/2010/06/jit-for-regular-expression-matching.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/morepypy.blogspot.com');">PyPy JIT for Regular Expressions</a></li>
<li>God&#8217;s Number is 20: http://www.cube20.org/</li>
<li><a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.8958" onclick="javascript:pageTracker._trackPageview('/outbound/article/citeseerx.ist.psu.edu');">Putting It All Together: Using Socio-Technical Networks to Predict Failures</a></li>
</ul>
<p><strong></strong></p>
<h2><strong><strong>Who Programs and Who Doesn&#8217;t</strong></strong></h2>
<ul>
<li><span><strong></strong></span><a href="http://restructure.wordpress.com/2010/07/26/if-you-were-hacking-since-age-8-it-means-you-were-privileged/ " onclick="javascript:pageTracker._trackPageview('/outbound/article/restructure.wordpress.com');">If You Were Hacking Since Age 8 It Means You Were Privileged</a></li>
<li><a href="http://www.bricklin.com/wontprogram.htm " onclick="javascript:pageTracker._trackPageview('/outbound/article/www.bricklin.com');">Why Johnny Can&#8217;t Program</a></li>
<li><a href="http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.codinghorror.com');">Separating Programming Sheep from Non-Programming Goats</a></li>
<li><a href="http://www.slideshare.net/terriko/how-does-biology-explain-the-low-numbers-of-women-in-cs-hint-it-doesnt" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.slideshare.net');">How does biology explain the low numbers of women in computer science? Hint: It doesn&#8217;t.</a></li>
<li><a href="http://www.startuplessonslearned.com/2010/02/why-diversity-matter-meritocracy.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.startuplessonslearned.com');">Why Diversity Matters</a></li>
<li><a href="http://arstechnica.com/science/news/2010/01/female-teachers-math-anxiety-influences-female-students.ars" onclick="javascript:pageTracker._trackPageview('/outbound/article/arstechnica.com');">Female Teachers Transmit Math Anxiety to Female Students</a></li>
</ul>
<h2>Video Games</h2>
<ul>
<li><a href="http://www.guardian.co.uk/theobserver/2010/mar/21/tom-bissell-video-game-cocaine-addiction" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.guardian.co.uk');">Video Games: The Addiction</a></li>
<li><a href="http://www.guardian.co.uk/theobserver/2010/mar/21/tom-bissell-video-game-cocaine-addiction" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.guardian.co.uk');">Minecraft</a>
<ul>
<li><a href="http://www.penny-arcade.com/comic/2010/9/17/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.penny-arcade.com');">Penny Arcade on Minecraft Part 1</a> and <a href="http://www.penny-arcade.com/comic/2010/9/20/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.penny-arcade.com');">Part 2</a></li>
</ul>
<ul>
<li><a href="http://www.minecraftforum.net/viewtopic.php?f=35&amp;t=21089" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.minecraftforum.net');">How to Survive your First Night</a></li>
</ul>
<ul>
<li><a href="http://www.youtube.com/watch?v=LGkkyKZVzug" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');">16-bit ALU in Minecraft</a></li>
</ul>
</li>
<li><a href="http://www.thegreatestgameyouwilleverplay.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.thegreatestgameyouwilleverplay.com');">Nethack: The Greatest Game You Will Ever Play</a></li>
</ul>
<h2>Prohibition</h2>
<ul>
<li><a href="http://www.smithsonianmag.com/history-archaeology/Wayne-B-Wheeler-The-Man-Who-Turned-Off-the-Taps.html  " onclick="javascript:pageTracker._trackPageview('/outbound/article/www.smithsonianmag.com');">Wayne B Wheeler: The Man Who Turns Off the Taps</a> A history of prohibition, women&#8217;s suffrage, and the origins of single-issue politics</li>
<li><a href="http://www.slate.com/id/2098109/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.slate.com');">Who&#8217;s Got the Acid? These days, almost nobody.</a> and <a href="http://www.amazon.com/This-Your-Country-Drugs-History/dp/0470167394" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.amazon.com');">This Is Your Country On Drugs</a> by Ryan Grim</li>
</ul>
<h2>Birth Control</h2>
<p>It was the 50th anniversary of the birth control pill, inspiring a range of articles, including two contrarian pieces:</p>
<ul>
<li><a href="http://www.salon.com/life/feature/2010/05/03/pill_pushback/index.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.salon.com');">Why I Hate The Pill</a></li>
<li><a href="http://nymag.com/news/features/69789/" onclick="javascript:pageTracker._trackPageview('/outbound/article/nymag.com');">Waking Up From The Pill</a></li>
</ul>
<h2>The Beatles</h2>
<p>It was also the 30th anniversary of John Lennon&#8217;s death</p>
<ul>
<li>I really enjoyed reading <a title="Scenes From An Alternate Universe Where The Beatles Accepted Lorne Michaels’ Generous Offer" rel="bookmark" href="http://mightygodking.com/index.php/2009/11/10/scenes-from-an-alternate-universe-where-the-beatles-accepted-lorne-michaels-generous-offer/" onclick="javascript:pageTracker._trackPageview('/outbound/article/mightygodking.com');">Scenes From An Alternate Universe Where The Beatles Accepted Lorne Michaels’ Generous Offer</a></li>
<li><a href="http://videosift.com/video/The-Future-History-Of-The-Beatles" onclick="javascript:pageTracker._trackPageview('/outbound/article/videosift.com');">The Future History of the Beatles</a> is very clever</li>
<li>I had never read <a href="http://www.john-lennon.com/playboyinterviewwithjohnlennonandyokoono.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.john-lennon.com');">1980 Playboy Interview with John Lennon and Yoko Ono</a> and it clarified a lot of things about Lennon for me.</li>
</ul>
<h2>Keeping Your Eyes Open</h2>
<p>Finally, two links about keeping your eyes open for the surreal and the wonderful things around you every day:</p>
<ul>
<li><a href="http://www.entrances2hell.co.uk/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.entrances2hell.co.uk');">Entrances to Hell In and Around the UK</a></li>
<li><a href="http://blog.frankchimero.com/post/1059696119/there-is-a-horse-in-the-apple-store" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.frankchimero.com');">There is a Horse in the Apple Store</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/12/20/the-year-in-bookmarks-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yes Virginia, You Can Work on Great Technology at Startups</title>
		<link>http://innocuous.org/articles/2010/12/06/yes-virginia-you-can-work-on-great-technology-at-startups/</link>
		<comments>http://innocuous.org/articles/2010/12/06/yes-virginia-you-can-work-on-great-technology-at-startups/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 06:17:17 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://innocuous.org/?p=99</guid>
		<description><![CDATA[You can work on great technology at startups. You wouldn&#8217;t think that would be a controversial statement. But it is if you believe Ted Tso&#8217;s defense of Google, &#8220;Google has a problem retaining great engineers? Bullcrap.&#8221; Ted dismisses the engineering that goes on in a startup, saying:
Similarly, you don’t work on great technology at a startup.  Startups, [...]]]></description>
			<content:encoded><![CDATA[<p>You can work on great technology at startups. You wouldn&#8217;t think that would be a controversial statement. But it is if you believe Ted Tso&#8217;s defense of Google, <a href="http://thunk.org/tytso/blog/2010/11/29/google-has-a-problem-retaining-great-engineers-bullcrap/" onclick="javascript:pageTracker._trackPageview('/outbound/article/thunk.org');">&#8220;Google has a problem retaining great engineers? Bullcrap.&#8221;</a> Ted dismisses the engineering that goes on in a startup, saying:</p>
<p style="padding-left: 30px;"><em>Similarly, you don’t work on great technology at a startup.  Startups, by and large, aren’t about technology — at least, not the Web 2.0 startups like Facebook, Foursquare, Twitter, Groupon, etc.   They are about business model discovery.  So if you are fundamentally a technologist at heart, whose heart sings when you’re making a better file system, or fixing a kernel bug, you’re not going to be happy at a startup.   At least, not if the startup is run competently.</em></p>
<p>Ted might have a point about Web 2.0 startups, but there are still  technology startups in software. These startups generally need to prove out their product and market rather than their business model. Business model innovation is sometimes part of the exercise. But more often the company is executing on a standard business model, with some need to validate the market, a greater need to validate/implement the technology, and most importantly a need to link the innovative technology to an addressable market. Much has been written about this, because it is the traditional structure of startups.</p>
<p>Web 2.0 startups are trendy right now because they are disturbingly capital efficient. Companies like Diapers.com and Groupon have negligible technology risk. Proving out the business model costs very little money in the age of Everything as a Service (EaaS). They generate good stories about selling virtual goods before they exist, of zero-inventory supply chains and zero-employee companies. Investors like the idea of low risk high reward returns, even if they are still uncomfortable with the decreased emphasis on capital.</p>
<p>But while those companies are grabbing headlines and mindshare there is plenty of deep technology innovation going on in startups. There are more innovative database startups at various stages in their life than I can remember right now (e.g. Vertica, Clustrix, Tokutek), not to mention the NoSQL startups (Cloudera, Basho), messaging companies (Solace, Kaplan, 29west), visualization companies (Panopticon, Spotfire), and hundreds of other software startups with a sizable technical product innovation challenge ahead of them. And there are plenty of recent success stories that wouldn&#8217;t have been able to build their company without great technology (VMware, Google, Amazon).</p>
<p>It&#8217;s great that business model innovation is well enough understood that it is top of mind for developers. Understanding what key innovations are required, be they business or technical, and what are the most efficient ways to validate them, is key to success in any startup. It&#8217;s too bad that some engineers think that there is no longer a place for great engineering at startups. Not all startups require great engineering, but many still do.</p>
<p>Ted&#8217;s trying to defend Google against claims that Facebook is poaching all the engineers. From where I stand, he&#8217;s right. Plenty of great engineers are going to work at Google, more than are leaving. And Google is able to run projects like ChromeOS, LLVM, and AppEngine. Projects that wouldn’t be the same in a startup.</p>
<p>But if you were going to find fault with Google in this, consider: Googlers now believe they are doing engineering that can’t be done anywhere else. If that was true, it would mean they don’t have anything to fear from startups. Believing that is a step towards the hubris and ossification that Google is working so hard to avoid.</p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/12/06/yes-virginia-you-can-work-on-great-technology-at-startups/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Three Months Without Cable</title>
		<link>http://innocuous.org/articles/2010/11/29/three-months-without-cable/</link>
		<comments>http://innocuous.org/articles/2010/11/29/three-months-without-cable/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 04:03:23 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[television]]></category>

		<guid isPermaLink="false">http://innocuous.org/?p=95</guid>
		<description><![CDATA[As was widely reported in the media, the second and third quarter of 2010 show a steady decline in cable subscriptions. This is earth-shaking for the cable companies, who have seen growth in US subscribers over their entire history. It&#8217;s a key indicator of not only consumers being more careful with their spending, but the [...]]]></description>
			<content:encoded><![CDATA[<p>As was widely reported in the media, <a href="http://mediadecoder.blogs.nytimes.com/2010/11/17/cord-cutting-cable-subscriptions-drop-again/" onclick="javascript:pageTracker._trackPageview('/outbound/article/mediadecoder.blogs.nytimes.com');">the second and third quarter of 2010 show a steady decline in cable subscriptions</a>. This is earth-shaking for the cable companies, who have seen growth in US subscribers over their entire history. It&#8217;s a key indicator of not only consumers being more careful with their spending, but the rise of Internet-delivered media as a compelling alternative.</p>
<p>In August of this year I joined the ranks of people &#8220;cutting the cord&#8221;. I was moving, and when we set up Verizon FiOS at the new house we left off video. Three months later, I&#8217;d like to fill you in on how it has gone and what I see in the future of consumer video delivery.</p>
<p><span id="more-95"></span>I dropped FiOS television for two reasons: price and customer service. As for the price, paying more than $50 per month for cable television has always seemed excessive to me. Verizon kept edging up the costs, to something like $65 for fairly-basic service. &#8220;Fairly basic&#8221; is where customer service comes in, it was always difficult to navigate the different offerings, promotional rates, and timeouts.</p>
<p>In comparison, Verizon FiOS internet service is easy to buy, transparently priced, and has had fabulous technical support the few times I have had to use them (they have never asked me to <a href="http://xkcd.com/806/" onclick="javascript:pageTracker._trackPageview('/outbound/article/xkcd.com');">reboot anything</a>). I highly recommend FiOS internet service if it is available to you.</p>
<p>But back to television. Having decided to drop cable but not to suspend all consumption of video media, we replaced it with a few a la carte offerings:</p>
<ol>
<li>Netflix Streaming ($16.99 $9.99) &#8211; This works great. We&#8217;ve been long time Netflix customers. The number of movies and especially television available streaming keeps going up. We&#8217;ve hardly used the shipped-DVDs part of our Netflix subscription in months. They just changed around the plans, so we dropped to $10/month which only allows one DVD at a time, but unlimited streaming.</li>
<li>Hulu Plus ($7.99/month) &#8211; We&#8217;ve been using Hulu for a long time. The &#8220;plus&#8221; mostly means you have access to current shows (e.g. Glee) without them aging out. Otherwise you can only play the most recent handful of episodes. Hulu Plus also includes lots of rerun-grade television from the 80s and 90s.</li>
<li>Amazon Unbox ($2/episode) Some premium shows aren&#8217;t on Netflix or Hulu, like Mad Men, but they are available pay-per-episode on Amazon.</li>
<li>Apple iTunes ($3/episode) Other premium shows (True Blood) are only on iTunes.</li>
</ol>
<p>All this runs into a Mac Mini we bought a few years ago. I like the Mac because it is an open enough platform to run all the various media services I might want, while not having the maintenance headaches a Windows Media Center or Linux machine would have (I used to run MythTV before I switch to the Mac). There are many other ways to do it, like single purpose set top boxes (Netflix, Apple TV, Google TV, Boxee, etc) or game consoles or TVs with built in streaming media functionality. But I like the lack of lock-in that comes from having a general purpose computer attached to the television.</p>
<p>The total cost of this kind of setup is thus $600 for the hardware (not counting the actual television), under $20 of fixed costs per month, and another $15 of premium content purchases per month. That&#8217;s about $30 per month cheaper than the FiOS television I was getting.</p>
<p>What&#8217;s the downside? I have missed out on some content. The two things I wanted to watch but could not find online were the Emmy Awards (I could get red carpet and backstage feeds, but not the actual event) and the Macy&#8217;s Thanksgiving Day Parade (nice website but no streaming). I also no longer have access to Red Sox games, or other Boston sports. Given the tough season the Red Sox were having, I didn&#8217;t really miss it, but that might be a problem next year. MLB.com will sell you video feeds of games, but only outside the home market for the team. I could get around that restriction, but paying $200 for content only to have to violate the license terms seems abusive.</p>
<h3>The Future of Television</h3>
<p>I&#8217;m liking my new media lifestyle, it&#8217;s hard to imagine going back. If anything, it seems like more content is coming to me. The question for the content-producers is how are they going to get it to me. There are fortunes to be made in correctly predicting the new media distribution landscape.</p>
<p>One big opening I see is around children&#8217;s television. There isn&#8217;t a clear leader in this space. Netflix has a lot of children&#8217;s content, but doesn&#8217;t really offer the Saturday Morning Cartoons experience. Of course, maybe children will be looking for a more interactive media experience on their Saturday mornings. Media companies are still producing a lot of children&#8217;s television, and kids consume it. I predict a $10/month service focused on content for children, with optimized catalog and playback.</p>
<p>Another obvious opportunity is in sports. This is likely to be dominated by incumbents. I would happily pay per-game, or buy a reasonably priced subscription. $200 for the season from MLB is kind of high since I don&#8217;t come close to watching every game.</p>
<p>Finally, the big question is whether consumers in general will want this kind of a la carte experience, buying a $10 subscription here, a $2 video there, or if they would really rather have the bundled experience that cable offers. Even if someone does put together a bundled service, it&#8217;s hard for me to imagine people paying $60-100/month for internet-delivered television. Not with Netflix and Hulu setting price expectations so low.</p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/11/29/three-months-without-cable/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Captchas: The Bear Proof Trash Can Problem</title>
		<link>http://innocuous.org/articles/2010/11/21/captchas-the-bear-proof-trash-can-problem/</link>
		<comments>http://innocuous.org/articles/2010/11/21/captchas-the-bear-proof-trash-can-problem/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 03:03:21 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[metaphor]]></category>
		<category><![CDATA[optimization]]></category>

		<guid isPermaLink="false">http://innocuous.org/?p=86</guid>
		<description><![CDATA[Lately I&#8217;ve been selling a lot of things on Craigslist. Along with adventures in capitalism, every post to Craigslist requires filling out a CAPTCHA, specifically a reCAPTCHA. I&#8217;ve noticed that they have gotten quite difficult. In fact, at least one of the captchas I got recently was in Greek.
Captchas area a really clever idea, but [...]]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 12.0px 0.0px; font: 12.0px Helvetica} span.s1 {text-decoration: underline ; color: #0601ee} --><a href="http://innocuous.org/wp-content/uploads/2010/11/linkedin_captcha_fail.jpg" onclick=""><img class="alignright size-medium wp-image-87" title="linkedin_captcha_fail" src="http://innocuous.org/wp-content/uploads/2010/11/linkedin_captcha_fail-300x80.jpg" alt="Not actually my captcha fail, but same idea, a captcha in greek from linked in" width="300" height="80" /></a>Lately I&#8217;ve been selling a lot of things on Craigslist. Along with adventures in capitalism, every post to Craigslist requires filling out a <a href="http://en.wikipedia.org/wiki/CAPTCHA" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">CAPTCHA</a>, specifically a <a href="http://www.google.com/recaptcha" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');">reCAPTCHA</a>. I&#8217;ve noticed that they have gotten quite difficult. In fact, at least one of the captchas I got recently was in Greek.</p>
<p>Captchas area a really clever idea, but they represent a special kind of arms race. The spammers are always improving their automatic and semi-automatic captcha solvers. At the same time, the average web user is not getting any better at solving captchas. The goal of the captcha company is to hit the window between what motivated spammers can do automatically and what web users can do manually.</p>
<p><a href="http://innocuous.org/wp-content/uploads/2010/11/bear-eat-trash.jpg" onclick=""><img class="alignleft size-full wp-image-88" title="bear-eat-trash" src="http://innocuous.org/wp-content/uploads/2010/11/bear-eat-trash.jpg" alt="" width="200" height="180" /></a>I call this the <strong>Bear-Proof Trashcan Problem</strong>. If you have ever walked up to a trash can in a bearful park, you know the experience. The instructions on the trash cans keep getting longer, the mechanical bits more complicated and more hidden. The result is tourists leaving trash outside the cans, which is as bad as not bear-proofing the cans at all. But if the cans are simpler, or require less manual dexterity, bears figure them out. The bears are willing to put a lot of time into it. And as one park ranger put it, &#8220;The smartest bears are smarter than the dumbest tourists.&#8221;<a href="http://innocuous.org/wp-content/uploads/2010/11/human-proof-trashcan.jpg" onclick=""><img class="alignright size-full wp-image-89" title="human-proof-trashcan" src="http://innocuous.org/wp-content/uploads/2010/11/human-proof-trashcan.jpg" alt="" width="200" height="173" /></a></p>
<p>When you are building software license enforcement, or writing tax law, or creating frequent flyer programs, you face the same problem: the desirable majority is willing to spend much less time dealing with whatever you create than the undesirable minority is going to spend breaking it. Very often people forget this rule, and build systems which focus on preventing the undesirable behavior, driving away the desirable but uncommitted majority. <strong>It&#8217;s easy to build a bear proof trash can. It&#8217;s hard to build one that a tourist can use.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/11/21/captchas-the-bear-proof-trash-can-problem/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Proactive Assumption Violation: Avoiding Bugs By Behaving Badly</title>
		<link>http://innocuous.org/articles/2010/11/14/proactive-assumption-violation-avoiding-bugs-by-behaving-badly/</link>
		<comments>http://innocuous.org/articles/2010/11/14/proactive-assumption-violation-avoiding-bugs-by-behaving-badly/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 03:38:46 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://innocuous.org/articles/2010/11/14/proactive-assumption-violation-avoiding-bugs-by-behaving-badly/</guid>
		<description><![CDATA[Bugs are a fact of life in software, and probably always will be. Some bugs are probably unavoidable, but a lot of bugs can be avoided through good architecture, defensive programming, immutability, and other techniques. One major source of bugs, especially frustrating bugs, is non-deterministic behavior. Every programmer has experienced bugs which don&#8217;t reproduce, which [...]]]></description>
			<content:encoded><![CDATA[<p>Bugs are a fact of life in software, and probably always will be. Some bugs are probably unavoidable, but a lot of bugs can be avoided through good architecture, defensive programming, immutability, and other techniques. One major source of bugs, especially frustrating bugs, is non-deterministic behavior. Every programmer has experienced bugs which don&#8217;t reproduce, which require a special environment, or special timing, or even just luck to make happen. To avoid these bugs, programmers learn to favor determinism, making sure their software behaves the same way every time.</p>
<p>But sometimes a little extra non-determinism can help to avoid bugs. When designing a library the specification may contain caveats which the implementation does not exercise. If a program only ever uses one implementation, or doesn&#8217;t exercise the full range of behaviors while testing, then the program may depend on behaviors which are an artifact of the implementation. When an alternative implementation is used, or circumstances exercise other behaviors, then the program will exhibit bugs. What I would like to suggest is that instead the implementation proactively violate any assumptions the client might have, by deliberately and non-deterministically taking advantage of all the caveats in the interface specification. This will force clients to code defensively, and help to eliminate this class of bugs.</p>
<p>For example, an interface for Set might include iteration, but say that iteration order is unspecified. Most Set implementations, like Java&#8217;s HashSet, will iterate in a stable order if the set doesn&#8217;t change. The order might even be consistent from one run of the program to the next. But if programs depend on iteration stability, substituting a different implementation, such as one based on a <a href="http://en.wikipedia.org/wiki/Splay_tree" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">splay tree</a>, will introduce bugs. If instead the implementation of Set iteration deliberately returned a different iteration order each time, then programs would be unable to depend upon it.</p>
<p>For a real-world example, consider the standard C function <a href="http://opengroup.org/onlinepubs/007908799/xsh/memcpy.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/opengroup.org');">memcpy</a>. According to the specification, if the source and destination buffers overlap, behavior is undefined. But what does undefined really mean? Recently, <a href="http://article.gmane.org/gmane.comp.lib.glibc.alpha/15278" onclick="javascript:pageTracker._trackPageview('/outbound/article/article.gmane.org');">Linux switched to a new memcpy implementation</a>, one which copies backwards (high bytes first, low bytes last), because it is faster on modern hardware. The result is a dramatic change in overlapping buffer behavior, leading to difficult to isolate bugs like <a href="https://bugzilla.redhat.com/show_bug.cgi?id=638477" onclick="javascript:pageTracker._trackPageview('/outbound/article/bugzilla.redhat.com');">Red Hat Bug 639477: Strange sound on mp3 flash website</a>. The bug was eventually <a href="https://bugzilla.redhat.com/show_bug.cgi?id=638477#c31" onclick="javascript:pageTracker._trackPageview('/outbound/article/bugzilla.redhat.com');">tracked down to memcpy using valgrind</a>. But if the original memcpy had been more deliberately harmful in the case of overlapping buffers, than bugs like this would not be created in the first place.</p>
<p>Another place where this comes up is thread safety. Many APIs are not thread safe, but the results of using them in a thread-unsafe way are benign, or unlikely. Take the Java DOM API for XML documents. This is not a thread safe API, which is not surprising for a complex mutable data structure. What is a bit surprising is that even just reading the Java DOM from multiple threads can have unintended consequences. This is because of a cache for reuse of Node objects, and the failure mode is that very occasionally accessor functions return null when they are called from multiple threads simultaneously. Debugging a program that was suffering from this behavior took several hours, because the undesirable behavior is very infrequent. Is there a way we can apply the principle of proactive assumption violation to make this sort of bug less common?</p>
<p>System that cope with infrastructure faults by degrading their behavior are another case where proactive assumption violation can reduce bugs later. NoSQL databases are well known for taking approaches like eventual consistency in order to offer better performance and availability. But that means that when the system is under heavy load or suffering from partial outages, consistency may take a long time to resolve. I ran into this as a user of Netflix the other night. My television and my laptop had two different ideas of what my current Netflix queue contained; my television couldn&#8217;t see the recent updates. It turns out there is even a <a href="http://www.slideshare.net/adrianco/no-sq-lfornetflix" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.slideshare.net');">slide deck from Netflix</a> describing the architecture choices that led to my undesirable user experience. Most of the time things are consistent enough that I wouldn&#8217;t see this asynchrony. But when I do see it, as a user there is no obvious way to get around it or even to know that it is happening. Would a NoSQL infrastructure that let consistency drift more often end up with better average user experience?</p>
<p>Clients of interfaces often make assumptions about how those interfaces work, assumptions that are explicitly or implicitly not part of the spec. But if implementations of the interface don&#8217;t violate those assumptions, then programs can be developed which require them to be true. This leads to unexpected and expensive bugs if and when those assumptions are violated. One solutions is for implementations to deliberately violate these assumptions, for no other reason than to force clients of their interface to future-proof. The result is more work up front for programmers, but fewer bugs in the long run.</p>
<p>What do you think about proactive assumption violation? Is it a technique you have ever used? Have you experienced bugs which would be avoided if others had employed proactive assumption violation?</p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/11/14/proactive-assumption-violation-avoiding-bugs-by-behaving-badly/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Apple is a Luxury Brand, Android Will Never Be</title>
		<link>http://innocuous.org/articles/2010/10/17/apple-is-a-luxury-brand-android-will-never-be/</link>
		<comments>http://innocuous.org/articles/2010/10/17/apple-is-a-luxury-brand-android-will-never-be/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 02:48:57 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[marketing]]></category>

		<guid isPermaLink="false">http://innocuous.org/articles/2010/10/17/apple-is-a-luxury-brand-android-will-never-be/</guid>
		<description><![CDATA[Recently I&#8217;ve had several good conversations about exactly what business Apple is in. They have clearly transcended their traditional role as a computer maker. Some people think that Apple has become a media company, or a telecommunications company. What they have really done is to become a luxury brand. As a luxury brand they are [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve had several good conversations about exactly what business Apple is in. They have clearly transcended their traditional role as a computer maker. Some people think that Apple has become a media company, or a telecommunications company. What they have really done is to become a luxury brand. As a luxury brand they are shielded from feature- and performance-based competition, enjoying higher margins and more stable revenues than other consumer electronics firms. The future of the iPhone and iPad and their strategy for competing with Android will be based on Apple&#8217;s luxury brand.</p>
<p>In laptops and desktops, Apple is unassailed as the luxury brand. Whenever I talk to non-engineers about buying laptops or desktops, this is clear. If I suggest they get a Mac, the response is never &#8220;I don&#8217;t know if it will run my software&#8221; or &#8220;I prefer Windows&#8221;, but rather &#8220;I can&#8217;t afford one&#8221; or &#8220;it feels unnecessary.&#8221; Rather like if someone asked me what car to buy and I suggested a BMW. As far as I can tell, non-geeks would all buy Macs if money were no object. And there is a strong correlation between people who display what computer they use socially (geeks, coffee-shop denizens) and Mac users (gamers have their own tastes and displays). Thanks to the fact that <a href="http://www.mondaynote.com/2010/10/03/the-os-doesn%E2%80%99t-matter/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mondaynote.com');">the OS no longer matters</a>, consumers are free to select either a utilitarian lowest-bidder machine, or a Mac.</p>
<p>Apple doesn&#8217;t really have any competition in this market. Sony has tried several times, and makes some really nice (and really expensive) machines. But because the Sony brand still doesn&#8217;t mean luxury to the man on the street, it doesn&#8217;t give people the opportunity to show off that they require from their luxury goods. And so Apple has a near-monopoly on expensive computers. <a href="http://www.betanews.com/joewilcox/article/Apple-has-91-of-market-for-1000-PCs-says-NPD/1248313624" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.betanews.com');">In June 2009, Apple had 90% market share for non-business computers costing more than $1000.</a> Their consumers are not price sensitive, and so Apple gets correspondingly high margins, creating a lucrative and stable business.</p>
<p>The iPod is also a luxury good, albeit a luxury that nearly everyone can afford. I think it is a fluke that Apple dominates the portable music player market. I think the iPod is the Coach purse of the Apple lineup: It&#8217;s a luxury good, but one that nearly anyone can afford and is easy to justify. And with those ubiquitous white earbuds, you can show off your good taste even when the player is in your pocket.</p>
<p>Speaking of the iPod, some people think that Apple is becoming a media company, leveraging their control of the player into domination of the music business. Far from it, I would say. Apple is happily participating in the demise of the music industry, carrying the record labels in a hand basket towards the free or nearly-free distribution of recorded music that is <a href="http://www.apple.com/hotnews/thoughtsonmusic/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.apple.com');">the obvious conclusion of technological improvements</a>. If you told Steve Jobs that all music is going to be free tomorrow, the logical response would be &#8220;great, people are going to need new iPods with more storage.&#8221;</p>
<p>The iPad is clearly a luxury good. Early adopters proudly show off their iPad. It&#8217;s very expensive and has little competition. There is a big question as to how the market for tablets will develop. It may go the way of MP3 players, an expensive but pleasant toy where everyone buys the nice one from Apple. Or it may look more like the modern PC world, where anyone can get a decent table from Acer/Dell/HP/etc for $200. A lot depends on how broad the demand is for tablets.</p>
<p>The iPhone initially headed in the direction of the iPod, looking like mainstream consumers were choosing between an iPhone and no smartphone at all. But Android has created a credible option, in fact a wealth of credible option, that more practical consumers see as the better option when it comes to price, service availability, etc. But Apple still sells plenty of phones to people who want the new iPhone, even if the antenna is broken, the service is terrible, and their preferred carrier doesn&#8217;t have it.</p>
<p>Expect Apple to maintain a high price point and air of exclusivity around the iPad and iPhone. In the face of dozens of perfectly adequate Android competitors, Apple may well cede the low end of the market. Their branding, integration, and user experience will allow them to capture a premium price at the high end. Their product line will stay simple; customer&#8217;s aren&#8217;t interested in the optimal price/performance or choosing features. <a href="http://techcrunch.com/2010/06/28/iphone-4-vs-evo-4g/" onclick="javascript:pageTracker._trackPageview('/outbound/article/techcrunch.com');">Customers just want the new Apple device, and will not be especially conscious about the price or comparisons to third party products.</a></p>
<p>Much has been written about developers fleeing iOS for Android. It&#8217;s true that Apple has been difficult to do business with. I expect mobile app developers to realize that Apple has the customers they want. Years ago, Apple was able to keep developers on the Mac platform when their market share was in the low single digits, because the average Apple user bought a lot more third party software than the average Windows user. Similarly, by hanging on to the high-end, $4-latte-drinking customer, Apple will be the place to go for developers selling $4 apps. Expect comparisons of per-user app spend to be forthcoming, and the numbers to be in Apple&#8217;s favor.</p>
<p>Apple has figured out how to be the only mass market luxury vendor in desktops, laptops, and MP3 players. By applying the same techniques to tablet computers and mobile phones, they might not maintain raw market share, but they can hang on to the most profitable customers, which is more important. They will do it not by offering the best products on some absolute scale understood only by geeks, but by offering a user experience that starts in the store, a brand which is increasingly well recognized, and a set of stories that tell people they are buying something more than just luxury.</p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/10/17/apple-is-a-luxury-brand-android-will-never-be/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Non-Destructive Process Inspection on OSX: Blog Post Recovery</title>
		<link>http://innocuous.org/articles/2010/08/29/non-destructive-process-inspection-on-osx-blog-post-recovery/</link>
		<comments>http://innocuous.org/articles/2010/08/29/non-destructive-process-inspection-on-osx-blog-post-recovery/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 02:13:28 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://innocuous.org/articles/2010/08/29/non-destructive-process-inspection-on-osx-blog-post-recovery/</guid>
		<description><![CDATA[Moments ago I was writing a different blog post, about home renovation. Unfortunately just as I posted it a bug in ecto, the aging client I still use to edit blog posts, caused the complete loss of the text with no backup copies. Because messing about with system tools is more fun than rewriting that [...]]]></description>
			<content:encoded><![CDATA[<p>Moments ago I was writing a different blog post, about home renovation. Unfortunately just as I posted it a bug in ecto, the aging client I still use to edit blog posts, caused the complete loss of the text with no backup copies. Because messing about with system tools is more fun than rewriting that blog post, I present instead a brief howto for creating a core dump on OSX without killing a process, and inspecting that core dump to attempt to recover your data.</p>
<p>As many of my readers probably already know, a core dump is an image of the contents of a programs memory. Generally core dumps are created when a program fails in a particularly catastrophic way, such as a segmentation fault. Core dumps help programmers find out what lead to the failure. Usually it&#8217;s easy to get a core dump, you just do a <i>kill -11</i> of the process ID, faking a segfault. This takes down the program and writes a core dump.</p>
<p>Unfortunately since core dumps aren&#8217;t useful to non programmers, the environment on OSX by default does not make them, even when there are segmentation faults. One can change this for a given shell or process or login session using the <i>ulimit</i> command or the associated syscalls, but Murphy was with me today and so ecto was not running with such a setting. It is possible to change the setting of a running process by connecting with a debugger like <i>gdb</i> and making the right syscall, but that felt a little risky, since if I messed it up the process would be gone, whether I got a core dump or not.</p>
<p>Instead, let&#8217;s figure out how to not kill the process at all, doing the work of taking the memory snapshot ourselves. This should be possible with modern process inspection APIs. The book you want for this is <a href="http://www.amazon.com/exec/obidos/ASIN/0321278542/innocuousorg-20/ref=nosim/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.amazon.com');">Mac OSX Internals</a>. I have a copy, and was all set to begin some deep <a href="http://en.wiktionary.org/wiki/yak_shaving" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wiktionary.org');">yak shaving</a> figuring all this out. However, the book saw me coming, and already laid out an example in detail, called <a href="http://osxbook.com/book/bonus/chapter8/core/" onclick="javascript:pageTracker._trackPageview('/outbound/article/osxbook.com');">Process Photography</a>.</p>
<p>So, if you want to know a lot more about making your own core dump utility, you can read that post. Or if you are still with me because you just want to know how to recover a blog post, then go there and download <a href="http://osxbook.com/book/bonus/chapter8/core/download/gcore-1.3.tar.gz" onclick="javascript:pageTracker._trackPageview('/outbound/article/osxbook.com');" title="gcore-1.3.tar.gz">gcore-1.3.tar.gz</a> at the end of the post. Untar it and compile your <i>gcore</i> utility. Now you can create a core dump by running <i>gcore -c ecto.core PID</i>. If your experience is like mine, this will generate a 1.3 gigabyte core file, because modern programs are not shy about using memory, virtual and otherwise.</p>
<p>Now, this 1.3 gigabyte core file contains everything from program text and mmaped files to active memory to freed memory that hasn&#8217;t been reused yet. It&#8217;s a vast expanse of stuff you don&#8217;t need, must of it binary. Luckily, most programs will just store textual content as ASCII or UTF8. Assuming you were writing English, then the <i>strings</i> utility will be sufficient to find your text. So you can run <i>strings ecto.core &gt; ecto.strings</i>. This will generate another large file (64 megs this time, not 1.3 gigs) with just the ascii string data from your programs memory. Still a lot to wade through, so I use <i>grep -i</i> to look for uncommon words in my post, and <i>less</i> to be able to page around the file quickly.</p>
<p>I wish that the story had a happy ending, but after all that I found that the ecto memory space contained a dozen copies of my post, but all of them were the truncated version that it had posted on my blog, rather than the actual text I wrote. So you will have to wait until next week (or at least tomorrow) to learn what I had to say about house renovation.</p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/08/29/non-destructive-process-inspection-on-osx-blog-post-recovery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Platonic Browser Session Management</title>
		<link>http://innocuous.org/articles/2010/07/26/platonic-browser-session-management/</link>
		<comments>http://innocuous.org/articles/2010/07/26/platonic-browser-session-management/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 05:04:01 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://innocuous.org/articles/2010/07/26/platonic-browser-session-management/</guid>
		<description><![CDATA[Firefox just crashed, and when I restarted it I was informed that it had some trouble reopening my 115 tabs. Understandable, but I went ahead and clicked the button that encouraged it to try harder. The result, after consuming what would have been several thousand dollars of computer time back when they charged for it, [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox just crashed, and when I restarted it I was informed that it had some trouble reopening my 115 tabs. Understandable, but I went ahead and clicked the button that encouraged it to try harder. The result, after consuming what would have been several thousand dollars of computer time back when they charged for it, is that I&#8217;m back in the mess I made myself, with an unmanageable collection of pages open, covering topics like faucets, washing machines, coffee brewing, JVMs, whatever else came out of Google Reader, and the research I was doing for this post.</p>
<p>Our civilization has had tabbed interfaces since <a href="http://en.wikipedia.org/wiki/Tab_(GUI)#History" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">1988</a>. Mainstream browsers (well, Mozilla) have supported tabbed browsing since 2001. As tabbing has become more mainstream, as the web has gotten more complex, and as computers have gotten fast enough to handle dozens of open web pages, people have opened more and more tabs. The result is that nearly everyone knows the experience of &#8220;just having to close some tabs&#8221; before you reboot, or so you can get on with more important work. It&#8217;s easy to overwhelm yourself with the amount of content you can have open in tabs, and clearing it out is often an archeological experience spanning the last week or month of your web activities.</p>
<p>Browser tab management represents the greatest software usability challenge of our time. We are all facing information overload of one form or another, and this is an opportunity to improve the way people find, consume, retain, and manage information. Lately we are seeing a lot of attempts at innovation here, from Chrome&#8217;s tear-away tabs and performance optimization, to Firefox extensions like <a href="https://addons.mozilla.org/en-US/firefox/addon/5244/" onclick="javascript:pageTracker._trackPageview('/outbound/article/addons.mozilla.org');">Ctrl-Tab</a>. Most recently today we saw <a href="http://www.azarask.in/blog/post/tabcandy/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.azarask.in');">Tab Candy</a>, a preview of new functionality in <a href="http://www.mozilla.com/en-US/firefox/beta/features/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mozilla.com');">Firefox 4</a>.</p>
<p>I&#8217;ve often said that I&#8217;ll switch to the first browser that doesn&#8217;t make me feel guilty for having 100+ open tabs. Looking at Tab Candy and other innovations, I see that we are moving in the right direction. But there are still many aspect of the problem that aren&#8217;t being sufficiently addressed.</p>
<ul>
<li>Application-oriented tab organization &#8211; Many of the sites I use today are really applications, whether it is Google Docs, Facebook, or Amazon. Taking application behavior into account, and helping me to avoid opening the same heavy application (e.g. gmail) multiple times is part of getting tab management correct.</li>
<li>Automatic tab organization &#8211; Systems like Tab Candy require that users manage tabs. But wouldn&#8217;t it be better if tabs were managed and grouped automatically?</li>
<li>Managing the tab/bookmark continuum &#8211; Leaving something open in a tab, or opening it in a tab, is often a way of deciding to come back to it later. Bookmarks accomplish the same thing, but most people&#8217;s bookmarks are themselves a usability nightmare. Automatically migrating tabs into bookmarks and bookmarks back into tabs might be the solution to a lot of these tab problems.</li>
<li>Excursion and history management &#8211; Web browsing isn&#8217;t a linear process, the way browser history would have you think. It is at least a branching tree, which tabs support. But often the process of web browsing is a product itself, as when researching a new subject or deciding on a purchase. Being able to not only manage the process as it is happening, but also to archive it for later resumption or reference, would improve the efficiency of many browser tasks.</li>
<li>CPU efficiency &#8211; An implementation detail to be sure, but one of the obstacles to running with 100+ tabs is the CPU load of all the little Javascripts. Some way to manage this, pausing or closing pages which are not visible, is likely to be required.</li>
</ul>
<p>As you can see, there is still plenty of room for improvement in the browser interface, particularly around large numbers of tabs. What other cutting edge stuff have you seen? What would you like to see implemented?</p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/07/26/platonic-browser-session-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DEBS 2010 Highlights</title>
		<link>http://innocuous.org/articles/2010/07/18/debs-2010-highlights/</link>
		<comments>http://innocuous.org/articles/2010/07/18/debs-2010-highlights/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 02:49:09 +0000</pubDate>
		<dc:creator>tibbetts</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[computer science]]></category>
		<category><![CDATA[event processing]]></category>

		<guid isPermaLink="false">http://innocuous.org/articles/2010/07/18/debs-2010-highlights/</guid>
		<description><![CDATA[I spent the first half of last week at DEBS 2010 at King&#8217;s College in Cambridge, UK. It was a great conference, many good papers and interesting attendees. As usual some of the best ideas came from the hallway sessions. But I&#8217;d like to provide some pointers to my favorite papers of the conference:

David Jeffery&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I spent the first half of last week at <a href="http://debs10.doc.ic.ac.uk/" onclick="javascript:pageTracker._trackPageview('/outbound/article/debs10.doc.ic.ac.uk');">DEBS 2010</a> at King&#8217;s College in Cambridge, UK. It was a great conference, many good papers and interesting attendees. As usual some of the best ideas came from the hallway sessions. But I&#8217;d like to provide some pointers to my favorite papers of the conference:</p>
<ul>
<li>David Jeffery&#8217;s <a href="http://portal.acm.org/citation.cfm?id=1827418.1827447&amp;coll=portal&amp;dl=GUIDE" onclick="javascript:pageTracker._trackPageview('/outbound/article/portal.acm.org');">keynote</a> on Betfair&#8217;s event driven architecture, past present and future. David presented not only on the performance challenges of running the core betting exchange, but also on the soft benefits. Thanks to their event driven architecture, Betfair is able to do more experimentation with less disruption, and be more agile as an organization.</li>
<li>Dan O&#8217;Keeffe presented <a href="http://portal.acm.org/citation.cfm?id=1827418.1827429&amp;coll=portal&amp;dl=GUIDE" onclick="javascript:pageTracker._trackPageview('/outbound/article/portal.acm.org');">Reliable Complex Event Detection for Pervasive Computing</a>, a system for compensating for missing data. Most importantly, it lays out a selection of strategies that developers can select and the system can use to automatically choose the correct approach, based on wether the system should be optimistic, pessimistic, or something in between.</li>
<li><a href="http://www.cs.cornell.edu/projects/quicksilver/public_pdfs/DEBS-CRC.pdf" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cs.cornell.edu');">Quilt: A Patchwork of Multicast Regions</a> was presented by one of the local students on short notice, because the author was not able to attend due to visa problems. This is especially frustrating when the paper is so interesting and the analysis quite strong. Quilt is a system for combining multiple delivery mechanisms to achieve efficient wide area distribution. Combining overlay-network based protocols with &#8220;patches&#8221; of true multicast where available, Quilt optimizes message routing for efficiency, reliability, and latency.</li>
<li><a href="http://portal.acm.org/citation.cfm?id=1827418.1827459&amp;coll=portal&amp;dl=GUIDE" onclick="javascript:pageTracker._trackPageview('/outbound/article/portal.acm.org');">An Approach for Iterative Event Pattern Recommendation</a> which was also presented by a colleague rather than one of the authors due to visa issues. The paper describes a system for recommending event patterns to domain experts based on their initial attempts to define the pattern. In a controlled user study, the recommendation system substantially reduced the time taken by users to define novel patterns. It was good to see a real user study of a programming efficiency system, but there is lots of room for further measurement.</li>
<li><a href="http://portal.acm.org/citation.cfm?id=1827418.1827460&amp;coll=portal&amp;dl=GUIDE" onclick="javascript:pageTracker._trackPageview('/outbound/article/portal.acm.org');">Experiences with Codifying Event Processing Function Patterns</a>, presented by the author Anand Ranganathan, dealt with a different kind of pattern. In systems using Ranganathan&#8217;s system, developers build template network flows, annotated with tags to define what components can be used in the flow. Any component that matches the inputs, outputs, and tags can be inserted into the template, and all possible template instantiations represent a domain of valid applications. End users are able to search this combinatorially large domain with a flexible interface, to find and instantiate applications that meet their needs.</li>
</ul>
<p>There are many great papers and talks not listed here. Obviously my own bias shows, as does the fact that I didn&#8217;t attend every talk or read every paper.</p>
<p>Unfortunately most of the links go to the ACM portal, which doesn&#8217;t offer public access. My frustration with and thoughts on the future of academic publishing will have to wait for a future post. I recommend googling the titles and finding them on author pages if you can. Or ping me and I can send you papers.</p>
<p>Next year the conference will be hosted in New York by IBM research. Whether you attended or not, if you have any feedback on how to make the conference more appealing, I&#8217;m happy to hear it.</p>
]]></content:encoded>
			<wfw:commentRss>http://innocuous.org/articles/2010/07/18/debs-2010-highlights/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

