<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-10416486</id><updated>2011-11-08T17:49:36.309-08:00</updated><title type='text'>Time</title><subtitle type='html'>...he imagined substituting for all the clocks of Europe a more honest
        machine, a finely threaded spiral of three dimensions, that
        would signify not only the coming and going of day and night,
        but that no single day and no single night would ever return.  -- Mark Helprin</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default?start-index=101&amp;max-results=100'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>360</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10416486.post-550007956658031811</id><published>2011-07-14T04:39:00.000-07:00</published><updated>2011-07-14T04:39:38.821-07:00</updated><title type='text'>Stop the mac help window from always appearing on top of other windows</title><content type='html'>Who thought that would be a good idea?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://macintopics.com/2011/03/16/apple/mac-os-x/stop-the-help-window-from-always-being-on-top"&gt;defaults write com.apple.helpviewer DevMode -bool true&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-550007956658031811?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/550007956658031811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/07/stop-mac-help-window-from-always.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/550007956658031811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/550007956658031811'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/07/stop-mac-help-window-from-always.html' title='Stop the mac help window from always appearing on top of other windows'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4175818200944235541</id><published>2011-07-10T18:11:00.000-07:00</published><updated>2011-07-10T18:11:41.063-07:00</updated><title type='text'>You can't buy a puppy in the West Village when you've been drinking.</title><content type='html'>I was taking a walking tour of the WV today (yes, my own neighborhood) I got as a Groupon awhile ago.&amp;nbsp; The guide said threre's a law against buying puppies when drunk in the neighborhood.&amp;nbsp; It turns out he was exaggerating, but only a bit.&amp;nbsp; It's not a 'law' but a policy actually practiced by all the pet stores in the area.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.huffingtonpost.com/2011/07/05/drunk-puppy-buying-banned_n_890153.html"&gt;http://www.huffingtonpost.com/2011/07/05/drunk-puppy-buying-banned_n_890153.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4175818200944235541?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4175818200944235541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/07/you-cant-buy-puppy-in-west-village-when.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4175818200944235541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4175818200944235541'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/07/you-cant-buy-puppy-in-west-village-when.html' title='You can&apos;t buy a puppy in the West Village when you&apos;ve been drinking.'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3679171522544773187</id><published>2011-07-04T08:34:00.000-07:00</published><updated>2011-07-04T08:34:36.069-07:00</updated><title type='text'>Where people take pictures in NYC</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://s3.amazonaws.com/twitpic/photos/large/321656317.jpg?AWSAccessKeyId=AKIAJF3XCCKACR3QDMOA&amp;amp;Expires=1309794510&amp;amp;Signature=BJ%2ByMIvsQ4xw%2FKZPQ7fDKOKIKIU%3D" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://s3.amazonaws.com/twitpic/photos/large/321656317.jpg?AWSAccessKeyId=AKIAJF3XCCKACR3QDMOA&amp;amp;Expires=1309794510&amp;amp;Signature=BJ%2ByMIvsQ4xw%2FKZPQ7fDKOKIKIU%3D" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Red is tourists, blue is locals.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3679171522544773187?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3679171522544773187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/07/where-people-take-pictures-in-nyc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3679171522544773187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3679171522544773187'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/07/where-people-take-pictures-in-nyc.html' title='Where people take pictures in NYC'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3239886062909990922</id><published>2011-01-15T06:57:00.000-08:00</published><updated>2011-01-15T06:57:38.162-08:00</updated><title type='text'>A lovely response to Amy Chua</title><content type='html'>&lt;a href="http://online.wsj.com/article/SB10001424052748703333504576080422577800488.html?mod=WSJ_newsreel_lifeStyle"&gt;from Ayelet Waldman, in the Wall St. Journal&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3239886062909990922?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3239886062909990922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/01/lovely-response-to-amy-chua.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3239886062909990922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3239886062909990922'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/01/lovely-response-to-amy-chua.html' title='A lovely response to Amy Chua'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1319573007798911799</id><published>2011-01-01T07:46:00.001-08:00</published><updated>2011-01-01T07:46:42.381-08:00</updated><title type='text'>Surprising fact: taxicabs can't refuse to take you anywhere in NYC</title><content type='html'>Drivers are required to pick up the first or closest passenger they see, and may not &lt;span&gt;refuse&lt;/span&gt; a trip to a destination anywhere within the five boroughs, neighboring &lt;a href="http://en.wikipedia.org/wiki/Westchester_County,_New_York" title="Westchester County, New York"&gt;Westchester&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Nassau_County,_New_York" title="Nassau County, New York"&gt;Nassau&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Suffolk_County,_New_York" title="Suffolk County, New York"&gt;Suffolk Counties&lt;/a&gt; or to &lt;a href="http://en.wikipedia.org/wiki/Newark_Liberty_International_Airport" title="Newark Liberty International Airport"&gt;Newark Liberty International Airport&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1319573007798911799?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1319573007798911799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/01/surprising-fact-taxicabs-cant-refuse-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1319573007798911799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1319573007798911799'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2011/01/surprising-fact-taxicabs-cant-refuse-to.html' title='Surprising fact: taxicabs can&apos;t refuse to take you anywhere in NYC'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-341958366942695751</id><published>2010-11-21T06:21:00.000-08:00</published><updated>2010-11-21T06:21:43.186-08:00</updated><title type='text'>Mutual</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://imgs.xkcd.com/comics/mutual.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://imgs.xkcd.com/comics/mutual.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;a sweet image... thanks xkcd.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-341958366942695751?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/341958366942695751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/11/mutual.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/341958366942695751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/341958366942695751'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/11/mutual.html' title='Mutual'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5553658525149079176</id><published>2010-10-10T15:57:00.001-07:00</published><updated>2010-10-10T15:57:58.462-07:00</updated><title type='text'>Dinosaur relationships</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.qwantz.com/comics/comic2-1820.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.qwantz.com/comics/comic2-1820.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5553658525149079176?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5553658525149079176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/10/dinosaur-relationships.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5553658525149079176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5553658525149079176'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/10/dinosaur-relationships.html' title='Dinosaur relationships'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3213741809367555012</id><published>2010-07-20T01:00:00.001-07:00</published><updated>2010-07-20T01:00:53.190-07:00</updated><title type='text'>Fata Morgana</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Fata_Morgana_%28mirage%29"&gt;Interesting mirage.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3213741809367555012?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3213741809367555012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/fata-morgana.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3213741809367555012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3213741809367555012'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/fata-morgana.html' title='Fata Morgana'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1086227728003063692</id><published>2010-07-17T22:10:00.000-07:00</published><updated>2010-07-17T22:10:50.193-07:00</updated><title type='text'>Cheating in soccer</title><content type='html'>&lt;a href="http://draft.blogger.com/goog_2007696931"&gt;&lt;/a&gt;&lt;a href="http://www.project-syndicate.org/commentary/singer64/English"&gt;An excellent short article&lt;/a&gt; by philosopher Peter Singer of vegetarian-activism fame.&amp;nbsp; BTW, &lt;a href="http://www.project-syndicate.org/"&gt;Project Syndicate&lt;/a&gt; is the best source of current-events articles I've ever found on the internet.&amp;nbsp; Common contributors are Ken Rogoff, Simon Johnson, Barry Eichengreen, Nouriel Roubini, Raghuram Rajan, Joseph Stiglitz, Jeffrey Sachs, Brad DeLong, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1086227728003063692?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1086227728003063692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/cheating-in-soccer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1086227728003063692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1086227728003063692'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/cheating-in-soccer.html' title='Cheating in soccer'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3971507329409472603</id><published>2010-07-12T11:53:00.001-07:00</published><updated>2010-07-12T11:53:31.250-07:00</updated><title type='text'>Perpetual trusts in the US</title><content type='html'>&lt;a href="http://www.nytimes.com/2010/07/12/opinion/12madoff.html?src=un&amp;amp;feedurl=http%3A%2F%2Fjson8.nytimes.com%2Fpages%2Fopinion%2Findex.jsonp"&gt;Interesting article.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3971507329409472603?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3971507329409472603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/perpetual-trusts-in-us.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3971507329409472603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3971507329409472603'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/perpetual-trusts-in-us.html' title='Perpetual trusts in the US'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3421836472976877728</id><published>2010-07-09T14:50:00.000-07:00</published><updated>2010-07-09T14:50:53.457-07:00</updated><title type='text'>Beautiful evidence</title><content type='html'>I was recently in NYC with my mom looking for an apartment.&amp;nbsp; We walked into Edward Tufte's new studio near Chelsea Piers.&amp;nbsp; He happened to be there, and gave us a short tour of his studio and showed us his new art, mostly involving his Portuguese water dogs.&amp;nbsp;&amp;nbsp; Here's an image, lifted from Philip Wadler's blog, that I think he'd enjoy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://s3.amazonaws.com/infobeautiful/deficit_budget_live.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="310" src="http://s3.amazonaws.com/infobeautiful/deficit_budget_live.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3421836472976877728?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3421836472976877728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/beautiful-evidence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3421836472976877728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3421836472976877728'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/beautiful-evidence.html' title='Beautiful evidence'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8572829972508358711</id><published>2010-07-09T04:33:00.000-07:00</published><updated>2010-07-09T04:33:39.581-07:00</updated><title type='text'>Strategic defaults</title><content type='html'>I was happy to see my home town, Los Altos, CA, &lt;a href="http://www.nytimes.com/2010/07/09/business/economy/09rich.html?_r=1&amp;amp;hp"&gt;in the NY Times today&lt;/a&gt;.&amp;nbsp; (The article was about foreclosures in the area, but still...)&amp;nbsp; The article really upset me though.&amp;nbsp; How stupid do mortgage lenders think people are? &amp;nbsp; &lt;br /&gt;&lt;blockquote&gt;&lt;a class="meta-org" href="http://topics.nytimes.com/top/news/business/companies/fannie_mae/index.html?inline=nyt-org" title="More information about Federal National Mortgage Association (Fannie Mae)"&gt;Fannie Mae&lt;/a&gt; and &lt;a class="meta-org" href="http://topics.nytimes.com/top/news/business/companies/freddie_mac/index.html?inline=nyt-org" title="More information about Freddie Mac"&gt;Freddie Mac&lt;/a&gt;, the two quasi-governmental mortgage finance companies that own most of the mortgages in America with a value of less than $500,000, are alternately pleading with distressed homeowners not to be bad citizens and brandishing a stick at them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In &lt;a href="http://www.freddiemac.com/news/featured_perspectives/20100503_bisenius.html" title="The column."&gt;a recent column&lt;/a&gt; on Freddie Mac’s Web site, the company’s executive vice president, Don Bisenius, acknowledged that walking away “might well be a good decision for certain borrowers” but argues that those who do it are trashing their communities. &lt;/blockquote&gt;Do they think that their sanctimonious moralizing will affect anyone?&amp;nbsp; Lenders take risks when lending money, which justifies the interest rate on the debt.&amp;nbsp; They took incredibly bad ones in the years leading up to 2007.&amp;nbsp; Now crying to the borrowers (and the media) when the bets aren't paying off is despicable.&amp;nbsp;&amp;nbsp; I only hope people who are in over their head in debt are not swayed by the wolves in sheeps' clothing.&amp;nbsp; There are plenty of upstanding Google employees who will be happy to buy your house at a discount, and will not be 'trashing the community'.&amp;nbsp; Fannie and Freddie were the biggest enablers of the housing crisis, buying 80% of subprime loans.&amp;nbsp; Needless to say, they have no moral authority whatever.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8572829972508358711?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8572829972508358711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/strategic-defaults.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8572829972508358711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8572829972508358711'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/07/strategic-defaults.html' title='Strategic defaults'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-2236138558001459049</id><published>2010-06-21T11:46:00.000-07:00</published><updated>2010-06-21T12:10:37.309-07:00</updated><title type='text'>Harper and Crary for America</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_CD1S8PprWx0/TB-5EE4p79I/AAAAAAAABHo/bLddPKwHTnc/s1600/IMG_0034.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_CD1S8PprWx0/TB-5EE4p79I/AAAAAAAABHo/bLddPKwHTnc/s320/IMG_0034.jpg" width="268" /&gt;&lt;/a&gt;&lt;/div&gt;I was unaware of this great PL T-shirt. I want one, but it was apparently a limited edition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-2236138558001459049?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/2236138558001459049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/harper-and-crary-for-america.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2236138558001459049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2236138558001459049'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/harper-and-crary-for-america.html' title='Harper and Crary for America'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CD1S8PprWx0/TB-5EE4p79I/AAAAAAAABHo/bLddPKwHTnc/s72-c/IMG_0034.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6273148328495512461</id><published>2010-06-14T17:07:00.000-07:00</published><updated>2010-06-14T17:07:18.501-07:00</updated><title type='text'>Awesome visualization</title><content type='html'>&lt;a href="http://draft.blogger.com/goog_580331772"&gt;&lt;/a&gt;&lt;a href="http://www.ouramazingplanet.com/infographic-tallest-mountain-to-deepest-ocean-trench-0249/"&gt;Tallest mountain to deepest ocean trench.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6273148328495512461?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6273148328495512461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/awesome-visualization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6273148328495512461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6273148328495512461'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/awesome-visualization.html' title='Awesome visualization'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3756653445416248684</id><published>2010-06-14T07:31:00.000-07:00</published><updated>2010-06-14T07:35:08.079-07:00</updated><title type='text'>Beautiful quote</title><content type='html'>"What I cannot create, I do not understand."&amp;nbsp; - Richard Feynman&lt;br /&gt;&lt;br /&gt;Probably my favorite aspects of programming is that it (usually) forces you to understand what you are doing.&amp;nbsp; There is something special about the feeling you get when you understand an idea so completely you can teach it to a computer.&amp;nbsp; The first time I can remember feeling this was when I wrote a toy implementation of the simplex algorithm for linear programming.&amp;nbsp; The first time I read the description I found it really hard to follow.&amp;nbsp; Only after writing down the types of the operations, and slowly decoding the natural language into code did I feel like I really understood what was going on.&amp;nbsp; Then it seemed like such a simple idea I was amazed I initially found it so difficult.&lt;br /&gt;&lt;br /&gt;Note that the contrapositive is "What I understand, I can create."&amp;nbsp; Unfortunately, this does not rule out creating without understanding.&amp;nbsp; I occasionally take algorithms out of books without understanding them completely.&amp;nbsp; While they usually work as expected, I forget how the program works almost immediately, and learn next to nothing from the experience.&amp;nbsp; It is only through debugging that I gain any understanding of how the program works.&amp;nbsp; Needless to say, this is an incredibly inefficient way to learn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3756653445416248684?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3756653445416248684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/beautiful-quote.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3756653445416248684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3756653445416248684'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/beautiful-quote.html' title='Beautiful quote'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-538594970720226771</id><published>2010-06-10T17:06:00.000-07:00</published><updated>2010-06-10T17:06:32.529-07:00</updated><title type='text'>More Polymorphic Recursion</title><content type='html'>I've been obsessed with polymorphic recursion lately.&amp;nbsp; I originally just wanted to write a data structure like a list but with efficient insertion on both sides, sometimes called a &lt;i&gt;deque&lt;/i&gt;.&amp;nbsp; The problem is that type inference in the presence of polymorphic recursion is undecidable, in a nice reduction to semi-unification by Herblein.&amp;nbsp; On the other hand, we don't &lt;i&gt;need&lt;/i&gt; type inference.&amp;nbsp; I'm more than happy to write the type of a function in ML or Haskell, and type&lt;i&gt; checking&lt;/i&gt; is decidable with polymorphic recursion. It's sad that SML will never be able to do this.&amp;nbsp; Apparently OCaml 3.12 will allow it.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Reading the mailing lists from 1994 when this was being debated on the Haskell mailing list, I found a very interesting example from Mark Jones.&amp;nbsp; He found that polymorphic recursion would break his implementation of type classes that didn't pass a dictionary at run time.&amp;nbsp; Without PR, he could statically analyze the whole program and hard code the type class function calls.&amp;nbsp; He points out with the following that it's no longer possible with PR:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;f  :: Eq a =&amp;gt; a -&amp;gt; Bool&lt;/pre&gt;&lt;pre&gt;f x = x==x || f [x]&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;Note that if I write&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;data D = D&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;instance Show D where&lt;/pre&gt;&lt;pre&gt;_ == _ = False&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;then calling f D will require infinitely many instances of f.&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;I also found a &lt;a href="http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBcQFjAA&amp;amp;url=http%3A%2F%2Fwww.church-project.org%2Freports%2Felectronic%2FHal%2BKfo%3ABUCS-TR-2004-004.pdf&amp;amp;rct=j&amp;amp;q=Programming+Examples+Needing+Polymorphic+Recursion&amp;amp;ei=630RTJCkMMOAlAe--IGJCA&amp;amp;usg=AFQjCNFqMpoZMc5CCDUOBz9a6yEQSBtMzA&amp;amp;sig2=__LZUtbvfVf07LaASCZMmw"&gt;good paper by Kfoury et al&lt;/a&gt;. showing lots of examples of polymorphic&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;recursion in action, and how many of the cases can be overcome using intersection&lt;/pre&gt;&lt;pre&gt;types (my friend William Lovas' specialty.)&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-538594970720226771?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/538594970720226771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/more-polymorphic-recursion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/538594970720226771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/538594970720226771'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/more-polymorphic-recursion.html' title='More Polymorphic Recursion'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1368186492220412267</id><published>2010-06-08T16:50:00.001-07:00</published><updated>2010-06-08T16:50:58.615-07:00</updated><title type='text'>The Club</title><content type='html'>Interesting.&amp;nbsp; The Club anti-theft device for cars&lt;a href="http://freakonomics.blogs.nytimes.com/2010/06/08/what-car-thieves-think-of-the-club/"&gt; is either bad for society, or your car,&lt;/a&gt; depending on the skill of the car thieves.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1368186492220412267?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1368186492220412267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/club.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1368186492220412267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1368186492220412267'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/club.html' title='The Club'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3958645934041523023</id><published>2010-06-06T06:17:00.000-07:00</published><updated>2010-06-06T06:17:30.467-07:00</updated><title type='text'>Mozart and microbes</title><content type='html'>&lt;a href="http://draft.blogger.com/goog_768943335"&gt;&lt;/a&gt;&lt;a href="http://www.spiegel.de/international/zeitgeist/0,1518,698040,00.html"&gt;Is this for real?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A German company is playing Mozart over speakers to its microbes because it makes them eat sewage faster.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3958645934041523023?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3958645934041523023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/mozart-and-microbes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3958645934041523023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3958645934041523023'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/mozart-and-microbes.html' title='Mozart and microbes'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-7632236777125946299</id><published>2010-06-06T05:56:00.000-07:00</published><updated>2010-06-06T05:56:30.797-07:00</updated><title type='text'>Buying and renting</title><content type='html'>I've been looking for apartments in New York City recently.&amp;nbsp; The rents are high.&amp;nbsp; This is partly due to rent control, but the prices are not very much higher than the Bay Area where I grew up.&amp;nbsp; Apparently the real estate in NYC is so expensive, even relative to the high rents, that it usually doesn't make sense to buy an apartment.&amp;nbsp; The New York Times has a handy &lt;a href="http://www.nytimes.com/interactive/business/buy-rent-calculator.html"&gt;buy/rent calculator&lt;/a&gt; where you can put in the price of the house, cost of rent, cost of mortgage, etc. and it will tell you how long you'd have to own a house before it paid off.&amp;nbsp; Most of the numbers I tried for the Manhattan apartments I've been curious about never pay off, i.e. it's always better to rent. &amp;nbsp;&amp;nbsp; Out of curiousity, I was looking around the internet for similar prices in the Bay Area.&amp;nbsp; Since the interest rates are low now, I thought naturally it would be a better time to buy than when the rates are high.&amp;nbsp; I was surprised to find the &lt;a href="http://patrick.net/housing/crash.html"&gt;following analysis&lt;/a&gt; of my mistake:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; It is &lt;b&gt;far&lt;/b&gt; better to pay a low price with a high interest rate than a high price with a low interest rate, even if the mortgage payment is the same either way.     &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Your property taxes will be lower with a low purchase price.&lt;/li&gt;&lt;li&gt;A low price gives you the ability to pay it all off instead         of being a debt-slave for the rest of your life.&lt;/li&gt;&lt;li&gt;As interest rates fall from high to low, house prices increase.&lt;/li&gt;&lt;li&gt;Paying a high price now may trap you "under water", meaning you'll have a         mortgage larger than the value of the house. Then you will not be able to         refinance because there you'll have no equity, and will not be able to sell without         a loss.  Even if you get a long-term fixed rate mortgage, when rates         inevitably go up the value of your property will go down. Paying a low         price minimizes your damage.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&amp;nbsp;The prices are presumably lower when the interest rates are high because the demand for housing at a fixed price falls.&amp;nbsp; I'd like to see if there is really parity in the price of a mortgage for the same house at different times with different interest rates.&amp;nbsp; Does anyone know a study like this?&amp;nbsp; I'd be really surprised if the actual mortgage payments were the same.&amp;nbsp; I suppose you could use Case/Schiller and the historical interest rates to calculate the inflation-adjusted mortgage payments, but I don't have time to do it myself.&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-7632236777125946299?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/7632236777125946299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/buying-and-renting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7632236777125946299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7632236777125946299'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/buying-and-renting.html' title='Buying and renting'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8549362864470473212</id><published>2010-06-06T05:15:00.000-07:00</published><updated>2010-06-06T05:15:35.992-07:00</updated><title type='text'>Atul Gawande</title><content type='html'>I was at a party last night, speaking with a last year anesthesiology resident from the Boston area.&amp;nbsp; I told her I was reading Atul Gawande's excellent book '&lt;a href="http://gawande.com/better"&gt;Better&lt;/a&gt;'.&amp;nbsp; She said, "Oh, I know Gawande".&amp;nbsp; I found this unsurprising, as he is not only a surgeon but a quasi-celebrity with many articles appearing in popular places like the New Yorker.&amp;nbsp;&amp;nbsp;&amp;nbsp; She continued,&amp;nbsp; "I was the anesthesiologist on his team in a couple of surgeries recently."&amp;nbsp;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8549362864470473212?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8549362864470473212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/atul-gawande.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8549362864470473212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8549362864470473212'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/06/atul-gawande.html' title='Atul Gawande'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8430811191730542066</id><published>2010-05-29T06:55:00.001-07:00</published><updated>2010-05-29T06:55:32.382-07:00</updated><title type='text'>On Dickens</title><content type='html'>&lt;span class="Apple-style-span" style="color: #222222; font-family: 'Times New Roman', Georgia, serif; font-size: 14px; line-height: 18px;"&gt;He was almost certainly the best-known man in England in the middle of the nineteenth century, and certainly the most loved: his very personal hold on his readers extended from the most distinguished—Queen Victoria, say—to illiterate workers who clubbed together to buy the weekly or monthly parts in which his novels first appeared so that one marginally literate man could read them aloud to his fellows. And this popularity and influence carried to America, Germany, France, and Russia as well. There was universal sorrow when he died. “I never knew an author’s death to cause such general mourning,” wrote Longfellow. “It is no exaggeration to say that this whole country is stricken with&amp;nbsp;grief.”&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: 'Times New Roman', Georgia, serif; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: 'Times New Roman', Georgia, serif; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 18px;"&gt;&lt;a href="http://www.nybooks.com/articles/archives/2010/jun/10/who-was-charles-dickens/"&gt;Source&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8430811191730542066?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8430811191730542066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/on-dickens.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8430811191730542066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8430811191730542066'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/on-dickens.html' title='On Dickens'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1956228652435723195</id><published>2010-05-29T05:45:00.000-07:00</published><updated>2010-05-29T05:45:15.987-07:00</updated><title type='text'>Brooksley Born</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Brooksley_Born"&gt;is one of the few good-guys&lt;/a&gt; in Simon Johnson's excellent &lt;a href="http://13bankers.com/"&gt;13 Bankers&lt;/a&gt;&amp;nbsp;about how anti-regulation ideology and financial industry power created the financial crisis. &amp;nbsp;Simultaneously standing up to Greenspan, Rubin, and Summers took great courage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1956228652435723195?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1956228652435723195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/brooksley-born.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1956228652435723195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1956228652435723195'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/brooksley-born.html' title='Brooksley Born'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8327801933874958688</id><published>2010-05-28T07:32:00.001-07:00</published><updated>2010-05-29T04:19:09.597-07:00</updated><title type='text'>Links for 5/28/10</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.edge.org/3rd_culture/derman10/derman10_index.html"&gt;Interview with Emanuel Derman&lt;/a&gt;, author of the excellent My Life as a Quant.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nytimes.com/2010/05/29/your-money/student-loans/29money.html?pagewanted=1&amp;amp;hp"&gt;Painful profile&lt;/a&gt; of a student with too much college debt. &amp;nbsp;I agree with the author that this is the partly the responsibility of financial aid departments. &amp;nbsp;I think the primary responsibility lies in the lack of a personal finance course taught at the high school level. &amp;nbsp;In my opinion it is scandalous that there is not such a course required at every high school in America. &amp;nbsp;It's as if the schools are preparing a polity ready to be duped by high, variable interest credit card and mortgage companies.&lt;/li&gt;&lt;li&gt;&lt;a href="http://youtube.com/watch?v=u6XAPnuFjJc"&gt;Great artistic video about&lt;/a&gt; motivational psychology research. &amp;nbsp;Open source software is a key example.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8327801933874958688?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8327801933874958688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/emanuel-derman-interview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8327801933874958688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8327801933874958688'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/emanuel-derman-interview.html' title='Links for 5/28/10'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-2580358598761943841</id><published>2010-05-27T05:39:00.000-07:00</published><updated>2010-06-21T11:53:02.194-07:00</updated><title type='text'>13 Bankers</title><content type='html'>I’m reading Simon Johnson and James Kwak’s &lt;a href="http://baselinescenario.com/2010/01/21/13-bankers/"&gt;13 Bankers&lt;/a&gt;.  It gives a really nice account of the history of banking in the US, highlighting the continual tension between bankers and presidents including Jefferson, Jackson, Theodore Roosevelt and Franklin Roosevelt.  &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-2580358598761943841?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/2580358598761943841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/13-bankers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2580358598761943841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2580358598761943841'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/13-bankers.html' title='13 Bankers'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3855463596905049530</id><published>2010-05-25T09:39:00.000-07:00</published><updated>2010-05-25T09:39:11.970-07:00</updated><title type='text'>Great mouse-free search engine</title><content type='html'>I've been using Duck Duck Go instead of Google for the last week. &amp;nbsp;I switched because I almost never need to use the mouse. &amp;nbsp;I highly recommend it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://duckduckgo.com/"&gt;http://duckduckgo.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3855463596905049530?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3855463596905049530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/great-mouse-free-search-engine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3855463596905049530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3855463596905049530'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/great-mouse-free-search-engine.html' title='Great mouse-free search engine'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4825770409497965678</id><published>2010-05-23T05:11:00.000-07:00</published><updated>2010-05-23T05:11:30.262-07:00</updated><title type='text'>Review</title><content type='html'>&lt;a href="http://www.newyorker.com/arts/critics/books/2009/11/16/091116crbo_books_kolbert"&gt;A good trashing of Superfreakonomics&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4825770409497965678?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4825770409497965678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/review.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4825770409497965678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4825770409497965678'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/review.html' title='Review'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8169320746423854481</id><published>2010-05-23T04:39:00.000-07:00</published><updated>2010-05-23T04:39:02.291-07:00</updated><title type='text'>Writing</title><content type='html'>A nice passage from Robert Frank's The Economic Naturalist's Field Guide:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Daniel_J._Boorstin"&gt;Daniel Boorstin&lt;/a&gt;, the former Librarian of Congress, used to rise at five o'clock each morning and write for two hours before going into the office. &amp;nbsp;"I write to discover what I think," he explained. &amp;nbsp;"After all, the bars aren't open that early." &amp;nbsp;Boorstin's morning sessions were even more valuable than he realized. &amp;nbsp;Writing not only clarifies what you already know; it is an astonishingly effective way to learn something new.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8169320746423854481?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8169320746423854481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/writing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8169320746423854481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8169320746423854481'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/writing.html' title='Writing'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-81703286151830886</id><published>2010-05-21T06:18:00.000-07:00</published><updated>2010-05-21T06:19:25.328-07:00</updated><title type='text'>Polymorphic recursion workaround in SML</title><content type='html'>I had something like the following formula type in SML.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;type world = int&lt;br /&gt;type param = string&lt;br /&gt;type var = string * int&lt;br /&gt;&lt;br /&gt;datatype t = Eq of world * world&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | And of t * t&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Imp of t * t&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | All of param * t&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Ex of var * t&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | Hole&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are formulas with holes, and I wanted to fill in a hole with another formula.&lt;/div&gt;&lt;div&gt;&lt;div&gt;Since the fill function does the same thing for the binops and the quantifiers, I&lt;/div&gt;&lt;div&gt;lifted the logic out of the main function (binop and quant)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;val fill : t * t -&amp;gt; t option =&lt;/div&gt;&lt;div&gt;&amp;nbsp;fn (inp, x) =&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; let&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;val rec find : t -&amp;gt; t option =&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; fn Hole =&amp;gt; SOME x&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | And t12 =&amp;gt; binop And t12&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Imp t12 =&amp;gt; binop Imp t12&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | All xt =&amp;gt; quant All xt&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Ex xt =&amp;gt; quant Ex xt&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Eq _ =&amp;gt; NONE&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;and binop: (t * t -&amp;gt; t) -&amp;gt; t * t -&amp;gt; t option =&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; fn con =&amp;gt; fn (t1, t2) =&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case find t1 of&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SOME t =&amp;gt; SOME(con(t, t2))&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| NONE =&amp;gt; Option.map (fn t =&amp;gt; con(t1, t)) (find t2)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;and quant: ('a * t -&amp;gt; t) -&amp;gt; 'a * t -&amp;gt; t option =&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; fn con =&amp;gt; fn (x, t) =&amp;gt; Option.map (fn t =&amp;gt; con(x, t)) (find t)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; in&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;find inp&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This didn't typecheck because quant was being called with 'a = var and also 'a = param.&lt;/div&gt;&lt;div&gt;Tom Murphy supplied the pretty workaround: quant gets an extra argument which is&amp;nbsp;&lt;/div&gt;&lt;div&gt;an abstraction of 'find'. &amp;nbsp;This breaks the mutual dependency, and shows that the function&lt;/div&gt;&lt;div&gt;is not really polymorphic-recursive.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;val fill : t * t -&amp;gt; t option =&lt;/div&gt;&lt;div&gt;&amp;nbsp;fn (inp, x) =&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; let&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;val quant : (t -&amp;gt; t option) -&amp;gt; ('a * t -&amp;gt; t) -&amp;gt; 'a * t -&amp;gt; t option =&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; fn find =&amp;gt; fn con =&amp;gt; fn (x, t) =&amp;gt; Option.map (fn t =&amp;gt; con(x, t)) (find t)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;val rec find : t -&amp;gt; t option =&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; fn Hole =&amp;gt; SOME x&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | And t12 =&amp;gt; binop And t12&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Imp t12 =&amp;gt; binop Imp t12&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | All xt =&amp;gt; quant find All xt&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Ex xt =&amp;gt; quant find Ex xt&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Eq _ =&amp;gt; NONE&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;and binop : (t * t -&amp;gt; t) -&amp;gt; t * t -&amp;gt; t option =&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fn con =&amp;gt; fn (t1, t2) =&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case find t1 of&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SOME t =&amp;gt; SOME(con(t, t2))&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | NONE =&amp;gt; Option.map (fn t =&amp;gt; con(t1, t)) (find t2)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; in&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;find inp&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-81703286151830886?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/81703286151830886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/polymorphic-recursion-workaround-in-sml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/81703286151830886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/81703286151830886'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/polymorphic-recursion-workaround-in-sml.html' title='Polymorphic recursion workaround in SML'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4464468180071151722</id><published>2010-05-21T06:12:00.000-07:00</published><updated>2010-05-21T06:12:32.828-07:00</updated><title type='text'>Nice phantom type example</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;A nice example of phantom types: &amp;nbsp;forcing lambda terms to be closed. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;Lifted from an email from Neek Krishnaswami.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;type void &amp;nbsp; (* Empty type *)&lt;br /&gt;&lt;br /&gt;type 'a debruijn = &amp;nbsp;(* Debruijn with nested datatypes *)&lt;br /&gt;&amp;nbsp;| Var of 'a&lt;br /&gt;&amp;nbsp;| App of 'a debruijn * 'a debruijn&lt;br /&gt;&amp;nbsp;| Lam of ('a option) debruijn&lt;br /&gt;&lt;br /&gt;let omega : void debruijn = &amp;nbsp;(* Typechecking ensures omega has no free&amp;nbsp;vars *)&lt;br /&gt;&amp;nbsp;App(Lam(App(Var None, Var None)),&amp;nbsp;Lam(App(Var None, Var None)))&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;Note that a free variable, for instance, Var None : void option debruijn. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;Neel used the example to describe a polymorphic recursion workaround in ocaml.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px;"&gt;(* Suppose we want a size function...&lt;br /&gt;&lt;br /&gt;let rec size = function&lt;br /&gt;&amp;nbsp;| Var _ -&amp;gt; 1&lt;br /&gt;&amp;nbsp;| App(e,e') -&amp;gt; 1 + size e + size e'&lt;br /&gt;&amp;nbsp;| Lam e -&amp;gt; 1 + size e&lt;br /&gt;&lt;br /&gt;This won't typecheck, we need polymorphic recursion!&lt;br /&gt;*)&lt;br /&gt;&lt;br /&gt;(* Caml allows polymorphic record fields, so declare one with the&lt;br /&gt;polymorphism&lt;br /&gt;&amp;nbsp; we want in debruijn. *)&lt;br /&gt;&lt;br /&gt;type 'b sizerec = {fn: 'a. ('a debruijn -&amp;gt; 'b)}&lt;br /&gt;&lt;br /&gt;(* Now we can define a recursive function by going through this record *)&lt;br /&gt;&lt;br /&gt;let size =&lt;br /&gt;&amp;nbsp;let rec s =&lt;br /&gt;&amp;nbsp; &amp;nbsp;{fn = function&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Var _ -&amp;gt; 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; | App(e,e') -&amp;gt; 1 + s.fn e + s.fn e'&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; | Lam e -&amp;gt; 1 + s.fn e}&lt;br /&gt;&amp;nbsp;in&lt;br /&gt;&amp;nbsp;s.fn&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4464468180071151722?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4464468180071151722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/nice-phantom-type-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4464468180071151722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4464468180071151722'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/nice-phantom-type-example.html' title='Nice phantom type example'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1610325509751557937</id><published>2010-05-13T11:33:00.000-07:00</published><updated>2010-05-13T11:33:31.311-07:00</updated><title type='text'>Bernake on happiness</title><content type='html'>&lt;a href="http://www.federalreserve.gov/newsevents/speech/bernanke20100508a.htm"&gt;A nice commencement speech.&lt;/a&gt;&amp;nbsp;&amp;nbsp;(From &lt;a href="http://gregmankiw.blogspot.com/"&gt;Greg Mankiw&lt;/a&gt;'s blog)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1610325509751557937?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1610325509751557937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/bernake-on-happiness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1610325509751557937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1610325509751557937'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/bernake-on-happiness.html' title='Bernake on happiness'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8084146582954167177</id><published>2010-05-06T18:05:00.000-07:00</published><updated>2010-05-06T18:05:14.890-07:00</updated><title type='text'>Lunch with Knuth</title><content type='html'>I got to have lunch with Don Knuth and Frank and his other students today. &amp;nbsp;He talked about many things, most interesting to me were the organ and &lt;a href="http://en.wikipedia.org/wiki/Zero_suppressed_decision_diagram"&gt;ZDD&lt;/a&gt;s.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8084146582954167177?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8084146582954167177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/lunch-with-knuth.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8084146582954167177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8084146582954167177'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/lunch-with-knuth.html' title='Lunch with Knuth'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-7710431751268304019</id><published>2010-05-04T07:51:00.000-07:00</published><updated>2010-05-04T07:51:03.934-07:00</updated><title type='text'>The Economic Naturalist: II</title><content type='html'>&lt;b&gt;Credit cards in grocery stores.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;According to a number of recent articles, e.g.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nytimes.com/2009/07/16/business/16fees.html"&gt;www.nytimes.com/2009/07/16/business/16fees.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;credit card fees cost stores a large amout of money, thus raising costs to the consumer. &amp;nbsp;The fees seem to be roughly 2-3% of the cost of the purchase. &amp;nbsp;While I was waiting in line at Whole Foods yesterday, an economic naturalist question came to mind. &amp;nbsp;Why don't stores offer discounts for users who pay in cash? &amp;nbsp;If the discount was less than 3%, this would increase the merchant's profit.&lt;br /&gt;&lt;br /&gt;The convenience of credit cards is undeniable. &amp;nbsp;Lowering the price for cash purchases would give customers an incentive to pay in cash, thus increasing the amount of physical currency the store had to deal with. &amp;nbsp; This would make the store a better target for robbery, and thus raise the price for armored transport and security guards. &amp;nbsp;However, I think the main reason high throughput stores like grocery stores don't want cash is that it would also increase the amount of time each person was at the grocery line. &amp;nbsp;(I'm assuming it takes longer to sort cash and make change than to wait for the credit card authorization.) &amp;nbsp;Any gain from the cash would most likely be lost by the extra time everyone stands in line. &amp;nbsp;The longer lines would mean the store would have to spend more on employees to keep lines open, or risk frustrating their customers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-7710431751268304019?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/7710431751268304019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/economic-naturalist-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7710431751268304019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7710431751268304019'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/economic-naturalist-ii.html' title='The Economic Naturalist: II'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3554155531650768653</id><published>2010-05-03T18:10:00.001-07:00</published><updated>2010-05-03T18:10:58.073-07:00</updated><title type='text'>Ocean turbines</title><content type='html'>&lt;a href="http://www.nytimes.com/interactive/2010/04/21/science/20100421-turbine.html"&gt;Great idea.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3554155531650768653?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3554155531650768653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/ocean-turbines.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3554155531650768653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3554155531650768653'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/ocean-turbines.html' title='Ocean turbines'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-809858873930106492</id><published>2010-05-01T20:50:00.001-07:00</published><updated>2010-05-01T20:50:18.012-07:00</updated><title type='text'>Security questions</title><content type='html'>&lt;a href="http://www.schneier.com/blog/archives/2010/04/fun_with_secret.html"&gt;and answers&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-809858873930106492?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/809858873930106492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/security-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/809858873930106492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/809858873930106492'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/05/security-questions.html' title='Security questions'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1804988745187953745</id><published>2010-04-29T17:26:00.000-07:00</published><updated>2010-04-30T05:45:19.984-07:00</updated><title type='text'>Glorious Hack: pretty-mode for Emacs</title><content type='html'>Today I was lamenting the lack of unicode identifiers and strings in Standard ML. &amp;nbsp;I asked on the #emacs irc channel how hard it would be to display the string "alpha" as the glyph&amp;nbsp;α, for example. &amp;nbsp;User `jlf' pointed me to pretty-mode for emacs from &lt;a href="http://arthur.acm.jhu.edu/"&gt;Arthur Danskin&lt;/a&gt;, a student at Johns Hopkins:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.emacswiki.org/emacs/pretty-mode.el"&gt;www.emacswiki.org/emacs/pretty-mode.el&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a beautiful hack. &amp;nbsp;It uses font-lock mode to render strings as other strings rather than just coloring the text in the buffer. &amp;nbsp;It is easy to add your own unicode characters to display, and the code will compile because only the view is modified. &amp;nbsp;It's possible to use two different codes for&amp;nbsp;α, one for source code identifiers that expands to a legal identifier in the language and another that expands to a unicode sequence that will print as the unicode character. &amp;nbsp;This is handy for a language like Standard ML (MLton) where unicode is allowed in neither identifiers nor strings. &amp;nbsp;For instance&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;val forall = &amp;nbsp;"\226\136\128"&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;prints as&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;val&amp;nbsp;∀ = "∀"&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1804988745187953745?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1804988745187953745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/glorious-hack-pretty-mode-for-emacs.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1804988745187953745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1804988745187953745'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/glorious-hack-pretty-mode-for-emacs.html' title='Glorious Hack: pretty-mode for Emacs'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4300715342430540841</id><published>2010-04-29T14:38:00.000-07:00</published><updated>2010-04-29T14:38:56.487-07:00</updated><title type='text'>Sand art</title><content type='html'>&lt;a href="http://theswedishbed.files.wordpress.com/2010/04/sable.jpg?w=369&amp;amp;h=184" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="159" src="http://theswedishbed.files.wordpress.com/2010/04/sable.jpg?w=369&amp;amp;h=184" width="320" /&gt;&lt;/a&gt;&lt;a href="http://theswedishbed.wordpress.com/2010/04/27/sand-art-a-new-kind-of-land-art/"&gt;theswedishbed.wordpress.com/2010/04/27/sand-art-a-new-kind-of-land-art/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4300715342430540841?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4300715342430540841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/sand-art.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4300715342430540841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4300715342430540841'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/sand-art.html' title='Sand art'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6482517120858692581</id><published>2010-04-28T14:05:00.000-07:00</published><updated>2010-04-30T11:14:32.218-07:00</updated><title type='text'>Lazy evaluation for tree replacement in Haskell, OCaml, and SML</title><content type='html'>(The Haskell code in this post comes from Julia Lawall's paper "Implementing circularity using partial evaluation". &amp;nbsp;Note also that this post has been significantly rewritten thanks to Jake Donham, a former colleague at both NYU and CMU, who pointed out I didn't know what I was talking about.)&lt;br /&gt;&lt;br /&gt;An interesting application of lazy evaluation is to replace all the elements of an int tree by the smallest element without traversing the tree twice. &amp;nbsp;The pretty Haskell program that does this is:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;rm t = fst p&lt;br /&gt;  where p = repmin t (snd p)&lt;br /&gt;        repmin (Tip n) m = (Tip m, n)&lt;br /&gt;        repmin (Fork l r) m = (Fork t1 t2, min m1 m2)&lt;br /&gt;          where (t1, m1) = repmin l m &lt;br /&gt;                (t2, m2) = repmin r m&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We can see this is correct by looking at an invariant of repmin. &amp;nbsp;Repmin always returns the smallest element of the tree in the second element of the pair, and a tree isomorphic to the first argument filled in with the second argument. &amp;nbsp;Laziness allows us to provide the minimal value after we've traversed the tree. &amp;nbsp;Looking at the tree will then give you the correct result. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this case laziness provides an elegant solution which would be more cumbersome in SML or Ocaml. &amp;nbsp;I wondered how much more cumbersome. &amp;nbsp;I find it difficult to understand the space usage of my Haskell programs, and despite its incredible elegance and advanced features, I prefer Standard ML when my code has to be fast. &amp;nbsp; I implemented near identical copies of my theorem prover for propositional intuitionistic logic in Haskell and SML. &amp;nbsp;The Haskell version uses 10X the memory. &amp;nbsp;Of course, there is a high probability that this is because I'm not a very good Haskell programmer. &amp;nbsp;Yet the techniques used by experts to achieve good performance can make beautiful code ugly. &amp;nbsp;I don't think I am alone in this view. &amp;nbsp;For instance, the Haskell examples at the &lt;a href="http://shootout.alioth.debian.org/"&gt;Programming Languages Shootout&lt;/a&gt;&amp;nbsp;are written by experts such as one of the authors of Real World Haskell. &amp;nbsp;For instance&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://shootout.alioth.debian.org/u32/program.php?test=fannkuch&amp;amp;lang=ghc&amp;amp;id=5"&gt;shootout.alioth.debian.org/u32/program.php?test=fannkuch&amp;amp;lang=ghc&amp;amp;id=5&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://shootout.alioth.debian.org/u32/program.php?test=mandelbrot&amp;amp;lang=ghc&amp;amp;id=2"&gt;shootout.alioth.debian.org/u32/program.php?test=mandelbrot&amp;amp;lang=ghc&amp;amp;id=2&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The programs are laden with strictness annotations and "bang patterns" which basically force the evaluation at the pattern match site. &amp;nbsp;This suggests to me that often laziness is not the ideal default mode of use. &amp;nbsp;Here at CMU we teach that laziness is a mode of use of strictness by implementing laziness using closures and references (see below). &amp;nbsp;However, the example above is beautiful and compelling. &amp;nbsp;How ugly does it become in strict languages. &amp;nbsp;Below are some experiments. &amp;nbsp;If you can do better, I'd be delighted to see your examples.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;OCaml&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OCaml has some syntactic support for lazy evaluation. &amp;nbsp;(Note the use of the special syntax `lazy'.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre&gt;open Lazy&lt;br /&gt;&lt;br /&gt;type 'a tree = Tip of 'a | Fork of 'a tree * 'a tree&lt;br /&gt;&lt;br /&gt;let snd (_, y) = y&lt;br /&gt;&lt;br /&gt;let rec tmap f t = match t with&lt;br /&gt;  | Tip a -&amp;gt; Tip (f a)&lt;br /&gt;  | Fork (l, r) -&amp;gt; Fork (tmap f l, tmap f r)&lt;br /&gt;&lt;br /&gt;let fmap f x = lazy (f (force x))&lt;br /&gt;&lt;br /&gt;(* Without type annotations *)&lt;br /&gt;let fm t = &lt;br /&gt;  let rec repmin t m = &lt;br /&gt;    match t with&lt;br /&gt;    | Tip n -&amp;gt; (print_int n; print_newline(); (Tip m, n))&lt;br /&gt;    | Fork(l, r) -&amp;gt;&lt;br /&gt;        let (t1, m1) = repmin l m in&lt;br /&gt;        let (t2, m2) = repmin r m in&lt;br /&gt;          (Fork (t1, t2), min m1 m2) in&lt;br /&gt;  let rec p = lazy (repmin t (fmap snd p)) in&lt;br /&gt;    fst (Lazy.force p)&lt;br /&gt;&lt;br /&gt;(* With type annotations *)&lt;br /&gt;&lt;br /&gt;let fm : int tree -&amp;gt; int t tree =&lt;br /&gt; fun t -&amp;gt;&lt;br /&gt;    let rec repmin : int tree -&amp;gt; int t -&amp;gt; int t tree * int =&lt;br /&gt;      fun t m -&amp;gt; match t with&lt;br /&gt;        | Tip n -&amp;gt; (print_int n; print_newline(); (Tip m, n))&lt;br /&gt;        | Fork(l, r) -&amp;gt;&lt;br /&gt;            let (t1, m1) = repmin l m in&lt;br /&gt;            let (t2, m2) = repmin r m in&lt;br /&gt;              (Fork (t1, t2), min m1 m2) in&lt;br /&gt;    let rec p = lazy (repmin t (fmap snd p)) in&lt;br /&gt;      fst (Lazy.force p)&lt;br /&gt;&lt;br /&gt;let _ = tmap force (fm (Fork(Tip 5, Tip 1)));;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;What I like about this code, especially the version with type annotations, is that it is clear that&lt;/div&gt;&lt;div&gt;the second element of the pair returned is strict. &amp;nbsp; The first version is closer to the Haskell implementation. &amp;nbsp;It's not so bad except for the need for a special application (`fmap') and the explicit argument to `p'. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Standard ML&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To implement laziness, we need to do it ourselves in SML. &amp;nbsp;(The SML/NJ compiler has something similar to OCaml's Lazy module, though since my primary compiler is MLton I decided to write it from scratch.) &amp;nbsp;&lt;b&gt;Update&lt;/b&gt;. &amp;nbsp;This problem is harder than I imagined in the first post. &amp;nbsp;It seems difficult to solve this problem in SML without resorting to effects apart from the lazy evaluation effects; i.e. making a tree&lt;br /&gt;whose leaves are a ref cell. &amp;nbsp;There is a rather easy solution using continuations to rebuild the tree once you know the smallest element, but this also traverses the tree twice. &amp;nbsp;The following solution doesn't work. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre&gt;signature LAZY = &lt;br /&gt;sig&lt;br /&gt;  type 'a t&lt;br /&gt;  val inject_val : 'a -&amp;gt; 'a t&lt;br /&gt;  val force : 'a t -&amp;gt; 'a&lt;br /&gt;  val make : (unit -&amp;gt; 'a) -&amp;gt; 'a t&lt;br /&gt;  val fmap : ('a -&amp;gt; 'b) -&amp;gt; 'a t -&amp;gt; 'b t&lt;br /&gt;  val fmap2 : ('a * 'b -&amp;gt; 'c) -&amp;gt; 'a t * 'b t -&amp;gt; 'c t&lt;br /&gt;  val concat : 'a t t -&amp;gt; 'a t&lt;br /&gt;  val fix : ('a t -&amp;gt; 'a t) -&amp;gt; 'a t&lt;br /&gt;end &lt;br /&gt;&lt;br /&gt;structure Lazy' :&amp;gt; LAZY =&lt;br /&gt;struct &lt;br /&gt;  datatype 'a laz = Forced of 'a&lt;br /&gt;                  | Thunk of unit -&amp;gt; 'a&lt;br /&gt;  type 'a t = 'a laz ref&lt;br /&gt;  fun inject_val x = ref (Forced x)&lt;br /&gt;  fun force (ref (Forced x)) = x&lt;br /&gt;    | force (l as (ref (Thunk f))) = &lt;br /&gt;      let&lt;br /&gt;         val x = f ()&lt;br /&gt;      in &lt;br /&gt;         l := Forced x&lt;br /&gt;       ; x&lt;br /&gt;      end&lt;br /&gt;  fun make f = ref (Thunk f) &lt;br /&gt;  fun fmap f x = ref (Thunk (fn () =&amp;gt; f (force x)))&lt;br /&gt;  fun fmap2 f (x, y) = ref (Thunk (fn () =&amp;gt; f (force x, force y)))              &lt;br /&gt;  fun concat x = ref (Thunk (fn () =&amp;gt; force (force x)))&lt;br /&gt;  fun fix f = ref (Thunk (fn () =&amp;gt; force (f (fix f))))&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;structure L = Lazy'&lt;br /&gt;&lt;br /&gt;datatype 'a Tree = Tip of 'a | Fork of 'a Tree * 'a Tree&lt;br /&gt;&lt;br /&gt;fun fst (x, y) = x&lt;br /&gt;fun snd (x, y) = y&lt;br /&gt;&lt;br /&gt;val fm : int Tree -&amp;gt; int L.t Tree =&lt;br /&gt; fn t =&amp;gt;&lt;br /&gt;    let&lt;br /&gt;       val rec repmin : int Tree -&amp;gt; int L.t -&amp;gt; (int L.t Tree * int) =&lt;br /&gt;        fn Tip n =&amp;gt; (fn m =&amp;gt; (print (Int.toString n ^ "\n"); (Tip m, n)))&lt;br /&gt;         | Fork(l, r) =&amp;gt; (fn m =&amp;gt;&lt;br /&gt;           let&lt;br /&gt;              val (t1, m1) = repmin l m&lt;br /&gt;              val (t2, m2) = repmin r m&lt;br /&gt;           in&lt;br /&gt;              (Fork(t1, t2), Int.min (m1, m2))&lt;br /&gt;           end)&lt;br /&gt;       val rec p : unit -&amp;gt; int L.t Tree * int =&lt;br /&gt;        fn () =&amp;gt; repmin t (L.fmap snd (L.make p))&lt;br /&gt;    in&lt;br /&gt;       fst (p ())&lt;br /&gt;    end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The solution, again due to Jake, is to make a more clever fixpoint operator that makes sure it only is forced once:&lt;/div&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;signature LAZY = &lt;br /&gt;sig&lt;br /&gt;  ...&lt;br /&gt;  val fix' : ('a t -&gt; 'a) -&gt; 'a t&lt;br /&gt;end &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;structure Lazy' :&gt; LAZY =&lt;br /&gt;struct &lt;br /&gt;  ...&lt;br /&gt;  fun fix' f =&lt;br /&gt;      let &lt;br /&gt;        val t = ref (Thunk (fn () =&gt; raise (Fail "")))&lt;br /&gt;      in&lt;br /&gt;        t := Thunk (fn () =&gt; f t)&lt;br /&gt;      ; t&lt;br /&gt;      end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;val fm : int Tree -&gt; int L.t Tree =&lt;br /&gt; fn t =&gt;&lt;br /&gt;    let&lt;br /&gt;       ...&lt;br /&gt;       val p : (int L.t Tree * int) L.t = L.fix' (fn p =&gt; repmin t (L.fmap snd p))&lt;br /&gt;    in&lt;br /&gt;      fst (L.force p)&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6482517120858692581?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6482517120858692581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/lazy-evaluation-for-tree-replacement-in.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6482517120858692581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6482517120858692581'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/lazy-evaluation-for-tree-replacement-in.html' title='Lazy evaluation for tree replacement in Haskell, OCaml, and SML'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4756521290104957609</id><published>2010-04-28T09:00:00.000-07:00</published><updated>2010-05-23T04:34:24.050-07:00</updated><title type='text'>The Economic Naturalist I:  A freeway for tourists.</title><content type='html'>Robert Frank, an economics professor at Cornell, wrote an excellent popular economics book called &lt;a href="http://www.robert-h-frank.com/book.html"&gt;The Economic Naturalist.&lt;/a&gt;&amp;nbsp;&amp;nbsp;In it he laments the myriad concepts taught in Economics 101, where students are overwhelmed with definitions and facts, yet six months after the end of the course can not solve basic problems in economics. &amp;nbsp;He fights this trend by asking students to search for counterintuitive economic phenomena in daily life and asks them to describe the phenomena and posit an explanation using fundamental economics principles. &amp;nbsp;The results are not only entertaining but instructive to the lay person. &lt;br /&gt;Since I am a lay person, I figured I'd try my hand at such an observation. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Instructions:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Your space limit is five hundred words. &amp;nbsp;Many excellent papers are significantly shorter than that. &amp;nbsp;Please do not lard your essay with complex terminololgy. &amp;nbsp;Imagine yourself talking to a relative who has never had a course in economics. &amp;nbsp;The best papers are the ones that would be clearly intelligible to such a person, and typically these papers do not use any algebra or graphs. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Disclaimer&lt;/b&gt;: All comments in the following analysis have a high probability of being at least one of a) uninformed b) unintentionally misleading c) conflate unrelated ideas d) naive e) just false. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;A Freeway in Mexico&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I noticed a strange phenomenon when I was last in Mexico. &amp;nbsp;Like many tourists, I visited the stunning Mayan pyramid at &lt;a href="http://en.wikipedia.org/wiki/Chichen_Itza"&gt;Chichen Itza&lt;/a&gt;. &amp;nbsp;I arrived from Tulum, on a small, crowded two lane road. &amp;nbsp;The trip took approximately 3 hours. &amp;nbsp;On the way home, I noticed that there was a highway directly back to Cancun, my next destination. &amp;nbsp;The highway was impressive. &amp;nbsp;It consisted of between 4 and 6 lanes, and was in better condition than most roads with which I am familiar in the US. &amp;nbsp;More surprising was that I was nearly the only car on the road. &amp;nbsp;There were occasional tour busses and other tourists, but Mexican citizens were conspicuously absent. &amp;nbsp;After the hour and a half it took to reach Cancun, I realized why. &amp;nbsp;It turned out to be a toll road, and the toll was around $20US. &amp;nbsp;This angered me at first. &amp;nbsp;Why should such a resource be used so wastefully, only transporting foreigners able to afford the large toll? &amp;nbsp;The road could have supported many more drivers with no inconvenience to me. &amp;nbsp; Clearly an example of an inefficient market. &lt;br /&gt;&lt;br /&gt;It was surprising at first, but isn't so much any more. &amp;nbsp;The function between the cost of the toll and the profit to the private company that ran the road may be maximized at such a high price; lowering the price enough to allow citizens to use the road may generate more fees, but also more road damage. &amp;nbsp;Moreover, the citizens may be so poor that the company would need to lower the fees so much that even the profits were smaller, regardless of the road damage. &amp;nbsp;The two-tiered society, say wealthy foreigners and citizens, makes Mexico worse off. &amp;nbsp;If the discrepancy were smaller, the company could charge less, make as much or more profit, and the economy of Mexico would be considerably strengthened. &amp;nbsp;Nationalization of the road doesn't seem to solve the problem. &amp;nbsp;Even if the road became state owned and the charges were lowered, the government would then need to repair the road out of the national budget. &amp;nbsp;A number of things could then happen. &amp;nbsp;Either the economy would generate enough new taxes to compensate for the necessary road repairs and Mexico would be better off. &amp;nbsp;Or it wouldn't and Mexico would be worse off. &amp;nbsp;The government would have the responsibility for maintaining the road, which would either fall into disrepair or the money would have to be channeled from somewhere else in the budget. &amp;nbsp;In the short run the people would be better off, but if the road fell into disrepair that improvement would slowly decrease. &lt;br /&gt;&lt;br /&gt;One motivation for this sort of road policy may be that it is cheaper to have someone build you a road than to finance the construction yourself. &amp;nbsp;Perhaps Mexico gave the company an incentive to build the road by giving them toll rights for, say 20 years. &amp;nbsp;No matter how inequitably they manage the road, at year 20 Mexico has a first-rate road for a modest cost. &amp;nbsp;This happens in the US. &amp;nbsp;The city of Pittsburgh, where I live, announced their intention to lease the central turnpike to a company from Spain for a large upfront fee. &amp;nbsp;This fee would cover some of the state budget deficit, giving the future toll yields to the company for some period of time. &lt;br /&gt;&lt;br /&gt;What struck me is that where in a relatively equal society everyone would benefit from a new road, in a highly unequal society, only the wealthy benefit in the short run.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4756521290104957609?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4756521290104957609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/economic-naturalist-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4756521290104957609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4756521290104957609'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/economic-naturalist-i.html' title='The Economic Naturalist I:  A freeway for tourists.'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8829674409029981299</id><published>2010-04-28T07:21:00.000-07:00</published><updated>2010-04-28T07:21:05.702-07:00</updated><title type='text'>Reversing perspective</title><content type='html'>&lt;a href="http://wadler.blogspot.com/2010/04/object-and-representation.html"&gt;3D -&amp;gt; 2D Art&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8829674409029981299?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8829674409029981299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/reversing-perspective.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8829674409029981299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8829674409029981299'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/reversing-perspective.html' title='Reversing perspective'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6126948177677276857</id><published>2010-04-27T18:18:00.000-07:00</published><updated>2010-04-27T18:18:04.584-07:00</updated><title type='text'>GHCi 6.12 unicode emacs problem</title><content type='html'>I recently installed the Haskell Platform with GHC version 6.12.1 on my Mac. &amp;nbsp;The primary problem for me has been getting unicode to work correctly. &amp;nbsp;I was using the utf8-string package, but now it is no longer necessary. &amp;nbsp;For instance,&lt;br /&gt;&lt;br /&gt;main = putStrLn "π x. p(x)"&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;works correctly when compiled. &amp;nbsp;However, I had trouble getting it to work via the emacs interactive buffer. &amp;nbsp;I found that when creating a ghci buffer with `inferior-haskell-load-file' &amp;nbsp;my bash shell variables, in particular LC_CTYPE, were not getting set. &amp;nbsp;I thus created a new program that first sets LC_CTYPE and then calls ghci. &amp;nbsp;This gets the unicode to print correctly in the inferior buffer.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;#!/bin/bash&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;export LC_CTYPE="en_US.UTF-8"&lt;/div&gt;&lt;div&gt;ghci&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I then customize `haskell-program-name' to be the name of this file. &amp;nbsp;If someone knows a better way to do this, please let me know.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6126948177677276857?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6126948177677276857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/ghci-612-unicode-emacs-problem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6126948177677276857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6126948177677276857'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/ghci-612-unicode-emacs-problem.html' title='GHCi 6.12 unicode emacs problem'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8621885909347356899</id><published>2010-04-27T10:17:00.000-07:00</published><updated>2010-04-27T10:17:31.754-07:00</updated><title type='text'>Worth Reading, 4/27</title><content type='html'>&lt;a href="http://www.newyorker.com/reporting/2009/11/09/091109fa_fact_wright"&gt;Captives: What really happened during the Israli attacks?&lt;/a&gt;, &amp;nbsp;From The New Yorker 11/9/09&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8621885909347356899?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8621885909347356899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/worth-reading-427.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8621885909347356899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8621885909347356899'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/worth-reading-427.html' title='Worth Reading, 4/27'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1135761178994889644</id><published>2010-04-26T08:24:00.000-07:00</published><updated>2010-04-26T08:24:43.223-07:00</updated><title type='text'>Everybody Draw Mohammed Day</title><content type='html'>&lt;a href="http://media.bonnint.net/seattle/3/373/37326.jpg?filter=wtop/story_big_wide" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://media.bonnint.net/seattle/3/373/37326.jpg?filter=wtop/story_big_wide" width="218" /&gt;&lt;/a&gt;After the odious South Park censorship by Comedy Central,&amp;nbsp;(&lt;a href="http://www.nytimes.com/2010/04/26/opinion/26douthat.html?hp"&gt;Ross Douthat wrote a probably accurate, if dramatic, analysis of the mess&lt;/a&gt;)&amp;nbsp;an artist in Seattle &lt;a href="http://rawstory.com/rs/2010/0424/seattle-cartoonist-promotes-everybody-draw-mohammed-day/"&gt;drew a poster announcing the fictional group Citizens Against Citizens Against Humor that are holding the (formerly) fictional Everybody Draw Mohammed Day&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;It caught on with &lt;a href="http://www.facebook.com/event.php?eid=113257775375783&amp;amp;ref=ts"&gt;a Facebook page&lt;/a&gt;, which quickly&amp;nbsp;exploded with both righteous outrage against threats of violence over free speech, and blatant racism. &amp;nbsp;While the mean content of the myriad comments is rather low, the best are spot on.&lt;br /&gt;&lt;h3 class="UIIntentionalStory_Message" data-ft="{&amp;quot;type&amp;quot;:&amp;quot;msg&amp;quot;}" style="color: #333333; font-size: 13px; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;&lt;blockquote&gt;This is not about hate. This is about intimidation. This is not only about Matt and Trey. This is about Salman Rushdie. This&amp;nbsp;is about Kurt Westergaard. This is about&amp;nbsp;Ayaan Hirsi Ali. This is about Sooreh Hera. This is&amp;nbsp;about Theo Van Gogh.&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Times; font-size: medium;"&gt;I'm currently a hesitant supporter or the campaign. &amp;nbsp;Images of the prophet are offensive to Muslims. &amp;nbsp;I have no desire to offend my Muslim friends and colleagues. &amp;nbsp;There are other ways to address the actions and rhetoric of the small minority of fundamentalist bullies. &amp;nbsp;However, in this case I believe that personal action is required. &amp;nbsp; It is not fair that the writers of South Park be the targets of violence while I am entertained yet share none of their hazard. &amp;nbsp;Of course, they are rewarded handsomely for their effort, but I am the indirect beneficiary of their exercise of my rights of freedom of speech and expression. &amp;nbsp;&lt;/span&gt;&lt;/h3&gt;&lt;h3 class="UIIntentionalStory_Message" data-ft="{&amp;quot;type&amp;quot;:&amp;quot;msg&amp;quot;}" style="color: #333333; font-size: 13px; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Times, 'Times New Roman', serif; font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3 class="UIIntentionalStory_Message" data-ft="{&amp;quot;type&amp;quot;:&amp;quot;msg&amp;quot;}" style="color: #333333; font-size: 13px; font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Times, 'Times New Roman', serif; font-size: medium;"&gt;This collective action is a way to diffuse targets for violence. &amp;nbsp;Since there are currently only a handful of entertainers willing to take the risk of offending the radicals, they make easy targets for terrorists. &amp;nbsp;It is unfair that such a burden fall only upon those brave enough to risk violence for free expression. &amp;nbsp;If we as citizens care about the same ideals, and enjoy the fruits of an uncensored, free society, we should accept some part of the risk. &amp;nbsp;While Comedy Central has not acted admirably, we can not expect such corporations to take stands against their own financial interest. &amp;nbsp;If we care about and benefit from freedom of expression and freedom from fear, we should stand up.&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1135761178994889644?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1135761178994889644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/everybody-draw-mohammed-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1135761178994889644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1135761178994889644'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/everybody-draw-mohammed-day.html' title='Everybody Draw Mohammed Day'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-2419802405383424253</id><published>2010-04-23T20:01:00.000-07:00</published><updated>2010-04-23T20:01:31.288-07:00</updated><title type='text'>An eloquent view of the social contract.</title><content type='html'>By&amp;nbsp;&lt;a href="http://draft.blogger.com/delong.typepad.com/sdj/2010/04/henry-louis-gates-gives-me-a-quitclaim-deed-to-hold-onto-the-fruits-of-my-slaveowning-and-slave-trading-ancestors-crimes.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+BradDelongsSemi-dailyJournal+(Brad+DeLong's+Semi-Daily+Journal)"&gt;Brad DeLong&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-2419802405383424253?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/2419802405383424253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/eloquent-view-of-social-contract.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2419802405383424253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2419802405383424253'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/eloquent-view-of-social-contract.html' title='An eloquent view of the social contract.'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6042411835961668902</id><published>2010-04-23T06:05:00.001-07:00</published><updated>2010-04-23T06:05:35.168-07:00</updated><title type='text'>Uncle Tim</title><content type='html'>taught me to ride my first bike.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.newsreview.com/chico/content?oid=1409489"&gt;www.newsreview.com/chico/content?oid=1409489&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6042411835961668902?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6042411835961668902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/uncle-tim.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6042411835961668902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6042411835961668902'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/uncle-tim.html' title='Uncle Tim'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8385244785903115613</id><published>2010-04-06T09:34:00.000-07:00</published><updated>2010-04-06T09:34:34.734-07:00</updated><title type='text'>Another big pharma cliche</title><content type='html'>&lt;a href="http://www.cnn.com/2010/HEALTH/04/02/pfizer.bextra/index.html?hpt=Sbin"&gt;Pfizer (again) shows it's commitment to public health.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8385244785903115613?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8385244785903115613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/another-big-pharma-cliche.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8385244785903115613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8385244785903115613'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/04/another-big-pharma-cliche.html' title='Another big pharma cliche'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4948276295937335921</id><published>2010-03-31T07:33:00.000-07:00</published><updated>2010-03-31T07:33:34.327-07:00</updated><title type='text'>LaTeX: Nested optional arguments</title><content type='html'>Latex allows you to make commands with an optional argument. &amp;nbsp;For example,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;\newcommand{\Line}[1][G]{\overline{{#1}}}&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now $\Line$&amp;nbsp;will draw a G with a line above it, and $\Line[H]$ will draw&lt;/div&gt;&lt;div&gt;an H with a line above. &amp;nbsp;Nesting these can cause problems though. &amp;nbsp;For instance,&lt;/div&gt;&lt;div&gt;&lt;div&gt;$\Line[\Line]$ works, but $\Line[\Line[H]]$ doesn't. &amp;nbsp;The solution is to always&lt;/div&gt;&lt;/div&gt;&lt;div&gt;wrap the optional argument in an extra set of curly braces:&amp;nbsp;$\Line[{\Line[H]}]$.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4948276295937335921?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4948276295937335921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/latex-nested-optional-arguments.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4948276295937335921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4948276295937335921'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/latex-nested-optional-arguments.html' title='LaTeX: Nested optional arguments'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3341311619941994898</id><published>2010-03-28T11:51:00.001-07:00</published><updated>2010-03-28T11:51:55.855-07:00</updated><title type='text'>Interview with Reinhold Niebuhr</title><content type='html'>&lt;a href="http://www.hrc.utexas.edu/multimedia/video/2008/wallace/niebuhr_reinhold.html"&gt;http://www.hrc.utexas.edu/multimedia/video/2008/wallace/niebuhr_reinhold.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3341311619941994898?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3341311619941994898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/interview-with-reinhold-niebuhr.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3341311619941994898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3341311619941994898'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/interview-with-reinhold-niebuhr.html' title='Interview with Reinhold Niebuhr'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-2487399142762998003</id><published>2010-03-27T14:06:00.000-07:00</published><updated>2010-03-27T14:06:52.954-07:00</updated><title type='text'>Why I love John Cheever</title><content type='html'>&lt;blockquote&gt;We got permission from a swimming instructor and swam across the lake. &amp;nbsp;We used a clumsy side stroke that still seems more serviceable to me than the overhand that is obligatory these days in those swimming pools where I spend most of my time. &amp;nbsp;The side stroke is lower class. &amp;nbsp;I've seen it once in a swimming pool, and when I asked who the swimmer was I was told he was the butler.&lt;/blockquote&gt;&lt;br /&gt;from The Jewels of the Cabots&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-2487399142762998003?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/2487399142762998003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/why-i-love-john-cheever.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2487399142762998003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2487399142762998003'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/why-i-love-john-cheever.html' title='Why I love John Cheever'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-2838982638757022164</id><published>2010-03-25T12:39:00.000-07:00</published><updated>2010-03-25T12:39:18.311-07:00</updated><title type='text'>High Frequency Trading</title><content type='html'>&lt;a href="http://www.reuters.com/article/idUSN173583920091202"&gt;Reuters&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bloomberg.com/apps/news?pid=20601087&amp;amp;sid=aZwoslIGa5JQ"&gt;Bloomberg&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.thedailyshow.com/watch/wed-september-30-2009/cash-cow---high-frequency-trading"&gt;Daily Show&lt;/a&gt;&amp;nbsp;(the best one, of course)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-2838982638757022164?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/2838982638757022164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/high-frequency-trading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2838982638757022164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2838982638757022164'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/high-frequency-trading.html' title='High Frequency Trading'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6236814652737028640</id><published>2010-03-23T19:29:00.001-07:00</published><updated>2010-03-23T19:29:55.316-07:00</updated><title type='text'>John Cheever essay</title><content type='html'>&lt;a href="http://www.nybooks.com/articles/23772"&gt;http://www.nybooks.com/articles/23772&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One of my favorite short story writers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6236814652737028640?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6236814652737028640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/john-cheever-essay.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6236814652737028640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6236814652737028640'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/john-cheever-essay.html' title='John Cheever essay'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-7884682872223557828</id><published>2010-03-14T11:59:00.000-07:00</published><updated>2010-03-14T11:59:13.869-07:00</updated><title type='text'>latex vphantom</title><content type='html'>In LaTeX you can insert an invisible character, e.g. 'A', by using \vphantom{A}. &amp;nbsp;This is useful on Beamer slides when you are incrementally uncovering a proof. &amp;nbsp;Without the phantom letter the proof will wobble as it's uncovered.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-7884682872223557828?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/7884682872223557828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/latex-vphantom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7884682872223557828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7884682872223557828'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/latex-vphantom.html' title='latex vphantom'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5006888445526863365</id><published>2010-03-14T11:31:00.001-07:00</published><updated>2010-03-14T11:31:56.388-07:00</updated><title type='text'>Smackdown</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;From the Pittsburgh parking authority website:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', Times, serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', Times, serif;"&gt;&lt;b&gt;Q. I utilize the Parking Authority metered lots pretty often. I noticed that the signs say, "Head in Parking Only." What is the reason for that?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', Times, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', Times, serif;"&gt;A. That rule is in accordance with City of Pittsburgh Ordinance #545.03 which states "…All vehicles shall be parked head-in unless otherwise posted…"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', Times, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Times New Roman', Times, serif;"&gt;Thus, the answer to a good question is "because I said so". &amp;nbsp; Anyone know what the real reason is?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5006888445526863365?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5006888445526863365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/smackdown.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5006888445526863365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5006888445526863365'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/smackdown.html' title='Smackdown'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-126536378976611489</id><published>2010-03-09T14:18:00.000-08:00</published><updated>2010-03-09T14:18:04.054-08:00</updated><title type='text'>Haskell profiler with -O2</title><content type='html'>I had a puzzling Haskell experience today. &amp;nbsp;I was profiling a program and was curious about a function 'new'. &amp;nbsp;The profiler said it was called 29 times, though I found that hard to believe. &amp;nbsp; I added a print statement that showed it is called twice. &amp;nbsp;After being confused for awhile, I finally realized it might be an effect due to the optimizer. &amp;nbsp;I turned optimizations off (-O2 to -O0) and it went back to 2 calls. &amp;nbsp;I don't fully understand the so-called Constant Applicative Form (CAF) centers, but I'm still surprised, even with aggressive inlining that it could occur so frequently. &amp;nbsp;Perhaps it can still count as a call if the inlined body is in a (partially evaluated) thunk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-126536378976611489?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/126536378976611489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/haskell-profiler-with-o2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/126536378976611489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/126536378976611489'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/haskell-profiler-with-o2.html' title='Haskell profiler with -O2'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4015046414456991628</id><published>2010-03-04T04:29:00.000-08:00</published><updated>2010-03-04T04:29:08.691-08:00</updated><title type='text'>Aging</title><content type='html'>&lt;a href="http://www.nytimes.com/2010/03/02/health/02case.html?em"&gt;A nice short piece on aging&lt;/a&gt;, quoting Longfellow (&lt;a href="http://www.poetryfoundation.org/archive/poem.html?id=173905"&gt;full poem is here&lt;/a&gt;)&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;span class="Apple-style-span" style="font-family: verdana, arial, sans-serif; line-height: 18px;"&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;What then? Shall we sit idly down and say&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The night hath come; it is no longer day?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The night hath not yet come; we are not quite&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Cut off from labor by the failing light;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Something remains for us to do or dare;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Even the oldest tree some fruit may bear;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Not Oedipus Coloneus, or Greek Ode,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Or tales of pilgrims that one morning rode&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Out of the gateway of the Tabard Inn,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;But other something, would we but begin;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;For age is opportunity no less&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Than youth itself, though in another dress,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;And as the evening twilight fades away&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left: 1em; text-indent: -1em;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The sky is filled with stars, invisible by day.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4015046414456991628?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4015046414456991628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/aging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4015046414456991628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4015046414456991628'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/aging.html' title='Aging'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1196341494408957571</id><published>2010-03-01T15:33:00.001-08:00</published><updated>2010-03-01T15:33:44.167-08:00</updated><title type='text'>The Capitol Hill Babysitting Coop</title><content type='html'>Interesting true story.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Capitol_Hill_Baby-Sitting_Co-op"&gt;http://en.wikipedia.org/wiki/Capitol_Hill_Baby-Sitting_Co-op&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;I first read about this in Krugman's Return of Depression Economics. &amp;nbsp;More&lt;br /&gt;details are here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://faculty.wcas.northwestern.edu/~mwitte/B01/handouts/sweeneys.html"&gt;http://faculty.wcas.northwestern.edu/~mwitte/B01/handouts/sweeneys.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1196341494408957571?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1196341494408957571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/capitol-hill-babysitting-coop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1196341494408957571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1196341494408957571'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/03/capitol-hill-babysitting-coop.html' title='The Capitol Hill Babysitting Coop'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-156666248775861142</id><published>2010-02-28T05:54:00.003-08:00</published><updated>2010-02-28T05:54:10.760-08:00</updated><title type='text'>Paul Krugman</title><content type='html'>&lt;a href="http://www.newyorker.com/reporting/2010/03/01/100301fa_fact_macfarquhar"&gt;in the New Yorker&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-156666248775861142?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/156666248775861142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/paul-krugman.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/156666248775861142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/156666248775861142'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/paul-krugman.html' title='Paul Krugman'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-7176999069099436859</id><published>2010-02-25T08:42:00.000-08:00</published><updated>2010-02-25T08:42:51.898-08:00</updated><title type='text'>Mark Twain on risk analysis</title><content type='html'>Another post blatantly stolen from Schneier. &amp;nbsp;It's just so funny, and apt since I'm reading a lot about risk for my upcoming job. &amp;nbsp;&lt;a href="http://www.schneier.com/"&gt;His blog is here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;From&amp;nbsp;&lt;a href="http://www.twainquotes.com/Galaxy/187102d.html" style="color: #2244bb;" target="_blank"&gt;1871&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;I hunted up statistics, and was amazed to find that after all the glaring newspaper headings concerning railroad disasters, less than three hundred people had really lost their lives by those disasters in the preceding twelve months. The Erie road was set down as the most murderous in the list. It had killed forty-six—or twenty-six, I do not exactly remember which, but I know the number was double that of any other road. But the fact straightway suggested itself that the Erie was an immensely long road, and did more business than any other line in the country; so the double number of killed ceased to be matter for surprise.By further figuring, it appeared that between New York and Rochester the Erie ran eight passenger trains each way every day—sixteen altogether; and carried a daily average of 6,000 persons. That is about a million in six months—the population of New York city. Well, the Erie kills from thirteen to twenty-three persons out of its million in six months; and in the same time 13,000 of New York's million die in their beds! My flesh crept, my hair stood on end. "This is appalling!" I said. "The danger isn't in travelling by rail, but in trusting to those deadly beds. I will never sleep in a bed again."&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-7176999069099436859?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/7176999069099436859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/mark-twain-on-risk-analysis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7176999069099436859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7176999069099436859'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/mark-twain-on-risk-analysis.html' title='Mark Twain on risk analysis'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5118903776445710911</id><published>2010-02-25T08:38:00.000-08:00</published><updated>2010-02-25T08:43:18.533-08:00</updated><title type='text'>School laptop spying</title><content type='html'>&lt;a href="http://www.philly.com/philly/news/homepage/20100219_Student_claims_school_spied_on_him_via_computer_webcam.html"&gt;This is frightening.&lt;/a&gt;&amp;nbsp;&amp;nbsp;School officials could turn on the laptop camera of school-issued laptops and used this capability to spy on students at home. &amp;nbsp;(From Bruce Schneier's blog.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5118903776445710911?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5118903776445710911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/school-laptop-spying.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5118903776445710911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5118903776445710911'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/school-laptop-spying.html' title='School laptop spying'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3090574097624670085</id><published>2010-02-24T15:36:00.000-08:00</published><updated>2010-02-24T15:36:13.283-08:00</updated><title type='text'>My favorite T-shirt logo</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://rlv.zcache.com/cellular_level_tee_tshirt-p235413374016152650az3c7_210.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://rlv.zcache.com/cellular_level_tee_tshirt-p235413374016152650az3c7_210.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Spotted in the Whole Foods parking lot: "It might look like I'm doing nothing, but at the cellular level I'm really quite busy."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3090574097624670085?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3090574097624670085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/my-favorite-t-shirt-logo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3090574097624670085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3090574097624670085'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/my-favorite-t-shirt-logo.html' title='My favorite T-shirt logo'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3643162466539486230</id><published>2010-02-24T12:38:00.000-08:00</published><updated>2010-03-29T05:55:04.041-07:00</updated><title type='text'>A blessing undisguised</title><content type='html'>I'm reading the latest edition of &lt;span class="goog-spellcheck-word" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: yellow; background-image: initial; background-repeat: initial;"&gt;Strunk&lt;/span&gt; and White. &amp;nbsp;Here are a few nice lines:&lt;br /&gt;&lt;br /&gt;* It is an old observation that the best writers sometimes disregard the rules of rhetoric. &amp;nbsp;When they do so, however, the reader will usually find in the sentence some compensating merit, attained at the cost of the violation. &amp;nbsp;Unless he is certain of doing as well, he will probably do best to follow the rules. &amp;nbsp;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; color: #000020;"&gt;After he has learned, by their guidance, to write plain English adequate for everyday uses, let him look, for the secrets of style, to the study of the masters of literature.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* All through The Elements of Style one finds evidences of the author's deep sympathy for the reader. &amp;nbsp;Will felt that the reader was in serious trouble most of the time, a man floundering in a swamp, and that it was the duty of anyone attempting to write English to drain this swamp quickly and get his man up on dry ground, or at least throw him a rope.&lt;br /&gt;&lt;br /&gt;* Understanding is that penetrating quality of knowledge that grows from theory, practice, conviction, assertion, error, and humiliation.&lt;br /&gt;&lt;br /&gt;*&amp;nbsp;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Note, in the examples above, that when a sentence is made stronger, it usually becomes shorter. Thus, brevity is a by-product of vigor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;* Transpire. &amp;nbsp;Not to be used in the sense of "happen," "come to pass." &amp;nbsp;Many writers so use it (&lt;i&gt;usually when groping toward imagined elegance&lt;/i&gt;), ... &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;* Avoid the use of qualifiers. &amp;nbsp;Rather, very, little, pretty---these are the leeches that infest the pond of prose, sucking the blood of words.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3643162466539486230?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3643162466539486230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/blessing-undisguised.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3643162466539486230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3643162466539486230'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/blessing-undisguised.html' title='A blessing undisguised'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1391720917487652375</id><published>2010-02-22T05:52:00.001-08:00</published><updated>2010-02-22T05:52:54.181-08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.nytimes.com/2010/02/21/opinion/21bayh.html?pagewanted=3&amp;amp;em"&gt;Evan Bayh's NY Times editorial on why he's leaving the Senate.&lt;/a&gt;&amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1391720917487652375?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1391720917487652375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/evan-bayhs-ny-times-editorial-on-why.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1391720917487652375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1391720917487652375'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/evan-bayhs-ny-times-editorial-on-why.html' title=''/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8509561613724045565</id><published>2010-02-18T17:17:00.000-08:00</published><updated>2010-02-18T17:17:16.777-08:00</updated><title type='text'>Credit card fees</title><content type='html'>&lt;a href="http://www.nytimes.com/2010/01/05/your-money/credit-and-debit-cards/05visa.html?pagewanted=1&amp;amp;em"&gt;Interesting article&lt;/a&gt;&amp;nbsp;about the perverse economics of credit cards. &amp;nbsp; &amp;nbsp;The article focuses mostly on the distinction between signature debit and pin debit, but the problem seems to apply to the industry as a whole. &amp;nbsp;To make the discussion clear, here are some definitions:&lt;br /&gt;&lt;br /&gt;1) Consumer = a customer of a merchant (e.g.&amp;nbsp;you or me)&lt;br /&gt;2) Merchant = a customer of both a bank and Visa&amp;nbsp;(e.g. WalMart, etc)&lt;br /&gt;3) Bank = a bank that issues credit and debit cards.&lt;br /&gt;4) Visa = a (publicly traded) company that controls the electronic payment infrastructure (e.g. Visa, Mastercard)&lt;br /&gt;5) Card = a credit or debit card&lt;br /&gt;&lt;br /&gt;Some axioms:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;1) Merchants, banks and Visa want to make lots of money.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;2) When a consumer uses a card at a merchant's store, the merchant must pay two fees.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp;a) a small fee to use the Visa network (about 5 cents)&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp;b) a large fee to the consumer's bank, (about 1-3% of the purchase price)&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp;Visa sets both fees (a) and (b)&lt;/div&gt;&lt;div&gt;3) Visa does not issue cards. &amp;nbsp; Only banks do that.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Now for some simple inference.&lt;br /&gt;&lt;br /&gt;By (1), merchants want low fees, banks want high fees. &amp;nbsp;By (1) and (2) Visa wants as many consumers&lt;br /&gt;using Visa cards as possible. &amp;nbsp;By (3) Visa's customers are really the banks, not the consumers. &amp;nbsp;Visa wants banks to issue more Visa cards. &amp;nbsp;Therefore, Visa has an incentive to raise their fees, thus attracting banks that want to make those higher fees. &lt;br /&gt;&lt;br /&gt;Visa can't set the fees too high or merchants will revolt and refuse to accept cards. &amp;nbsp;But now Visa and Mastercard are in some kind of reverse competition: who can set their rates the highest without a revolt from merchants. &lt;br /&gt;&lt;br /&gt;If this were a free market, one could imagine creating a new Visa-like company (with the associated infrastructure) and drop the bank fee to cover the cost to the banks of supplying the cards. &amp;nbsp;Here the consumers and merchants benefit from the competition, rather than the banks and Visa. &amp;nbsp; Unfortunately, the card must be attached somehow to the bank account, and only the bank can do that. &amp;nbsp;So it seems there is a big problem with this market. &amp;nbsp;Perhaps this could be circumvented in the future if everyone has a PayPal-like account and all the transactions take place directly over the internet. &amp;nbsp;I can imagine some kind of authentication device being used, part of a phone say. &amp;nbsp;Merchants could give a small discount to use the PayPal (non-Visa) system. &amp;nbsp;The banks could fight this of course, but it seems like a possibility for the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8509561613724045565?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8509561613724045565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/credit-card-fees.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8509561613724045565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8509561613724045565'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/credit-card-fees.html' title='Credit card fees'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8495631053741399644</id><published>2010-02-18T15:54:00.001-08:00</published><updated>2010-02-18T15:54:39.328-08:00</updated><title type='text'>Emacs word search</title><content type='html'>One nice feature of Emacs for editing TeX documents is called word-search. &amp;nbsp;When you're looking at your typeset document and want to go to a particular place, you can simply do a search for the text around the location. &amp;nbsp;Unfortunately, you don't know where the line breaks are in the file, and thus this simple strategy will fail. &amp;nbsp;If you use word-search-forward (or C-s RET C-w WORDS) Emacs will build a regular expression that ignores both space and punctuation and go to the correct spot. &amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For example, if the pdf file says&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The quick brown fox, jumped over the lazy dog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;but the text file has&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The quick brown&lt;/div&gt;&lt;div&gt;fox,&lt;/div&gt;&lt;div&gt;jumped&lt;/div&gt;&lt;div&gt;over the lazy dog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and you word-search for&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"brown fox jumped"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;it will jump to the right spot.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8495631053741399644?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8495631053741399644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/emacs-word-search.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8495631053741399644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8495631053741399644'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/emacs-word-search.html' title='Emacs word search'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6761207168200505748</id><published>2010-02-16T13:05:00.000-08:00</published><updated>2010-02-16T13:05:10.389-08:00</updated><title type='text'>Typo rant</title><content type='html'>&lt;a href="http://www.indystar.com/article/20100216/NEWS05/100216012/Replacing-Bayh-2-GOP-candidates-officially-in-2-Dems-out"&gt;In this article&lt;/a&gt;&amp;nbsp;from the most important newspaper in Indiana, there are two typos in three adjacent words. &amp;nbsp;Do they even use spellcheckers in journalism anymore? &amp;nbsp;I've noticed a number of typos on the NY times website recently, but this one takes first prize.&lt;br /&gt;&lt;blockquote&gt;"D’Ippolito needed 500 signaures of registerd voters in each of Indiana’s nine congressional districts."&lt;/blockquote&gt;I wonder if non-profit organizations like &lt;a href="http://www.propublica.org/"&gt;ProPublica&lt;/a&gt;&amp;nbsp;will be able to take care of these dinosaurs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6761207168200505748?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6761207168200505748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/typo-rant.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6761207168200505748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6761207168200505748'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/typo-rant.html' title='Typo rant'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-7796928571830237870</id><published>2010-02-16T04:29:00.000-08:00</published><updated>2010-02-16T04:29:33.683-08:00</updated><title type='text'>Verizon</title><content type='html'>This is clearly one of the companies people mean when they rail against large corporations. &amp;nbsp;I cancelled my service last month to switch to ATT. &amp;nbsp;Because I cancelled on Jan 15, but my "cycle" began on Jan 12 I was charged a full month of fees. &amp;nbsp;They're just evil. &amp;nbsp;As more evidence, a whistleblower recently gave the New York Times damning evidence about how they deliberately design their phones so it's easy to get overcharged by accidentally accessing the internet. &amp;nbsp;As usual in the US, caveat emptor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-7796928571830237870?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/7796928571830237870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/verizon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7796928571830237870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7796928571830237870'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/verizon.html' title='Verizon'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4036632853480556852</id><published>2010-02-04T12:27:00.001-08:00</published><updated>2010-02-04T12:27:49.073-08:00</updated><title type='text'>Interesting article from a former Microsoft VP</title><content type='html'>&lt;a href="http://www.nytimes.com/2010/02/04/opinion/04brass.html?em"&gt;http://www.nytimes.com/2010/02/04/opinion/04brass.html?em&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4036632853480556852?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4036632853480556852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/interesting-article-from-former.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4036632853480556852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4036632853480556852'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/interesting-article-from-former.html' title='Interesting article from a former Microsoft VP'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4856408847085570058</id><published>2010-02-01T13:31:00.000-08:00</published><updated>2010-02-02T03:30:45.171-08:00</updated><title type='text'>Toyota acceleration</title><content type='html'>I've been reading about new Toyotas accelerating out of control and killing everyone inside. &amp;nbsp;(Imagine that the car just starts accelerating and you can do nothing to stop the acceleration.) &amp;nbsp;I was imagining how scary it must be, and what you're suppose to do when it happens. &amp;nbsp; Here are the best ideas I've seen.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Turn the engine off. &amp;nbsp;&lt;/li&gt;&lt;li&gt;Put the car in neutral.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;It's obviously hard to remember this when it's happening. &amp;nbsp;Solution 1 is a bit scary since you would lose your power breaks and power steering. &amp;nbsp;If you're going fast the steering wouldn't be a big deal, but I'd be nervous about the breaks. &amp;nbsp;Is there even a physical connection between the break pedal and the actual breaks in modern vehicles? &amp;nbsp;&amp;nbsp;&amp;nbsp;Solution 1 is problematic for new cars with keyless ignition. &amp;nbsp;&lt;br /&gt;&lt;br /&gt;Solution 2 will destroy your engine, but not you. &amp;nbsp;A benefit of a manual transmission is that it is easy. &amp;nbsp;In fact, just push the clutch in. &amp;nbsp;I'm not sure if it's always possible with an automatic. &amp;nbsp;I know on my mom's accord there is a locking mechanism to keep you from putting it in reverse when you're moving forward, but I don't think it applies to neutral. &amp;nbsp;It seems low-tech cars are the way to go. &amp;nbsp;One reason to stick with my &amp;nbsp;1998 Civic. &amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4856408847085570058?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4856408847085570058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/toyota-acceleration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4856408847085570058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4856408847085570058'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/02/toyota-acceleration.html' title='Toyota acceleration'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-9051968023704737896</id><published>2010-01-30T05:52:00.001-08:00</published><updated>2010-01-30T05:52:36.488-08:00</updated><title type='text'>Nice article</title><content type='html'>&lt;a href="http://www.nytimes.com/2010/01/28/garden/28bowe.html?em"&gt;http://www.nytimes.com/2010/01/28/garden/28bowe.html?em&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-9051968023704737896?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/9051968023704737896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/nice-article.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/9051968023704737896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/9051968023704737896'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/nice-article.html' title='Nice article'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6758246892838745071</id><published>2010-01-25T15:58:00.000-08:00</published><updated>2010-01-25T15:59:28.340-08:00</updated><title type='text'>Gripping article about John Paul Stevens and today's court</title><content type='html'>&lt;a href="http://www.nytimes.com/2010/01/26/us/26bar.html?hp"&gt;http://www.nytimes.com/2010/01/26/us/26bar.html?hp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Highlight:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 15px; line-height: 22px;"&gt;&lt;nyt_text&gt;&lt;/nyt_text&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Thursday’s decision in the Citizens United case was more full-throated.&lt;/blockquote&gt;&lt;blockquote&gt;“The majority blazes through our precedents,” he wrote, “overruling or disavowing a body of case law” that included seven decisions.&lt;/blockquote&gt;&lt;blockquote&gt;Justice Stevens, who served in the Navy during World War II, reached back to those days to show the depth of his outrage at the majority’s conclusion that the government may not make legal distinctions based on whether a corporation or a person was doing the speaking.&lt;/blockquote&gt;&lt;blockquote&gt;“Such an assumption,” he wrote, “would have accorded the propaganda broadcasts to our troops by ‘Tokyo Rose’ during World War II the same protection as speech by Allied commanders.”&lt;/blockquote&gt;&lt;blockquote&gt;The reference to Tokyo Rose was probably lost on many of Justice Steven’s readers. But the concluding sentence of what may be his last major dissent could not have been clearer.&lt;/blockquote&gt;&lt;blockquote&gt;“While American democracy is imperfect,” he wrote, “few outside the majority of this court would have thought its flaws included a dearth of corporate money in politics.”&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;nyt_update_bottom&gt;&lt;/nyt_update_bottom&gt;&lt;div class="nextArticleLink clearfix" style="clear: both; display: block; font-family: arial, helvetica, sans-serif; font-size: 14px; font-weight: bold; margin-bottom: 4px; margin-left: 0px; margin-right: 0px; margin-top: 4px; text-decoration: none;"&gt;&lt;span class="timespeople_btn_recommend" style="color: #aaaaaa; float: right; font-size: 11px; font-weight: normal; line-height: 1.4em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 8px; width: 350px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6758246892838745071?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6758246892838745071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/gripping-article-about-john-paul.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6758246892838745071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6758246892838745071'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/gripping-article-about-john-paul.html' title='Gripping article about John Paul Stevens and today&apos;s court'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4232040929622307169</id><published>2010-01-24T14:53:00.000-08:00</published><updated>2010-01-24T14:53:10.472-08:00</updated><title type='text'>Whale Rescue</title><content type='html'>This is amazing. &amp;nbsp;Listen to the latest RadioLab, "Animal Minds" where they talk about the daring rescue of a humpback whale in San Francisco:&lt;br /&gt;&lt;br /&gt;http://blogs.wnyc.org/radiolab/2010/01/12/animal-minds/&lt;br /&gt;&lt;br /&gt;Here is video:&lt;br /&gt;&lt;br /&gt;http://www.youtube.com/watch?v=G9fVEz5d4HU&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4232040929622307169?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4232040929622307169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/whale-rescue.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4232040929622307169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4232040929622307169'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/whale-rescue.html' title='Whale Rescue'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6840643296933758518</id><published>2010-01-24T06:05:00.000-08:00</published><updated>2010-01-24T06:05:16.366-08:00</updated><title type='text'>Wow</title><content type='html'>&lt;a href="http://www.nytimes.com/2010/01/24/opinion/24kristof.html?hp=&amp;amp;adxnnl=1&amp;amp;adxnnlx=1264341678-qmkgZ3W4dgvM+sPD7MR+kA"&gt;The power of half.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6840643296933758518?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6840643296933758518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/wow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6840643296933758518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6840643296933758518'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/wow.html' title='Wow'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-9025350403221286214</id><published>2010-01-21T07:42:00.000-08:00</published><updated>2010-01-21T07:42:28.897-08:00</updated><title type='text'>Fringe mode in Emacs</title><content type='html'>My latest Emacs update added an annoying property whereby the space in a buffer after the EOF marker had dots on the left to show me that the file had ended. &amp;nbsp;Thus, in a one line file, I'd open it and see the one line, and 100 lines of dots on the left margin. &amp;nbsp;Really annoying. &amp;nbsp;The problem is it's hard to figure out how to turn it off. &amp;nbsp;I googled "emacs dots eof", but I got nothing but "dot-emacs" sites. &amp;nbsp;I asked on the excellent #emacs IRC channel, and some kind soul (shabble) pointed out it's called "fringe-mode". &amp;nbsp;You can turn it off with (fringe-mode 'none).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-9025350403221286214?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/9025350403221286214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/fringe-mode-in-emacs.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/9025350403221286214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/9025350403221286214'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/fringe-mode-in-emacs.html' title='Fringe mode in Emacs'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6442300751890451759</id><published>2010-01-20T09:47:00.000-08:00</published><updated>2010-01-20T09:47:28.652-08:00</updated><title type='text'>The Inverse Method for the Simulation of Consciousness?</title><content type='html'>&lt;a href="http://www.philosophy.ru/library/ksl/kate004.html"&gt;This paper has a great title.&lt;/a&gt;&amp;nbsp;&amp;nbsp;I wish I had such confidence in the inverse method. &amp;nbsp;It may make working on my thesis a more exciting prospect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6442300751890451759?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6442300751890451759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/inverse-method-for-simulation-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6442300751890451759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6442300751890451759'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/inverse-method-for-simulation-of.html' title='The Inverse Method for the Simulation of Consciousness?'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-7763562705978220460</id><published>2010-01-16T06:36:00.000-08:00</published><updated>2010-01-16T06:36:49.377-08:00</updated><title type='text'>Antiaging</title><content type='html'>&lt;a href="http://www.nytimes.com/2010/01/17/magazine/17antiaging-t.html"&gt;The antiaging debate is on.&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Interesting passages:&lt;br /&gt;&lt;br /&gt;Comite left a tenure-track position at Yale because she became&lt;br /&gt;frustrated with what she saw as medicine’s red tape and tunnel vision.&lt;br /&gt;One galvanizing moment involved a woman named Vivian, who had a badly&lt;br /&gt;scarred uterus and who had tried repeated in vitro fertilizations&lt;br /&gt;without success. She came to see Comite at Yale, still hoping to have&lt;br /&gt;a child, but failed to conceive. At wit’s end, Vivian consulted an&lt;br /&gt;acupuncturist. She became pregnant after only a few treatments. &amp;nbsp;“I&lt;br /&gt;would swear on a stack of Bibles and all my oaths there was no way&lt;br /&gt;that woman could conceive,” Comite says. “That experience turned me&lt;br /&gt;into an open-minded skeptic.”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Every year, Life gets a new set of beefcake photos taken. Now 71, he&lt;br /&gt;said he put on five pounds of muscle this past year by scheduling&lt;br /&gt;extra tae kwon do practices and cranking it up a notch in the weight&lt;br /&gt;room. He can bench-press 235 pounds and can do 10 pull-ups, “full&lt;br /&gt;extension.” &amp;nbsp;His age-management program could fill a spreadsheet. Life&lt;br /&gt;began reciting from memory: 1,000 milligrams of calcium daily,&lt;br /&gt;coenzyme Q10 pills twice a day, 5,000 units of vitamin D, 4 grams of&lt;br /&gt;fish oil, 10 milligrams of melatonin at bedtime, a testosterone&lt;br /&gt;injection once a week, human-growth hormone once a day. “That reminds&lt;br /&gt;me,” he said, reaching into his desk drawer. “I’ve got to give myself&lt;br /&gt;a shot.” &amp;nbsp;He pulled out a syringe, loaded up on human-growth hormone,&lt;br /&gt;raised a pants leg and stuck the needle into his left thigh.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-7763562705978220460?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/7763562705978220460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/antiaging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7763562705978220460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7763562705978220460'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/antiaging.html' title='Antiaging'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-2217831321790500383</id><published>2010-01-12T18:56:00.000-08:00</published><updated>2010-01-12T18:56:39.232-08:00</updated><title type='text'>Unicode in an Emacs shell</title><content type='html'>My current project is a Haskell program that generates a lot of unicode that gets dumped to the screen. &amp;nbsp;I occasionally need to sift through the output. My usual method is to run a terminal in an emacs buffer (via M-x shell) and run the command line program generated from Haskell through that shell. &lt;br /&gt;&lt;br /&gt;I was recently frustrated when I updated from Emacs 22 to Emacs 23. &amp;nbsp;While the unicode support is much better in general in Emacs 23, the shell stopped printing the unicode correctly. &amp;nbsp;After lots of false starts, I finally found that you need to run the following command:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;M-x set-buffer-process-coding-system&lt;/blockquote&gt;with mule-utf-8 for both input and output. &amp;nbsp;Or add&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;(set-buffer-process-coding-system 'mule-utf-8 'mule-utf-8)&lt;/blockquote&gt;&lt;br /&gt;to the shell-mode-hook. &amp;nbsp;Then the unicode prints correctly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-2217831321790500383?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/2217831321790500383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/unicode-in-emacs-shell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2217831321790500383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2217831321790500383'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2010/01/unicode-in-emacs-shell.html' title='Unicode in an Emacs shell'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6314069372394486048</id><published>2009-12-22T07:03:00.000-08:00</published><updated>2009-12-22T07:03:31.451-08:00</updated><title type='text'>HP computers are racist</title><content type='html'>&lt;a href="http://www.youtube.com/watch?v=t4DT3tQqgRM"&gt;This is unbelievable!&lt;/a&gt;&amp;nbsp;&amp;nbsp;The face recognition software on HP computers will track a white face, but not a black one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6314069372394486048?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6314069372394486048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/hp-computers-are-racist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6314069372394486048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6314069372394486048'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/hp-computers-are-racist.html' title='HP computers are racist'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5662136458354400489</id><published>2009-12-19T16:17:00.001-08:00</published><updated>2009-12-19T16:17:37.191-08:00</updated><title type='text'>The bus comes for those who wait.</title><content type='html'>&lt;a href="http://www.nytimes.com/2009/12/20/arts/design/20herrera.html?_r=1&amp;amp;hp"&gt;Carmen Herrera&lt;/a&gt;&amp;nbsp;sold her first painting in 2004 at age 89. &amp;nbsp;Now she's a super star.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5662136458354400489?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5662136458354400489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/bus-comes-for-those-who-wait.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5662136458354400489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5662136458354400489'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/bus-comes-for-those-who-wait.html' title='The bus comes for those who wait.'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4807733776262207304</id><published>2009-12-18T06:24:00.001-08:00</published><updated>2009-12-18T06:26:35.785-08:00</updated><title type='text'>Draw a symbol and find it's LaTeX name</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_CD1S8PprWx0/SyuQs4HzJRI/AAAAAAAAA6c/30v6SQO_oCI/s1600-h/Picture%201.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_CD1S8PprWx0/SyuQs4HzJRI/AAAAAAAAA6c/30v6SQO_oCI/s400/Picture%201.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4807733776262207304?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4807733776262207304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/draw-symbol-and-find-its-latex-name.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4807733776262207304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4807733776262207304'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/draw-symbol-and-find-its-latex-name.html' title='Draw a symbol and find it&apos;s LaTeX name'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_CD1S8PprWx0/SyuQs4HzJRI/AAAAAAAAA6c/30v6SQO_oCI/s72-c/Picture%201.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-41922272746086143</id><published>2009-12-15T19:10:00.000-08:00</published><updated>2009-12-15T19:10:38.727-08:00</updated><title type='text'>Octopuses build shelters</title><content type='html'>&lt;a href="http://www.wired.com/wiredscience/2009/12/octopus-tools/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+wired%2Findex+%28Wired%3A+Index+3+%28Top+Stories+2%29%29"&gt;Amazing.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-41922272746086143?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/41922272746086143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/octopuses-build-shelters.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/41922272746086143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/41922272746086143'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/octopuses-build-shelters.html' title='Octopuses build shelters'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-2463352585724318371</id><published>2009-12-10T11:11:00.001-08:00</published><updated>2009-12-10T11:11:39.469-08:00</updated><title type='text'>An investment banker's plan B</title><content type='html'>&lt;span style="font-family: 'Lucida Grande';"&gt;&lt;a href="http://www.mcsweeneys.net/2009/12/9coster.html"&gt;A fun read&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-2463352585724318371?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/2463352585724318371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/investment-bankers-plan-b.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2463352585724318371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2463352585724318371'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/investment-bankers-plan-b.html' title='An investment banker&apos;s plan B'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4292163552388141077</id><published>2009-12-08T07:04:00.001-08:00</published><updated>2009-12-08T07:04:18.196-08:00</updated><title type='text'>Global seed vault</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Svalbard_Global_Seed_Vault"&gt;Interesting.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4292163552388141077?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4292163552388141077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/global-seed-vault.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4292163552388141077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4292163552388141077'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/global-seed-vault.html' title='Global seed vault'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5093477414645011194</id><published>2009-12-01T18:41:00.000-08:00</published><updated>2009-12-01T18:41:24.936-08:00</updated><title type='text'>Inspirational</title><content type='html'>I hadn't heard of&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Ida_M._Tarbell"&gt;Ida Tarbell&lt;/a&gt;&amp;nbsp;until I read Simon Johnson's &lt;a href="http://baselinescenario.com/2009/12/01/feudal-lords-of-finance/"&gt;nice rebuttal&lt;/a&gt;&amp;nbsp;of an argument I've found persuasive in the past.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5093477414645011194?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5093477414645011194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/inspirational.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5093477414645011194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5093477414645011194'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/inspirational.html' title='Inspirational'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-426476772288059273</id><published>2009-12-01T18:35:00.000-08:00</published><updated>2009-12-01T18:36:50.949-08:00</updated><title type='text'>The Pinker-Gladwell debate is entertaining</title><content type='html'>Stephen Pinker and Malcolm Gladwell have been going at it over predictors of success, such as IQ score and a football player's place in the draft.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;T&lt;a href="http://www.gladwell.com/2006/2006_05_22_a_dog.html"&gt;he original article.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nytimes.com/2009/11/15/books/review/Pinker-t.html"&gt;Pinker's response in the NY Times Magazine.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.nytimes.com/2009/11/29/books/review/Letters-t-LETSGOTOTHET_LETTERS.html?_r=2"&gt;Round II in the editorial page.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #0000ee; text-decoration: underline;"&gt;&lt;a href="http://gladwell.typepad.com/gladwellcom/2009/12/pinker-round-two-.html"&gt;Gladwell's response.&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: #0000ee;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-426476772288059273?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/426476772288059273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/pinker-gladwell-debate-is-entertaining.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/426476772288059273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/426476772288059273'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/pinker-gladwell-debate-is-entertaining.html' title='The Pinker-Gladwell debate is entertaining'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6065314488296557591</id><published>2009-12-01T18:03:00.000-08:00</published><updated>2009-12-01T18:03:23.826-08:00</updated><title type='text'>A surprising fact</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Benford's_law"&gt;Benford's Law&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6065314488296557591?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6065314488296557591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/surprising-fact.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6065314488296557591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6065314488296557591'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/12/surprising-fact.html' title='A surprising fact'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5783180998996778008</id><published>2009-11-24T10:23:00.000-08:00</published><updated>2009-11-24T10:23:20.594-08:00</updated><title type='text'></title><content type='html'>Poignant story about a&amp;nbsp;&lt;a href="http://www.nytimes.com/2009/11/24/nyregion/24runaway.html?em"&gt;runaway with Aspbergers&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5783180998996778008?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5783180998996778008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/poignant-story-about-runaway-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5783180998996778008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5783180998996778008'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/poignant-story-about-runaway-with.html' title=''/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-8161671922104404109</id><published>2009-11-21T05:49:00.000-08:00</published><updated>2009-11-21T14:10:36.440-08:00</updated><title type='text'>11/21/09</title><content type='html'>&lt;ul&gt;&lt;li&gt;The &lt;a href="http://www.nytimes.com/2009/11/20/education/20berkeley.html?_r=1&amp;amp;em"&gt;budget cuts at Berkeley&lt;/a&gt; seem to be endangering its prominence. (&lt;a href="http://www.nytimes.com/imagepages/2009/11/20/us/20berkeley_graphic.html"&gt;Some cut data&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/C._I._Lewis"&gt;C. I. Lewis, 20th century logician.&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-8161671922104404109?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/8161671922104404109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/112109.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8161671922104404109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/8161671922104404109'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/112109.html' title='11/21/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-708114277262194770</id><published>2009-11-18T04:14:00.000-08:00</published><updated>2009-11-18T05:12:38.387-08:00</updated><title type='text'>11/18/09</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://online.wsj.com/article/SB125854541908353475.html"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;More pirates&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;. &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Interesting point: &amp;nbsp;"&lt;/span&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;In the attack, the Alabama's crew also took evasive maneuvers and used a new technique to repel pirates: a so-called long-range acoustic device, which emits high-pitched sounds painful to the human ear." &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;&lt;a href="http://www.slate.com/id/2235474/pagenum/all/"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Psychology in the subway&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;. &amp;nbsp;Some interesting tidbits.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #141414; line-height: 14px;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;The more justification that was offered, however, the less likely people were to stand up."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;&lt;span class="Apple-style-span" style="color: #141414; line-height: 14px;"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;"Incidental touching was more likely to occur among same-race, same-sex passengers."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-708114277262194770?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/708114277262194770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/111809.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/708114277262194770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/708114277262194770'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/111809.html' title='11/18/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4496276109168907350</id><published>2009-11-17T05:34:00.000-08:00</published><updated>2009-11-17T17:54:05.404-08:00</updated><title type='text'>11/17/09</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://thinkprogress.org/2009/11/13/republicans-franken-shocked/"&gt;Amanda Terkel: Republicans Are Shocked The Public Is Mad At Them For Voting Against Franken’s Anti-Rape Amendment&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.schneier.com/blog/archives/2009/11/beyond_security.html"&gt;Schneier: Beyond Security Theater&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4496276109168907350?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4496276109168907350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/another-classy-showing-by-congressional.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4496276109168907350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4496276109168907350'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/another-classy-showing-by-congressional.html' title='11/17/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5883485528128077181</id><published>2009-11-15T05:09:00.001-08:00</published><updated>2009-11-15T20:30:16.553-08:00</updated><title type='text'>Articles for 11/15/09</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nytimes.com/2009/11/15/opinion/15kristof.html?_r=1"&gt;Amazing story.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;S&lt;a href="http://www.nytimes.com/2009/11/15/books/review/Pinker-t.html?_r=1"&gt;tephen Pinker bashes Gladwell (as social scientist).&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5883485528128077181?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5883485528128077181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/articles-for-111509.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5883485528128077181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5883485528128077181'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/articles-for-111509.html' title='Articles for 11/15/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-2802644150124509079</id><published>2009-11-14T06:43:00.000-08:00</published><updated>2009-11-21T05:34:36.984-08:00</updated><title type='text'>Palin for president</title><content type='html'>&lt;a href="http://online.wsj.com/article/SB10001424052748704576204574529770560352200.html"&gt;Sarah Palin for president...&lt;/a&gt;&amp;nbsp;&amp;nbsp;My favorite part: She's not as unpopular as John Edwards.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-2802644150124509079?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/2802644150124509079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/what-is-wrong-with-wall-street-journal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2802644150124509079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/2802644150124509079'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/what-is-wrong-with-wall-street-journal.html' title='Palin for president'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-7427598168118551964</id><published>2009-11-14T05:33:00.001-08:00</published><updated>2009-11-14T05:33:46.781-08:00</updated><title type='text'>Fascinating article about the extra costs of being a gay couple</title><content type='html'>&lt;a href="http://www.nytimes.com/2009/10/03/your-money/03money.html?em"&gt;http://www.nytimes.com/2009/10/03/your-money/03money.html?em&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-7427598168118551964?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/7427598168118551964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/fascinating-article-about-extra-costs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7427598168118551964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/7427598168118551964'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/fascinating-article-about-extra-costs.html' title='Fascinating article about the extra costs of being a gay couple'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6255287913504991905</id><published>2009-11-06T16:41:00.001-08:00</published><updated>2009-11-06T16:41:50.511-08:00</updated><title type='text'>Links for 11/6/09</title><content type='html'>&lt;a href="http://www.jasani.org/2008/01/03/testing-haskell-with-quickcheck"&gt;Good QuickCheck tutorial&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6255287913504991905?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6255287913504991905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/links-for-11609.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6255287913504991905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6255287913504991905'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/links-for-11609.html' title='Links for 11/6/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6873824706332687301</id><published>2009-11-06T11:05:00.000-08:00</published><updated>2009-11-06T11:05:11.264-08:00</updated><title type='text'>Profiling + Template Haskell + Cabal</title><content type='html'>Cabal makes building, installing and distributing a Haskell program very easy. &amp;nbsp;Template Haskell makes writing cool pattern matching easy. &amp;nbsp;Profiling makes, well profiling easy. &amp;nbsp;But how can you do all these things together? &amp;nbsp;TH doesn't work well with profiling, so you need to compile twice. &amp;nbsp;Once with no profiling to make regular .hi and .o files. &amp;nbsp;Then again with profiling, renaming the .o and .hi files to .o_p and .hi_p in order to make it work. &amp;nbsp;With Cabal, you can basically do the same thing. &amp;nbsp;Compile once without profiling&lt;br /&gt;&lt;br /&gt;runhaskell Setup.lhs configure --user&lt;br /&gt;runhaskell Setup.lhs build&lt;br /&gt;runhaskell Setup.lhs install&lt;br /&gt;&lt;br /&gt;then again with the following additions to your cabal file, in the ghc-options section:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-prof&lt;br /&gt;-auto-all&lt;br /&gt;-osuf p_o&lt;br /&gt;-hisuf p_hi&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This should build the TH project with profiling support.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6873824706332687301?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6873824706332687301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/profiling-template-haskell-cabal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6873824706332687301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6873824706332687301'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/profiling-template-haskell-cabal.html' title='Profiling + Template Haskell + Cabal'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4998962447015504055</id><published>2009-11-05T06:05:00.000-08:00</published><updated>2009-11-05T06:05:10.929-08:00</updated><title type='text'>Links for 11/5/09</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.nytimes.com/2009/11/04/world/europe/04levistrauss.html?em"&gt;Claude Levi-Strauss obituary&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4998962447015504055?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4998962447015504055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/links-for-11509.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4998962447015504055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4998962447015504055'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/links-for-11509.html' title='Links for 11/5/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-3764150804824034518</id><published>2009-11-01T10:08:00.000-08:00</published><updated>2009-11-01T16:45:09.056-08:00</updated><title type='text'>Quotes for 11/1/09</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: georgia, serif; font-size: 14px; line-height: 24px;"&gt;He’s highly educated – and rather better than a country like this deserves. &amp;nbsp;-- &lt;a href="http://www.theatlantic.com/doc/200910u/gore-vidal"&gt;Gore Vidal&lt;/a&gt; on Barack Obama&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: georgia, serif; font-size: 14px; line-height: 24px;"&gt;God looks after alcoholics, little children, and the United States of America. -- Otto von Bismarck&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: georgia, serif; font-size: 14px; line-height: 24px;"&gt;"I wish you and your family also as to your friend Merry Christmas and a happy New Year and I hope that we'll meet again in a world of peace and freedom in the taxi cab if the accident will." &amp;nbsp; &amp;nbsp;I&amp;nbsp;like that very much: "If the accident will." &amp;nbsp;-- Kurt Vonnegut, Slaughterhouse Five&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: georgia, serif; font-size: 14px; line-height: 24px;"&gt;"The Dresden atrocity, tremendously expensive and meticulously planned, was so meaningless, finally, that only one person on the entire planet got any benefit from it. I am that person. I wrote this book, which earned a lot of money for me and made my reputation, such as it is. One way or another, I got two or three dollars for every person killed. Some business I'm in." -ibid&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: sans-serif, serif; font-size: small;"&gt;&lt;span style="font-size: 12px; line-height: 19px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-3764150804824034518?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/3764150804824034518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/quotes-for-11109.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3764150804824034518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/3764150804824034518'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/quotes-for-11109.html' title='Quotes for 11/1/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-4290583383447365717</id><published>2009-11-01T07:32:00.000-08:00</published><updated>2009-11-01T16:06:25.232-08:00</updated><title type='text'>Links for 11/1/09</title><content type='html'>&lt;a href="http://www.nytimes.com/2009/10/31/opinion/31niman.html?pagewanted=2&amp;amp;em"&gt;Good op-ed&lt;/a&gt;&amp;nbsp;by a rancher against meat demonization. &amp;nbsp;He reiterates Michael Pollan's point that grass fed, organically grown beef has low environmental impact. &amp;nbsp;Far lower than, say, Brazilian soybeans.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Incendiary_device"&gt;&lt;/a&gt;&lt;div&gt;Fact about&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Incendiary_device" style="text-decoration: none;"&gt;Incendiary &lt;/a&gt;bonbs:&lt;/div&gt;&lt;blockquote&gt;Modern incendiary bombs usually contain&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Thermite" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-repeat: initial;" title="Thermite"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;thermite&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;, made from&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Aluminium" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-repeat: initial;" title="Aluminium"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;aluminium&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Iron_(III)_oxide" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-repeat: initial;" title="Iron (III) oxide"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;ferric oxide&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. The most effective formula is 25% aluminium and 75% iron oxide. It takes very high temperatures to ignite, but when alight, it can burn through solid&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Steel" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-repeat: initial;" title="Steel"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;steel&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. In WWII, such devices were employed in incendiary grenades to burn through heavy&amp;nbsp;&lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Armor" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-repeat: initial;" title="Armor"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;armor&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;plate, or as a quick&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Welding" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-repeat: initial;" title="Welding"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;welding&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;mechanism to destroy&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Artillery" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-repeat: initial;" title="Artillery"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="text-decoration: none;"&gt;artillery&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;and other complex machined weapons.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-4290583383447365717?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/4290583383447365717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/links-for-11109.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4290583383447365717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/4290583383447365717'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/11/links-for-11109.html' title='Links for 11/1/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5607384208458944212</id><published>2009-10-31T09:40:00.001-07:00</published><updated>2009-10-31T09:40:27.985-07:00</updated><title type='text'>Quotes for 10/31/09</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;"Everything reminds&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Milton_Friedman" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-position: initial initial; background-repeat: initial; color: #002bb8; text-decoration: none;" title="Milton Friedman"&gt;Milton Friedman&lt;/a&gt;&amp;nbsp;of the money supply. Everything reminds me of sex, but I try to keep it out of my papers." - Robert Solow&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5607384208458944212?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5607384208458944212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/10/quotes-for-103109.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5607384208458944212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5607384208458944212'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/10/quotes-for-103109.html' title='Quotes for 10/31/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-6269716142950999501</id><published>2009-10-30T11:51:00.001-07:00</published><updated>2009-10-30T11:51:32.817-07:00</updated><title type='text'>Siege of Leningrad</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Siege_of_Leningrad"&gt;Siege of Leningrad&lt;/a&gt;. &amp;nbsp;Pointed out in the Yale food course in the lecture on starvation. &amp;nbsp;In the rationing, manual laborers were given about 700 calories per day. &amp;nbsp;Non-manual laborers around 400. &amp;nbsp; Citizens recalled that the paste to put up wallpaper was made of potatoes. &amp;nbsp;Wallpaper was stripped off walls, and the dry paste was scraped into pots and boiled into soup. &amp;nbsp;Leather as well. &amp;nbsp;This was by the end of the first year. &amp;nbsp;The siege lasted another 1.5 years. &amp;nbsp;Then the cannibalism began. &amp;nbsp;After the corpses were eaten, children began disappearing. &amp;nbsp;The government made it illegal to sell fresh meat. &amp;nbsp;Over 1 million deaths by starvation. &amp;nbsp;1.5-3 million overall. &amp;nbsp;After the siege was lifted, it was formally illegal to speak of the cannibalism that took place during the siege.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-6269716142950999501?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/6269716142950999501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/10/siege-of-leningrad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6269716142950999501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/6269716142950999501'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/10/siege-of-leningrad.html' title='Siege of Leningrad'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-1266731613939906246</id><published>2009-10-30T08:54:00.000-07:00</published><updated>2009-10-30T11:51:15.737-07:00</updated><title type='text'>Articles for 10/30/09</title><content type='html'>&lt;ol&gt;&lt;li&gt;Interesting&amp;nbsp;&lt;a href="http://www.wired.com/threatlevel/2009/10/walmart-hack/"&gt;Wal-Mart hack&lt;/a&gt;. &amp;nbsp;How can personal information be so poorly protected by such a massive store?&lt;/li&gt;&lt;li&gt;&lt;a href="http://detexify.kirelabs.org/classify.html"&gt;Draw a symbol&lt;/a&gt;, and get the LaTeX code back.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-1266731613939906246?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/1266731613939906246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/10/articles-for-103009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1266731613939906246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/1266731613939906246'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/10/articles-for-103009.html' title='Articles for 10/30/09'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10416486.post-5650142545718070135</id><published>2009-10-29T17:17:00.000-07:00</published><updated>2009-10-29T17:17:06.944-07:00</updated><title type='text'>Blue footed bubi</title><content type='html'>Who knew?&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.chrisabraham.com/blue-footed-boobies-dance.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://www.chrisabraham.com/blue-footed-boobies-dance.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10416486-5650142545718070135?l=seanthomasmclaughlin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://seanthomasmclaughlin.blogspot.com/feeds/5650142545718070135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/10/blue-footed-bubi.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5650142545718070135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10416486/posts/default/5650142545718070135'/><link rel='alternate' type='text/html' href='http://seanthomasmclaughlin.blogspot.com/2009/10/blue-footed-bubi.html' title='Blue footed bubi'/><author><name>Shawnessy</name><uri>http://www.blogger.com/profile/16613856603034221042</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.cs.cmu.edu/~seanmcl/images/headshot.jpg'/></author><thr:total>2</thr:total></entry></feed>
