<?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>Mark Nelson &#187; Snarkiness</title>
	<atom:link href="http://marknelson.us/category/snarkiness/feed/" rel="self" type="application/rss+xml" />
	<link>http://marknelson.us</link>
	<description>Programming, mostly.</description>
	<lastBuildDate>Fri, 13 Apr 2012 19:25:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Gawker Considered Stupid &#8211; Criminally Stupid</title>
		<link>http://marknelson.us/2011/02/06/gawker-considered-stupid-criminally-stupid/</link>
		<comments>http://marknelson.us/2011/02/06/gawker-considered-stupid-criminally-stupid/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 21:51:56 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Complaining]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Snarkiness]]></category>

		<guid isPermaLink="false">http://marknelson.us/?p=266</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2011/02/06/gawker-considered-stupid-criminally-stupid/' addthis:title='Gawker Considered Stupid &#8211; Criminally Stupid' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>The storage of plaintext or encrypted passwords by any company that does business with the public is an act of stupidity. An act of stupidity so dangerous that it needs to be made illegal. Yes, we need federal law banning the storage of passwords on more or less all IT systems in the world. The recent break-in of the Gawker user database makes this point more clearly than anything I can say, but that won't stop me from trying.]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2011/02/06/gawker-considered-stupid-criminally-stupid/' addthis:title='Gawker Considered Stupid &#8211; Criminally Stupid' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><table border="0" align="left" cellpadding="5">
<tr>
<td><img src="/attachments/2011/gawker/passwords.jpg"/></td>
<tr>
<tr>
<td><a href="http://www.flickr.com/photos/beleaveme/3988066230/" class="newpage">Photo</a> by Bob Brown</td>
</tr>
</table>
<p>One of the oldest rules in print journalism is to get the reader&#8217;s attention with the lead, and to make your whole point in the first paragraph. Here goes: The storage of plaintext or encrypted passwords by any company that does business with the public is an act of stupidity. An act of stupidity so dangerous that it needs to be made illegal. Yes, we need federal laws banning the storage of passwords on more or less all IT systems in the world. The recent break-in of the Gawker user database makes this point more clearly than anything I can say, but that won&#8217;t stop me from trying.<br />
<span id="more-266"></span></p>
<h4>Best Practices</h4>
<p>Long ago, in the pre-PC days, I was a neophyte learning my way around the UNIX system my employer used for software development. It didn&#8217;t take long before I bumped into one of the more interesting files on the system: <code>/etc/passwd</code>. To my young eyes, it appeared that this file contained the encrypted passwords for all the users in the company. All I had to do was get my hands on the system software that managed logins, and I could quickly print out a complete list of credentials. Awesome!</p>
<p>Soon enough I learned my lesson. One of those bearded UNIX gurus was kind enough to take me aside and point out the obvious: <code>/etc/passwd</code> doesn&#8217;t contain encrypted passwords. It contains hashed passwords. <a href="http://www.aspheute.com/english/20040105.asp" class="newpage">Hashed and salted</a>, in fact. Because of this, the original designers of UNIX were able to do what seemed like hubris to me: leave the password file with a mode value of 644 &#8211; available for anyone on the system to read.</p>
<p>Even though this was a best practice almost forty years ago, the Gawker debacle shows us that some people just don&#8217;t learn. Media empire Gakwer, host of dozens of popular web sites, had their internal database hacked. After much of the data was posted to public web sites, <a href="http://www.slate.com/id/2277768/" class="newpage">the truth came out</a>. Gawker had over 1.25 million passwords stored in their database. Encrypted passwords, which they felt were quite safe. Safe, that is, until they showed up on the Pirate Bay&#8217;s lists of torrents. </p>
<p>Gawker was stupid &#8211; that much is obvious. Anything that is encrypted can be decrypted. That&#8217;s the nature of the algorithm, and that is why the passwords were stored that way. And if a password can be decrypted, you are just one security breach away from a bad actor having a plaintext password for every user on your system. If your passwords are hashed and salted, the bad actor can still get that list &#8211; but it should take at least a few decades.</p>
<p>But this kind of stupidity has the power to do much more damage than letting a script kiddy post comments on Lifehacker using my name. In today&#8217;s web, the average citizen who creates an account on a Gawker property such as Lifehacker, Gizmodo, or Fleshbot uses a password that is identical to the one they use on Amazon, eBay, PayPal, and their bank. So it&#8217;s pretty obvious what a black hat can do with that list of email address/password combinations &#8211; the economic damage can be stupendous.</p>
<p>That&#8217;s why we need to make the storage of encrypted passwords illegal. </p>
<h4>Yes, Illegal</h4>
<p>If it was just a matter of education, we could attack this problem in a sensible way. But the truth is, <strong>when it comes to security</strong>, the average IT person is an idiot, and the average user is an idiot. Just for example, my hosting service, Dreamhost.com, stores user passwords in their database. I&#8217;ve argued with them to no end about how stupid this is. But they&#8217;re content &#8211; the passwords are encrypted, and hardly anyone has access to them. They&#8217;ll happily go on in this mode until a disgruntled employee mails out the list, or the inevitable security breach leads to a mini-Gawker episode. And this is a company hosting close to a million domains. Just imagine how many startups out there have your credentials stored with no more protection than an XORed string in a database, and nothing but some caffeine-fueled PHP code protecting you from a SQL injection hack.</p>
<p>No, I think it&#8217;s time to acknowledge that my credentials belong to me, and they need the legal protection that my other properties enjoy. We need to to develop a new <a href="http://www.itl.nist.gov/fipspubs/" class="newpage">FIPS</a> regulation regarding the storage of passwords, and then enact it as law &#8211; with hefty penalties.  A Gawker-size breach should result in an instant fine on the order of tens of millions of dollars. </p>
<h4>It&#8217;s Clear This is Needed</h4>
<p>Like millions of people, I received the Gawker email shortly after passwords were posted:</p>
<blockquote><p>
<b>Gawker Media</b> to markn<br />
12/13/10<br />
This weekend we discovered that Gawker Media&#8217;s servers were compromised, resulting in a security breach at Lifehacker, Gizmodo, Gawker, Jezebel, io9, Jalopnik, Kotaku, Deadspin, and Fleshbot. As a result, the user name and password associated with your comment account were released on the internet. If you&#8217;re a commenter on any of our sites, you probably have several questions.<br />
&#8230;
</p></blockquote>
<p>The site had a link to a <a href="http://lifehacker.com/5712785/faq-compromised-commenting-accounts-on-gawker-media" class="newpage">FAQ</a> which answered questions about the breach. The most important question thing to note about this FAQ is that months after the breakin, we still see a very bad entry:</p>
<blockquote><p>
<b>11) What are you doing to ensure this doesn&#8217;t happen in the future?</b><br />
We&#8217;re bringing in an independent security firm to improve security across our entire infrastructure. Additionally, we will continue to work with independent auditors to ensure we maintain a reliable level of security, as well as the processes necessary to ensure we maintain a safe environment for our commenters.
</p></blockquote>
<p>There is really only one good answer to this question: it should have read &#8220;<em>We will never store passwords on our systems again &#8211; either in clear text, or encrypted. As this episode demonstrates, storing passwords is a worst practice. We were stupid once, but we are going to show the world that we have the capacity to learn. From now on, our passwords will be hashed and salted using the strongest possible algorithms available on our back end</em>.&#8221;</p>
<h4>What You Can Do</h4>
<p>The obvious thing you need to do is to not use the same password on every site &#8211; this is a no-brainer. If you currently use <em>fluffy99</em> as your password on Amazon, PayPal, eBay, and Poker Stars, you are vulnerable. Just make a small change in your algorithm. Instead of using fluffly99, simply append the first letter of the site to the password: Amazon gets fluffy99a, PayPal gets fluffy99p, etc. Use some easy-to-remember variation on this theme and you are immediately protected against the first wave of automatic attacks following a breach.</p>
<p>The second thing is to start shaming the morons. From time to time, go through a password recovery exercise on your favorite sites. If they offer to send you an email with a copy of your password, or to show it to you after you answer some security questions, you are dealing with Gawker-league stupidity. Call it out, publicly, loudly, and make sure you file a support case on it.</p>
<p>And finally, if you work in an organization that holds sway over Internet policy, take this call for legal action seriously. If you&#8217;re part of the EFF, or CERT, or the FCC, start pushing for this legislation &#8211; it&#8217;s the right thing.</p>
<h4>Afterward</h4>
<p>Calling for federal legislation in a blog post is clearly troll bait. For starters, the Internet user base has a fairly large number of people who lust for a global adoption of <a href="http://en.wikipedia.org/wiki/Anarcho-capitalism" class="newpage">Anarcho-capitalism</a>. In their view, any new government institution is a step in in the wrong direction. They will weigh in on this idea with some vigor, arguing that the problem can easily be handled with existing tort law. Additionally, they will point out that smart people (like them) are already immune to this problem, because they carry USB keys with a list of randomly generated 32 character passwords for every web site they use.</p>
<p>There will also be a large number of people who claim structural obstacles with the exclusive use of hashed passwords &#8211; the example being my Dreamhost captors. </p>
<p>Countering all of the objections they will raise in this post runs the risk of turning it into a manifesto, and that&#8217;s not my goal &#8211; I don&#8217;t get paid by the word. I will address the arguments as they come in. The structural and procedural arguments will all be wrong, and easily addressed. The philosophical arguments are more difficult, because winners and losers in those arguments are generally selected based on personal opinion, only slightly tempered with the facts. (And much of political argument starts off with name-calling and deteriorates from there.) But it&#8217;s safe to say I don&#8217;t agree with the idea that there are no good laws.</p>
<p>Maybe Gawker will be the last million-user password breach. I hope so. But somehow I doubt it. It&#8217;s kind of fun to think of the same type of breach happening at, say, Mint.com or Intuit. Now that will be a call to action!</p>
<h4>Update</h4>
<p>Since writing this, I received some useful clarification from a source who has worked with Gawker. Like most people, I was basing my information on Gawker&#8217;s security practices from their own statement:</p>
<blockquote><p>
Passwords in our database are encrypted (i.e., not stored in plain text),
</p></blockquote>
<p>As it turns out, this statement false. According to a <a href="http://tech.gawker.com/5721670/gawker-password-management-qa" class="newpage">post from Gawker</a>, their user passwords were hashed using <a href="http://en.wikipedia.org/wiki/Crypt_(Unix)" class="newpage">crypt(3)</a>, the same algorithm used by the bearded UNIX gurus I talked to over 30 years ago.</p>
<p>This means that Gawker was using a hashed, salted password. Unfortunately, they were using an algorithm that was considered to weak for any reasonable security as long as 20 years ago. Dictionary-based cracking programs on modern computers can break crypt(3) passwords with astonishing speed. That is apparently what happened to Gawker.</p>
<p>This doesn&#8217;t change the gist of the problem much &#8211; Gawker was still horribly negligent with user passwords. For whatever reasons they chose to use a security scheme that simply doesn&#8217;t pass muster. This could clearly have been prevented with a FIPS standard based on modern technology.</p>
<h4>A Visit From Mr. Language Policeman</h4>
<p>As an aside, is it reasonable to claim that Gawker misspoke when they said their passwords were encyrypted? It&#8217;s perhaps a fine point, but the Wikipedia definition of <a href="http://en.wikipedia.org/wiki/Encryption" class="newpage">encryption</a> says:</p>
<blockquote><p>
In cryptography, encryption is the process of transforming information (referred to as plaintext) using an algorithm (called cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key.
</p></blockquote>
<p>Clearly, the process of hashing passwords using crypt(3) does not meet this definition. You will sometimes hear people refer to this as <i>one way encryption</i>, but this usage doesn&#8217;t turn hashing into encryption.</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2011/02/06/gawker-considered-stupid-criminally-stupid/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Follow Up When?</title>
		<link>http://marknelson.us/2010/10/04/follow-up-when/</link>
		<comments>http://marknelson.us/2010/10/04/follow-up-when/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 14:52:34 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Snarkiness]]></category>

		<guid isPermaLink="false">http://marknelson.us/2010/10/04/follow-up-when/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2010/10/04/follow-up-when/' addthis:title='Follow Up When?' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>Email-based reminder services are a handy tool for keeping track of pending activities. I recently gave a try to a service called FollowUpThen. It works by simply sending an email to a specific address in the followupthen.com domain, which then creates a reminder. Examples on their web page include: 3hours@followupthen.com tomorrow@followupthen.com 11am@followupthen.com Last night I [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2010/10/04/follow-up-when/' addthis:title='Follow Up When?' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><p>Email-based reminder services are a handy tool for keeping track of pending activities. I recently gave a try to a service called <a href="http://www.followupthen.com/" class="newpage">FollowUpThen</a>. It works by simply sending an email to a specific address in the followupthen.com domain, which then creates a reminder. Examples on their web page include:</p>
<ul>
<li/>3hours@followupthen.com
<li/>tomorrow@followupthen.com
<li/>11am@followupthen.com
</ul>
<p><span id="more-134"></span><br />
Last night I sent an email to the address <tt>noontomorrow@followupthen.com</tt>. The format seemed in line with the other examples given. Fortunately, I took the time to read the fine print in the response, shown below:</p>
<table border="1">
<tr>
<td><img src="/attachments/2010/followupthen/followupthen.png"/></td>
</tr>
</table>
<p>One would think that the FollowUpThen programming team would have a unit test in place that flags reminders scheduled for forty years in the past.</p>
<p/>
Any theories on how this date was arrived at without an error message?</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2010/10/04/follow-up-when/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Headline Writing Gone Bad</title>
		<link>http://marknelson.us/2010/10/01/headline-writing-gone-bad/</link>
		<comments>http://marknelson.us/2010/10/01/headline-writing-gone-bad/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 15:36:37 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Snarkiness]]></category>
		<category><![CDATA[Web Articles]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://marknelson.us/2010/10/01/headline-writing-gone-bad/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2010/10/01/headline-writing-gone-bad/' addthis:title='Headline Writing Gone Bad' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>Microsoft has added a new keyword to C# as part of the 4.0 release earlier this year. Objects that are typed as dynamic bypass normal static type checking, allowing C# to have the flexibility of other scripting languages. This is all well and good, but the headline writers of the blogosphere have taken a decided [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2010/10/01/headline-writing-gone-bad/' addthis:title='Headline Writing Gone Bad' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><p>Microsoft has added a new keyword to C# as part of the 4.0 release earlier this year. Objects that are typed as <i>dynamic</i> bypass  normal static type checking, allowing C# to have the flexibility of other scripting languages.</p>
<p>This is all well and good, but the headline writers of the blogosphere have taken a decided wrong turn with their naming of this feature:</p>
<p><a href="http://www.codeproject.com/Articles/73856/Csharp-4-0-Dynamic-Programming.aspx" class="newpage">C# 4.0: Dynamic Programming</a><br/><br />
<a href="http://www.nikhilk.net/CSharp-Dynamic-Programming-JSON.aspx" class="newpage">C# 4.0, Dynamic Programming and JSON</a><br/><br />
<a href="http://www.codeguru.com/csharp/.net/net_general/visualstudionetadd-ins/article.php/c17991" class="newpage">Dynamic Programming Using C# 4.0 and Microsoft Visual Studio 2010</a><br/><br />
<a href="http://geekswithblogs.net/sdorman/archive/2008/11/16/c-4.0-dynamic-programming.aspx" class="newpage">C# 4.0: Dynamic Programming</a><br/></p>
<p>Note the misuse of the term <i>Dynamic Programming</i>. Everyone who takes an introductory algorithms course learns that the term <a href="http://en.wikipedia.org/wiki/Dynamic_programming" class="newpage">Dynamic Programming</a> has been in use for over fifty years, and refers to a method for solving problems by decomposition. It&#8217;s a useful technique that I&#8217;ve <a href="http://marknelson.us/2007/08/01/memoization/" class="newpage">covered here</a> in the past, and any skilled programmer should be familiar with it.</p>
<p>No, it&#8217;s not the end of the world, but people who are writing about Computer Science really ought to know something about Computer Science, don&#8217;t you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2010/10/01/headline-writing-gone-bad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Innumeracy Revisited</title>
		<link>http://marknelson.us/2010/09/12/innumeracy-revisited/</link>
		<comments>http://marknelson.us/2010/09/12/innumeracy-revisited/#comments</comments>
		<pubDate>Sun, 12 Sep 2010 17:35:39 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[Snarkiness]]></category>

		<guid isPermaLink="false">http://marknelson.us/2010/09/12/innumeracy-revisited/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2010/09/12/innumeracy-revisited/' addthis:title='Innumeracy Revisited' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>The New York Times has an interesting article today examining the curious fact that certain types of terrorist organizations have an unusually high ratio of engineers among their members. An interesting point to study, no doubt, but what caught my eye was this little blunder: William A. Wulf, a former president of the National Academy [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2010/09/12/innumeracy-revisited/' addthis:title='Innumeracy Revisited' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><p>The New York Times has an interesting <a href="http://www.nytimes.com/2010/09/12/magazine/12FOB-IdeaLab-t.html" class="newpage">article</a> today examining the curious fact that certain types of terrorist organizations have an unusually high ratio of engineers among their members. An interesting point to study, no doubt, but what caught my eye was this little blunder:</p>
<blockquote><p>
William A. Wulf, a former president of the National Academy of Engineering, is, no surprise, no fan of the Gambetta-Hertog theory. “If you have a million coin flips,” he says, “it’s almost certain that somewhere in those coin flips there will be 20 heads in a row.”
</p></blockquote>
<p>This numerical gaffe is a prime example of innumeracy, a <a href="http://marknelson.us/2008/07/20/innumeracy-part-n/" class="newpage">favorite</a> <a href="http://www.drdobbs.com/blog/archives/2008/05/innumeracy_cont.html" class="newpage">topic</a> of mine, and it is doubly bad. First, the New York Times with its old-school print-format hubris regarding fact checking should not have let this slip by unnoticed. Second, the fact that the speaker is not just an engineer, but president of our National Academy, adds insult to injury.<br />
<span id="more-132"></span></p>
<h3>Probability 101</h3>
<p>The Wikipedia says that <a href=http://en.wikipedia.org/wiki/Numeracy" class="newpage">Numeracy</a> is <i>the ability to reason with numbers and other mathematical concepts.</i> In today&#8217;s world, it should be considered as important as literacy. So let&#8217;s try doing some thinking about this problem.</p>
<p>What should first catch your eye in this is the meaning behind &#8220;20 heads in a row.&#8221; As a programmer, you are instinctively aware that 2 to the 20th power is roughly one million. This means that the chances of flipping a true coin and having it land heads up 20 times in a row is inded roughly one in a million. Does this mean that flipping a coin a million times renders such a streak &#8220;almost certain?&#8221; Of course not.</p>
<p>If the chance of flipping a single head is one in two, and I flip a coin two times, am I almost certain to see one head? No. If the chances of two heads in a row is one in four, am I almost certain to see a streak of two if I flip four times? Still we intuitively answer no. It seems likely, but nowhere near a certainty. So the task in front of us is to scale this equation up and see if it changes in character as we near one million.</p>
<h3>Pinning it Down</h3>
<p>Determining how likely this streak is requires a frequent ruse we employ in probability. Instead of calculating the probability directly, we determine out how likely it is <i>not to occur</i>, then subtract that value from one.</p>
<p>We know that the chance of the coin flip happening in the first 20 flips is 1/2^20. We&#8217;ll call this number <i>p</i>. Now let&#8217;s imagine a sequence of a million coin flips. The chance of a streak of 20 heads not starting at position one is 1-<i>p</i>. The chance of it not happening in the sequence of coins starting at position 2 is likewise 1-<i>p</i>. The same probability is true for every sequence of flips from position 1 to position 999,981, the last possible start of a streak of twenty.</p>
<p>The chances of not seeing a coin flip in every one of those positions is found by multiplying each of their values, leading to the rather unwieldy formula (1-<i>p</i>)^999,981. Unwieldy, perhaps, but your scientific calculator will quickly tell you it resolves to roughly 0.39. So the chances of seeing 20 heads in a row after a million coin flips is more or less 61%. Hardly &#8220;almost certain&#8221;.</p>
<h3>Finding Almost Certain</h3>
<p>I&#8217;d like to think that &#8220;almost certain&#8221; is somewhere in the neighborhood of 99%. I&#8217;ll leave the calculation as an exercise for the reader, but if your calculator has a log button you will be able to determine that you will need almost five million coin tosses to achieve near certainty. And when you think about it (using your beloved numeracy) that number seems a lot more realistic. Something that has a one in a million chance of occuring would seem to be only somewhat likely to occur in a million tries. Give me five million and it&#8217;s a sure thing.</p>
<p>Ironically, the <a href="http://en.wikipedia.org/wiki/The_New_York_Times" class="newpage">Gray Lady</a> just ran an <a href="http://www.nytimes.com/2010/08/22/magazine/22FOB-medium-t.html" class="newpage">ode to fact checking</a> a few weeks ago. Apparently that department is short on people with any sort of mathematical fluency. Perhaps they should think about hiring an engineer or two?</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2010/09/12/innumeracy-revisited/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>The Pigeonhole Principle</title>
		<link>http://marknelson.us/2010/08/01/the-pigeonhole-principle/</link>
		<comments>http://marknelson.us/2010/08/01/the-pigeonhole-principle/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 19:01:01 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Data Compression]]></category>
		<category><![CDATA[Snarkiness]]></category>

		<guid isPermaLink="false">http://marknelson.us/2010/08/01/the-pigeonhole-principle/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2010/08/01/the-pigeonhole-principle/' addthis:title='The Pigeonhole Principle' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>The Pigeonhole Principle, also referred to as the Counting Theorem, is a handy tool for mathematicians, and naturally, computer programmers. The loose version of this principle says &#8220;After placing n pigeons into m compartments, if n is greater than m, you will find that some compartment must contain more than one pigeon.&#8221; Seems obvious, and [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2010/08/01/the-pigeonhole-principle/' addthis:title='The Pigeonhole Principle' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><p>The <a href="http://en.wikipedia.org/wiki/Pigeonhole_principle">Pigeonhole Principle</a>, also referred to as the Counting Theorem, is a handy tool for mathematicians, and naturally, computer programmers.</p>
<p>The loose version of this principle says &#8220;After placing n pigeons into m compartments, if n is greater than m, you will find that some compartment must contain more than one pigeon.&#8221;</p>
<p>Seems obvious, and perhaps it is, but at least in the world of data compression it must be trotted out from time to time in order to bludgeon dreams back to reality.<br />
<span id="more-127"></span></p>
<h2>
<div>Impossible Compression</div>
</h2>
<p>A common dream for the novice is the creation of a compressor that will reduce the size of <i>all</i> files. (Often touted as the ability to compress &#8220;random&#8221; data.) For example, Dr. Constant Wong of <a href="http://recursiveware.com/">Recursiveware</a> has been polishing his technique for compressing random data since 2003. And the USENET newsgroup <a href="http://groups.google.com/group/comp.compression/topics">comp.compression</a> always has at least one thread dedicated to thrashing a new and eager theorist with a (flawed) idea.</p>
<p>The Pigeonhole Principle quickly puts this idea to rest. We know that if a file is of length n bits, there are 2<sup>n</sup> possible input files. If a compressor can reduce the size of <i>every</i> file, the number of possible output files is 2<sup>n</sup>-1. The Pigeonhole Principle tells us that the output of at least two file compressions have to be identical. And since they are identical, the decompressor cannot create two different output files. </p>
<h2>
<div>And More</div>
</h2>
<p>The Wikipedia has another nice example of the principle in use. Imagine that you have a party with n people attending. At random, people shake hands with one another as they mill about. At the end of the night, we check the number of unique individuals each person has shaken with. What are the odds that two people will have shaken hands with the same number of people?</p>
<p>The answer is of course that there will always be two people who have shaken the same number of hands. There are n-1 pigeonholes, and n pigeons, <i>QED</i>.</p>
<h2>
<div>Don&#8217;t Go There</div>
</h2>
<p>If you ever find yourself spiraling down the rabbit hole of impossible data compression, I urge you to grab the life jacket of the Pigeon Principle before you are lost. It will save you a lot of pointless effort, plus clue you in to the fact that there are two IBM employees with the same number of hairs on their head.</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2010/08/01/the-pigeonhole-principle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Innumeracy Part N</title>
		<link>http://marknelson.us/2008/07/20/innumeracy-part-n/</link>
		<comments>http://marknelson.us/2008/07/20/innumeracy-part-n/#comments</comments>
		<pubDate>Sun, 20 Jul 2008 19:56:27 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Complaining]]></category>
		<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[Snarkiness]]></category>

		<guid isPermaLink="false">http://marknelson.us/2008/07/20/innumeracy-part-n/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2008/07/20/innumeracy-part-n/' addthis:title='Innumeracy Part N' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>This isn&#8217;t the first time I&#8217;ve complained about innumeracy, and I&#8217;m sure it won&#8217;t be the last. Just to get off on the right foot, let me give the definition of the word from thesite innumeracy.com: A term meant to convey a person&#8217;s inability to make sense of the numbers that run their lives. Innumeracy [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2008/07/20/innumeracy-part-n/' addthis:title='Innumeracy Part N' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><p>This isn&#8217;t the first time I&#8217;ve <a href="http://www.drdobbs.com/blog/archives/2008/05/innumeracy_cont.html" class="newpage">complained about innumeracy</a>, and I&#8217;m sure it won&#8217;t be the last. Just to get off on the right foot, let me give the definition of the word from thesite <a href="http://www.innumeracy.com/" class="newpage">innumeracy.com</a>:</p>
<blockquote><p>A term meant to convey a person&#8217;s inability to make sense of the numbers that run their lives. Innumeracy was coined by cognitive scientist Douglas R Hofstadter in one of his Metamagical Thema columns for Scientific American in the early nineteen eighties. Later that decade mathematician John Allen Paulos published the book Innumeracy. In it he includes the notion of chance as well to that of numbers.</p></blockquote>
<p>The example of innumeracy found in this post is somewhat more interesting than most, because it comes from a source that really should know better: <a href="http://discovermagazine.com/" class="newpage">Discover Magazine</a>.<br />
<span id="more-126"></span><br />
In the July 2008 of Discover Magazine, I was reading an article titled <a href="http://discovermagazine.com/2008/jul/16-ocean-acidification-a-global-case-of-osteoporosis" class="newpage">Ocean Acidification: A Global Case of Osteoporosis</a>, and saw this quote:</p>
<blockquote><p>One such event occurred 55 million years ago at the so-called Paleocene-Eocene Thermal Maximum (PETM), when 4.5 million tons of greenhouse gases were released into the atmosphere. </p></blockquote>
<p>Now, we&#8217;re supposedly talking about an event in which so much greenhouse gas was emitted that extraordinary climate change occurred. Is 4.5 million tons really a lot? Checking the Wikipedia <a href="http://en.wikipedia.org/wiki/Greenhouse_gas" class="newpage">article on greenhouse gas emissions</a> gave this interesting quote:</p>
<blockquote><p>According to a preliminary estimate by the Netherlands Environmental Assessment Agency, the largest national producer of CO2 emissions since 2006 has been China with an estimated annual production of about 6200 megatonnes. China is followed by the United States with about 5,800 megatonnes.</p></blockquote>
<p>So the US and China produce 12 <strike>million</strike> billion tons of CO2 in a year, while the PETM produced 4.5 million tons. And the PETM was a major event that we are blowing away every year, year after year? Something is not right here.</p>
<h4>Check the Source</h4>
<p>Fortunately, Discover references the source of their information right on the web page, and quick check of <a href="http://www.geosc.psu.edu/people/faculty/personalpages/tbralower/Bowenetal2006.pdf" class="newpage">the paper</a> shows what the actual number is supposed to be:</p>
<blockquote><p>Atmospheric temperatures inferred from surface ocean (references in Zachos et al. [2005]) and terrestrial (e.g., Wing et al. [2005]) proxies warmed by 5 &#8211; 9° C globally during the PETM. Warming was closely associated with the release of between ~1500 and 4500 Gt of carbon to the ocean and atmosphere, resulting in large but poorly quantified increases in atmospheric CO2 levels [Zachos et al., 2005].
</p></blockquote>
<p>Okay, so in my book, Gt means Gigatonne, and regardless of whether we are using English or Metric units, that&#8217;s going to be measured in billions, not millions of tons.</p>
<p>How did Discover take this number from the paper and mangle it by three orders of magnitude? We&#8217;ll never know. But avoid innumeracy, try to be aware of just how big the earth is, and realize that what seem like big numbers don&#8217;t always do it justice.</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2008/07/20/innumeracy-part-n/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>I Trust American Express With My Money?</title>
		<link>http://marknelson.us/2007/12/11/amex-survey/</link>
		<comments>http://marknelson.us/2007/12/11/amex-survey/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 22:18:45 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Complaining]]></category>
		<category><![CDATA[Snarkiness]]></category>

		<guid isPermaLink="false">http://marknelson.us/2007/12/11/amex-survey/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2007/12/11/amex-survey/' addthis:title='I Trust American Express With My Money?' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>If you're going to use the web to perform a survey of your customer base, this report on a similar project from American Express should serve as a cautionary tale.]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2007/12/11/amex-survey/' addthis:title='I Trust American Express With My Money?' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><p>American Express is so excited about having me as a customer that they were willing to pay me $5 to take part in a survey:</p>
<blockquote><p>
<b>American Express Needs YOUR Feedback!</b></p>
<p>Dear American Express Blue Cardmember:</p>
<p>American Express would like your feedback. We would like you to participate in a survey about your Blue card from American Express. Your participation will provide us with valuable feedback and help us tailor card benefits to better meet your needs.</p>
<p>As a token of our appreciation, you will receive $5 from American Express*. Please note that this survey will be running for a limited period of time. To increase your chances of receiving the honorarium, please complete the survey at your earliest convenience.</p>
<p>The web address for the survey is shown below. To begin the survey, simply double-click on the address to go directly to the questionnaire. However, if you are unable to double-click on the address, please copy and paste the text below into your browser&#8217;s address bar.
</p></blockquote>
<p>Well, I need five bucks, and a little bit of checking gave me moderate insurance that this was really from American Express, not a phisher. The survey was being outsourced to <a href="http://confirmit.com" class="newpage">Confirmit</a>, a real company, and they don&#8217;t seem to be on any malware site lists. Furthermore, as things went on, there was an enormous amount of content in the survey and seemingly no payoff for phishers, so it seems unlikely that this is a scam.</p>
<p>However, right off the bat there was some cause for concern. <i>Double-click on the address?</i> How many browsers do you use that need a double-click before they follow a link? If Confirmit is a real company, they clearly didn&#8217;t assign their top copywriter to this project.</p>
<p>The real fun started when I actually started the survey. The classic &#8220;make a good first impression&#8221; rule that your mother taught you is just as true for web pages as it is for anything else. And the first page of the American Express survey was the equivalent of showing up for your first date with a big gravy blotch on your tie:<br />
<span id="more-116"></span><br />
<center><img src="http://marknelson.us/attachments/2007/amex-survey/amex-01.png"></center></p>
<p>Yes, that&#8217;s right, the first thing I see is some inner workings they&#8217;ve inadvertently exposed. No doubt the URL I clicked was supposed to preload a survey question and zip me right past this. This question was undoubtedly in use to stage their testing of the survey, and was supposed to be removed in the published version. There&#8217;s a lesson in that.</p>
<h4>From Bad to Worse</h4>
<p>The rest of the survey only served to further tarnish my impressions of Amex&#8217;s IT outsourcing choice. After making it through a few innocuous questions, another page I wasn&#8217;t suppose to see popped up:<br />
<center><img src="http://marknelson.us/attachments/2007/amex-survey/amex-02.png"></center></p>
<p>Apparently I was going to be be seeing ths particular error quite a few times:</p>
<p><center><img src="http://marknelson.us/attachments/2007/amex-survey/amex-03.png"></center></p>
<p/>
<h4>Survey Hell</h4>
<p>Finally I seem to have made my way through the setup questions. The progress bar showed 50%, and I detected that I was entering the first ring of survey hell. This is where the survey designer starts trying to milk you for a ton of information by repeatedly varying some scenario, then asking you a bunch of detailed questions about it. (This is sheer idiocy on their part. Once they start trying to find the correct adjectives for how a particular ad makes me feel about the product/company, it&#8217;s over.)</p>
<p>In this case AmEx had a list of perhaps 15 benefits that their card offers. They started tossing them up in various combinations on the screen, and in each case asking me on a scale of 1-10 how that made me feel about the card. They then tried to quantify the results by asking me how much more I would put on my card each month given that benefit. (Again, totally moronic. No data retrieved this way could possibly have any value.)</p>
<p>This would all be great if their page actually worked. In this case, I&#8217;ve told them that I put a tidy $5,000 on the card each month, and they want to see how much I&#8217;m going to bump that up if someone comes to my house to give me a back rub. (No joke!) Just to see what would happen, I put down a lower number, and got this nifty error message:<br />
<center><img src="http://marknelson.us/attachments/2007/amex-survey/amex-04.png"></center></p>
<p>It turns out the only way I could get past this page was by putting in 1, yes $1. But that&#8217;s okay, because at this point there&#8217;s obviously no reason to cooperate with the tragically broken survey.</p>
<h4>Unending Hell</h4>
<p>AmEx then applied the coup de grâce by inserting a fiendish logic error in the survey. I started looping through various permutations of three possible card benefits, over and over, for each one picking a number from 1-10 and then assigning it a cash value. I realized that the progress bar at the top of the page was actually moving back to 50% after each answer! In other words, I was stuck in the survey forever. They had a bug that prevented them from exiting the loop.</p>
<p>Nicely done, Amex!</p>
<p>So I bailed. In theory I can come back in a day or two and finish. Perhaps they will have fixed things up by then. More likely they will have fired Confirmit. Will I get my $5? It doesn&#8217;t seem likely. AmEx put the fix in here as well, by breaking the payment page. As you can see here, I&#8217;ve entered data in all the fields, but the survey software refuses to accept it, somehow thinking I&#8217;ve left something blank. This is a big PR win for Amex, putting people through a 20 minute broken survey, then refusing to pay!</p>
<p><center><img src="http://marknelson.us/attachments/2007/amex-survey/amex-05.png"></center></p>
<p/>
<h4>Moral</h4>
<p>The moral of the story is obvious. If you&#8217;re going to send an email out to thousands of customers, all of whom are most likely uninformed civilians, it would be a good idea to thoroughly test your product first. The fact that Confirmit clearly didn&#8217;t do that is a nail in their coffin, considering this is their livelihood. The fact that AmEx hired this joke of a company doesn&#8217;t say much for them, either.</p>
<p><b>Priceless Web Design:</b></p>
<ul>
<li/>Designing a survey for your customer base? $10,000
<li/>Deploying the survey and passing out rewards? $25,000
<li/>Making yourself look like an incompetent pack of rubes for the whole Web to see? Priceless.
</ul>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2007/12/11/amex-survey/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Anchorage, we have a problem</title>
		<link>http://marknelson.us/2007/05/20/anchorage-we-have-a-problem/</link>
		<comments>http://marknelson.us/2007/05/20/anchorage-we-have-a-problem/#comments</comments>
		<pubDate>Mon, 21 May 2007 01:14:38 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Snarkiness]]></category>

		<guid isPermaLink="false">http://marknelson.us/2007/05/20/anchorage-we-have-a-problem/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2007/05/20/anchorage-we-have-a-problem/' addthis:title='Anchorage, we have a problem' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>With the tight security at our nation's airports, it's kind of surprising to see a security warning from Windows show up on the Anchorage airport's flight status screens!]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2007/05/20/anchorage-we-have-a-problem/' addthis:title='Anchorage, we have a problem' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><p>Just before boarding a flight out of Anchorage last week I saw a familiar warning in an unfamiliar place:</p>
<p><img src="http://farm1.static.flickr.com/232/506948815_044a22290d.jpg" alt="Flight board at Anchorage International Airport" /></p>
<p>From this we know two things: The Anchorage airport runs their flight listings on Windows PCs, and they aren&#8217;t using any anti-virus software. Homeland Security, what do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2007/05/20/anchorage-we-have-a-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cringley Refutation Takes a Couple of Years, But Satisfying Nonetheless</title>
		<link>http://marknelson.us/2006/07/26/cringely-refuted/</link>
		<comments>http://marknelson.us/2006/07/26/cringely-refuted/#comments</comments>
		<pubDate>Wed, 26 Jul 2006 19:49:55 +0000</pubDate>
		<dc:creator>Mark Nelson</dc:creator>
				<category><![CDATA[Snarkiness]]></category>

		<guid isPermaLink="false">/2006/07/26/cringely-refuted/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2006/07/26/cringely-refuted/' addthis:title='Cringley Refutation Takes a Couple of Years, But Satisfying Nonetheless' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div>The world is full of people making miraculous claims for video compression. For example, the hucksters at Euclid Discoveries have been leading their investors on with tales of incredible video compression for years now. No doubt that somebody, someday, might make a quantum leap in video compression, but for the past 25 years it&#8217;s been [...]]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://marknelson.us/2006/07/26/cringely-refuted/' addthis:title='Cringley Refutation Takes a Couple of Years, But Satisfying Nonetheless' ><a class="addthis_button_twitter"></a><a class="addthis_button_favorites"></a><a class="addthis_button_print"></a><a class="addthis_button_facebook_like"></a><a class="addthis_button_google_plusone"></a><a class="addthis_button_compact"></a></div><p><img src=http://marknelson.us/attachments/cringely-refuted/bob_cringely.jpg class="alignleft"/></p>
<p>The world is full of people making miraculous claims for video compression. For example, the hucksters at <a href="http://www.eucliddiscoveries.com/">Euclid Discoveries</a> have been leading their investors on with tales of incredible video compression <a href="http://www.c10n.info/archives/423">for years now</a>.  No doubt that somebody, someday, might make a quantum leap in video compression, but for the past 25 years it&#8217;s been just hard work with slow and steady progress.</p>
<p>A lot of the people who have made these claims in the past are either crackpots or criminals, so I found myself kind of annoyed when <a href="http://www.pbs.org/cringely/">Robert X. Cringely</a> popped up with a miracle compression claim in his <a href="http://www.pbs.org/cringely/pulpit/pulpit20040624.html">June 24, 2004</a> column. Robert isn&#8217;t crazy, and he&#8217;s not a criminal. He spends a lot of time talking to smart people and trying to synthesize their ideas into frameworks that he can deal with, and he&#8217;s pretty good at it.</p>
<p>In this case, he asserted (without references) that the bandwidth of the optic nerve was in the 100Kbps range &#8211; thereby implying that we ought to be able to cook up a compression scheme that uses a model of the human eye to provide full bandwidth video at 100 Kbps. It&#8217;s not the first time Bob has wandered down this alluring path, he got hyped up in 2002 about <a href="http://www.pbs.org/cringely/pulpit/pulpit20020228.html">Foveating Codecs</a>. (Seen any deployed recently?)</p>
<p>Anyway, the point of all this Bob background is just to point to <a href="http://www.eurekalert.org/pub_releases/2006-07/uops-prc072606.php">this paper</a> in which some Penn researchers assert that the bandwidth of the human optic nerve is around 10 Mbps &#8211; a bit different from the Cringely numbers. What&#8217;s interesting is this means that present coding schemes that provide decent representation of video are operating in the ballpark of that number, which might mean the whole thing kind of adds up.</p>
<p>It&#8217;s easy for people to get caught up in a whirl of excitement about impossible video compression, and it happens all the time &#8211; just ask the hundreds of innocents who have busted open their piggy banks to buy shares in Euclid. I&#8217;ll close with a quote from Bob showing how compelling the idea can be &#8211; compelling enough to make people overlook the basic facts:</p>
<blockquote><p>Oh, and there&#8217;s another little side benefit &#8212; the end of blindness.</p>
<p>And it is doable, the algorithms have already been worked out and are running today in Matlab.
</p></blockquote>
<p>That was two years ago, so I guess the algorithms are still stuck in their Matlab jail.</p>
]]></content:encoded>
			<wfw:commentRss>http://marknelson.us/2006/07/26/cringely-refuted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

