<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.simonwillison.net/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en-gb"><title>Simon Willison's Links</title><link href="http://simonwillison.net/" rel="alternate" /><id>http://simonwillison.net/</id><updated>2010-03-20T14:32:23Z</updated><author><name>Simon Willison</name></author><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.simonwillison.net/swn-links" /><feedburner:info uri="swn-links" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><entry><title>Placehold.it
</title><link href="http://simonwillison.net/2010/Mar/20/placeholdit/" rel="alternate" /><updated>2010-03-20T14:32:23Z</updated><id>http://simonwillison.net/2010/Mar/20/placeholdit/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://placehold.it/"&gt;Placehold.it&lt;/a&gt;. Useful dynamic image generator for layout mockups—just drop an image in to a page pointing at http://placehold.it/300x200. Takes optional arguments for text, colour and format as well.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="design" /><category term="images" /><category term="layout" /></entry><entry><title>A quote from Ian Mansfield
</title><link href="http://simonwillison.net/2010/Mar/19/ianvisits/" rel="alternate" /><updated>2010-03-19T11:07:38Z</updated><id>http://simonwillison.net/2010/Mar/19/ianvisits/</id><summary type="html">



&lt;div class="quote segment"&gt;&lt;blockquote cite="http://www.ianvisits.co.uk/blog/2010/03/19/the-night-the-ignobel-awards-came-to-london/"&gt;&lt;p&gt;Each speaker gets five minutes to explain their research, with a human metronome banging a waste bin with a big stick after every minute. After five minutes, an eight-year old girl (last night, actually two twins) walks across the stage and says “Please Stop, I’m Bored” and repeats it until the speaker does indeed stop.&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="cite"&gt; - &lt;a href="http://www.ianvisits.co.uk/blog/2010/03/19/the-night-the-ignobel-awards-came-to-london/"&gt;Ian Mansfield&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;


</summary><category term="conferences" /><category term="ianmansfield" /><category term="ignobels" /><category term="lightningtalks" /></entry><entry><title>webhook-relay
</title><link href="http://simonwillison.net/2010/Mar/19/simonws/" rel="alternate" /><updated>2010-03-19T10:17:44Z</updated><id>http://simonwillison.net/2010/Mar/19/simonws/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://github.com/simonw/webhook-relay"&gt;webhook-relay&lt;/a&gt;. Another of my experiments with Node.js: webhook-relay is a self-contained queue and webhook request sending agent. Your application can POST to it specifying a webhook alert to be sent off, and webhook-relay will place that request in an in-memory queue and send it on its own time, avoiding the need for your main application server to block until the outgoing request has been processed.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="experiments" /><category term="javascript" /><category term="node" /><category term="nodejs" /><category term="projects" /><category term="webhookrelay" /><category term="webhooks" /></entry><entry><title>Twitter, reformatted
</title><link href="http://simonwillison.net/2010/Mar/18/pipes/" rel="alternate" /><updated>2010-03-18T01:10:36Z</updated><id>http://simonwillison.net/2010/Mar/18/pipes/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://pipes.yahoo.com/simonw/twitter"&gt;Twitter, reformatted&lt;/a&gt;. I wrote a Yahoo! Pipe to clean up Twitter’s RSS feeds—removing the username prefix and filtering out items that begin with “@” or “RT”..&lt;/p&gt;
&lt;/div&gt;




</summary><category term="pipes" /><category term="rss" /><category term="twitter" /><category term="yahoopipes" /></entry><entry><title>jsbeautifier.org
</title><link href="http://simonwillison.net/2010/Mar/17/jsbeautifier/" rel="alternate" /><updated>2010-03-17T22:39:28Z</updated><id>http://simonwillison.net/2010/Mar/17/jsbeautifier/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://jsbeautifier.org/"&gt;jsbeautifier.org&lt;/a&gt;. Simple online tool for unpacking and beautifying JavaScript.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="javascript" /><category term="obfuscation" /></entry><entry><title>A quote from Alex Russell
</title><link href="http://simonwillison.net/2010/Mar/17/viewsource/" rel="alternate" /><updated>2010-03-17T22:37:36Z</updated><id>http://simonwillison.net/2010/Mar/17/viewsource/</id><summary type="html">



&lt;div class="quote segment"&gt;&lt;blockquote cite="http://alex.dojotoolkit.org/2010/03/view-source-follow-up/"&gt;&lt;p&gt;If HTML is just another bytecode container and rendering runtime, we’ll have lost part of what made the web special, and I’m afraid HTML will lose to other formats by willingly giving up its differentiators and playing on their turf.&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="cite"&gt; - &lt;a href="http://alex.dojotoolkit.org/2010/03/view-source-follow-up/"&gt;Alex Russell&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;


</summary><category term="alexrussell" /><category term="html" /><category term="javascript" /><category term="viewsource" /></entry><entry><title>The Web Server Benchmarking We Need
</title><link href="http://simonwillison.net/2010/Mar/17/ian/" rel="alternate" /><updated>2010-03-17T10:05:35Z</updated><id>http://simonwillison.net/2010/Mar/17/ian/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://blog.ianbicking.org/2010/03/16/web-server-benchmarking-we-need/"&gt;The Web Server Benchmarking We Need&lt;/a&gt;. Ian Bicking asks for a WSGI benchmark which emphasises error handling over raw performance—can the server keep serving requests if some of them are CPU bound, I/O bound, wedged or cause a segfault?&lt;/p&gt;
&lt;/div&gt;




</summary><category term="benchmarking" /><category term="ianbicking" /><category term="python" /><category term="wsgi" /></entry><entry><title>A quote from Intranet Secrets
</title><link href="http://simonwillison.net/2010/Mar/17/intranet/" rel="alternate" /><updated>2010-03-17T10:02:59Z</updated><id>http://simonwillison.net/2010/Mar/17/intranet/</id><summary type="html">



&lt;div class="quote segment"&gt;&lt;blockquote cite="http://www.intranetsecrets.com/2010/03/860000.html"&gt;&lt;p&gt;We spent $860,000 rebuilding our intranet. The most popular page on the intranet is still the cafeteria menu.&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="cite"&gt; - &lt;a href="http://www.intranetsecrets.com/2010/03/860000.html"&gt;Intranet Secrets&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;


</summary><category term="intranets" /></entry><entry><title>Internet Explorer Platform Preview Guide for Developers
</title><link href="http://simonwillison.net/2010/Mar/16/preview/" rel="alternate" /><updated>2010-03-16T18:36:38Z</updated><id>http://simonwillison.net/2010/Mar/16/preview/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx"&gt;Internet Explorer Platform Preview Guide for Developers&lt;/a&gt; (&lt;a href="http://ie.microsoft.com/testdrive/info/ReleaseNotes/Default.html" title="IE testdrive preview release notes"&gt;via&lt;/a&gt;). Lots of SVG and CSS3 stuff, no mention of canvas here either though.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="canvas" /><category term="css3" /><category term="html5" /><category term="ie" /><category term="ie9" /><category term="microsoft" /><category term="svg" /></entry><entry><title>grant XXX on * ?
</title><link href="http://simonwillison.net/2010/Mar/16/grant/" rel="alternate" /><updated>2010-03-16T18:26:30Z</updated><id>http://simonwillison.net/2010/Mar/16/grant/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://www.depesz.com/index.php/2007/10/19/grantall/"&gt;grant XXX on * ?&lt;/a&gt; (&lt;a href="http://serverfault.com/questions/60508/grant-select-to-all-tables-in-postgresql" title="GRANT SELECT to all tables in postgresql—Server Fault"&gt;via&lt;/a&gt;). PostgreSQL doesn’t have a way to say “this user is allowed to select/update/etc on all tables in database X”. That kind of sucks. UPDATE: This is fixed in PostgreSQL 9, see the comments.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="databases" /><category term="grant" /><category term="permissions" /><category term="postgresql" /><category term="sql" /></entry><entry><title>An Early Look At IE9 for Developers
</title><link href="http://simonwillison.net/2010/Mar/16/ie9/" rel="alternate" /><updated>2010-03-16T18:11:25Z</updated><id>http://simonwillison.net/2010/Mar/16/ie9/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx"&gt;An Early Look At IE9 for Developers&lt;/a&gt; (&lt;a href="http://www.zeldman.com/" title="Jeffrey Zeldman"&gt;via&lt;/a&gt;). Surprisingly, no mention of SVG or canvas and only a note in passing about HTML 5.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="canvas" /><category term="html5" /><category term="ie" /><category term="ie9" /><category term="microsoft" /><category term="svg" /></entry><entry><title>VMware: the new Redis home
</title><link href="http://simonwillison.net/2010/Mar/16/vmware/" rel="alternate" /><updated>2010-03-16T11:26:22Z</updated><id>http://simonwillison.net/2010/Mar/16/vmware/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://antirez.com/post/vmware-the-new-redis-home.html"&gt;VMware: the new Redis home&lt;/a&gt;. Redis creator Salvatore Sanfilippo is joining VMWare to work on Redis full time. Sounds like a good match.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="keyvaluestores" /><category term="nosql" /><category term="redis" /><category term="vmware" /></entry><entry><title>Automated deployments with Fabric - tips and tricks
</title><link href="http://simonwillison.net/2010/Mar/16/fabric/" rel="alternate" /><updated>2010-03-16T11:19:58Z</updated><id>http://simonwillison.net/2010/Mar/16/fabric/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://agiletesting.blogspot.com/2010/03/automated-deployments-with-fabric-tips.html"&gt;Automated deployments with Fabric—tips and tricks&lt;/a&gt;. “If it’s not in a Fabric fabfile, it’s not deployable”—I’m slowly applying this philosophy to my personal projects.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="deployment" /><category term="fabric" /><category term="python" /><category term="sysadmin" /></entry><entry><title>Why Google MapMaker is not Open
</title><link href="http://simonwillison.net/2010/Mar/16/mapmaker/" rel="alternate" /><updated>2010-03-16T10:41:39Z</updated><id>http://simonwillison.net/2010/Mar/16/mapmaker/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://brainoff.com/weblog/2010/03/16/1541"&gt;Why Google MapMaker is not Open&lt;/a&gt;. Non-commercial use only, strict attribution requirements and you aren’t allowed to use the data for services that might compete with Google. This is why I’m disappointed every time I see Google encouraging people to contribute to Map Make, especially in the developing world—if those people contributed to OpenStreetMap instead they would be building something far more valuable for their community.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="google" /><category term="mapmaker" /><category term="mikelmaron" /><category term="openstreetmap" /></entry><entry><title>"Tis Pity We Called Her A Whore" And Other Ineffectual Digital Apologies
</title><link href="http://simonwillison.net/2010/Mar/16/nsfw/" rel="alternate" /><updated>2010-03-16T10:38:18Z</updated><id>http://simonwillison.net/2010/Mar/16/nsfw/</id><summary type="html">

&lt;div class="blogmark segment"&gt;&lt;p&gt;&lt;a href="http://techcrunch.com/2010/03/15/insert-libellous-statement-here/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A Techcrunch %28TechCrunch%29"&gt;“Tis Pity We Called Her A Whore” And Other Ineffectual Digital Apologies&lt;/a&gt;. A useful reminder that URLs can be libellous.&lt;/p&gt;
&lt;/div&gt;




</summary><category term="paulcarr" /><category term="urls" /></entry></feed>
