<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: tim-bray</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/tim-bray.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2025-04-21T18:48:18+00:00</updated><author><name>Simon Willison</name></author><entry><title>Decentralizing Schemes</title><link href="https://simonwillison.net/2025/Apr/21/decentralizing-schemes/#atom-tag" rel="alternate"/><published>2025-04-21T18:48:18+00:00</published><updated>2025-04-21T18:48:18+00:00</updated><id>https://simonwillison.net/2025/Apr/21/decentralizing-schemes/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.tbray.org/ongoing/When/202x/2025/04/16/Decentralized-Schemes"&gt;Decentralizing Schemes&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tim Bray discusses the challenges faced by decentralized Mastodon in that shared URLs to posts don't take into account people accessing Mastodon via their own instances, which breaks replies/likes/shares etc unless you further copy and paste URLs around yourself.&lt;/p&gt;
&lt;p&gt;Tim proposes that the answer is URIs: a registered &lt;code&gt;fedi://mastodon.cloud/@timbray/109508984818551909&lt;/code&gt; scheme could allow Fediverse-aware software to step in and handle those URIs, similar to how &lt;code&gt;mailto:&lt;/code&gt; works.&lt;/p&gt;
&lt;p&gt;Bluesky have &lt;a href="https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml"&gt;registered&lt;/a&gt; &lt;code&gt;at:&lt;/code&gt; already, and there's also a &lt;code&gt;web+ap:&lt;/code&gt; prefix registered with the intent of covering ActivityPub, the protocol used by Mastodon.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/decentralisation"&gt;decentralisation&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/social-media"&gt;social-media&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/urls"&gt;urls&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bluesky"&gt;bluesky&lt;/a&gt;&lt;/p&gt;



</summary><category term="decentralisation"/><category term="social-media"/><category term="tim-bray"/><category term="urls"/><category term="mastodon"/><category term="bluesky"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2024/Nov/24/tim-bray/#atom-tag" rel="alternate"/><published>2024-11-24T02:17:13+00:00</published><updated>2024-11-24T02:17:13+00:00</updated><id>https://simonwillison.net/2024/Nov/24/tim-bray/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.tbray.org/ongoing/When/202x/2024/11/15/Not-Bluesky"&gt;&lt;p&gt;Whatever you think of capitalism, the evidence is overwhelming: Social networks with a single proprietor have trouble with long-term survival, and those do survive have trouble with user-experience quality: see &lt;a href="https://en.m.wikipedia.org/wiki/Enshittification"&gt;Enshittification&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The evidence is also perfectly clear that it doesn’t have to be this way. The original social network, email, is now into its sixth decade of vigorous life. It ain’t perfect but it is essential, and not in any serious danger.&lt;/p&gt;
&lt;p&gt;The single crucial difference between email and all those other networks — maybe the only significant difference — is that nobody owns or controls it.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.tbray.org/ongoing/When/202x/2024/11/15/Not-Bluesky"&gt;Tim Bray&lt;/a&gt;, Why Not Bluesky&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/email"&gt;email&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/social-media"&gt;social-media&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mastodon"&gt;mastodon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/activitypub"&gt;activitypub&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bluesky"&gt;bluesky&lt;/a&gt;&lt;/p&gt;



</summary><category term="email"/><category term="social-media"/><category term="tim-bray"/><category term="mastodon"/><category term="activitypub"/><category term="bluesky"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2024/May/4/tim-bray/#atom-tag" rel="alternate"/><published>2024-05-04T16:26:15+00:00</published><updated>2024-05-04T16:26:15+00:00</updated><id>https://simonwillison.net/2024/May/4/tim-bray/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.tbray.org/ongoing/When/202x/2024/04/29/Photointegrity"&gt;&lt;p&gt;I believe these things:
1. If you use generative tools to produce or modify your images, you have abandoned photointegrity.
2. That’s not always wrong. Sometimes you need an image of a space battle or a Triceratops family or whatever.
3. What is always wrong is using this stuff without disclosing it.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.tbray.org/ongoing/When/202x/2024/04/29/Photointegrity"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/ethics"&gt;ethics&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/photography"&gt;photography&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai"&gt;ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/generative-ai"&gt;generative-ai&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ai-ethics"&gt;ai-ethics&lt;/a&gt;&lt;/p&gt;



</summary><category term="ethics"/><category term="photography"/><category term="tim-bray"/><category term="ai"/><category term="generative-ai"/><category term="ai-ethics"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2024/Jan/20/tim-bray/#atom-tag" rel="alternate"/><published>2024-01-20T12:13:53+00:00</published><updated>2024-01-20T12:13:53+00:00</updated><id>https://simonwillison.net/2024/Jan/20/tim-bray/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.tbray.org/ongoing/When/202x/2024/01/15/Google-2024"&gt;&lt;p&gt;And now, in Anno Domini 2024, Google has lost its edge in search. There are plenty of things it can’t find. There are compelling alternatives. To me this feels like a big inflection point, because around the stumbling feet of the Big Tech dinosaurs, the Web’s mammals, agile and flexible, still scurry. They exhibit creative energy and strongly-flavored voices, and those voices still sometimes find and reinforce each other without being sock puppets of shareholder-value-focused private empires.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.tbray.org/ongoing/When/202x/2024/01/15/Google-2024"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/search-engines"&gt;search-engines&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="google"/><category term="search-engines"/><category term="tim-bray"/></entry><entry><title>Making Code Faster</title><link href="https://simonwillison.net/2022/Jun/13/making-code-faster/#atom-tag" rel="alternate"/><published>2022-06-13T19:40:43+00:00</published><updated>2022-06-13T19:40:43+00:00</updated><id>https://simonwillison.net/2022/Jun/13/making-code-faster/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.tbray.org/ongoing/When/202x/2022/06/10/Quamina-Optimizing"&gt;Making Code Faster&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tim Bray’s detailed guide to using the Go profiler.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/go"&gt;go&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/profiling"&gt;profiling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="go"/><category term="profiling"/><category term="tim-bray"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2021/Jun/1/tim-bray/#atom-tag" rel="alternate"/><published>2021-06-01T14:35:11+00:00</published><updated>2021-06-01T14:35:11+00:00</updated><id>https://simonwillison.net/2021/Jun/1/tim-bray/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.tbray.org/ongoing/When/202x/2021/05/15/Testing-in-2021"&gt;&lt;p&gt;I’m pretty convinced that the biggest single contributor to improved software in my lifetime wasn’t object-orientation or higher-level languages or functional programming or strong typing or MVC or anything else: It was the rise of testing culture.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.tbray.org/ongoing/When/202x/2021/05/15/Testing-in-2021"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/testing"&gt;testing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="testing"/><category term="tim-bray"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2018/Sep/1/tim-bray/#atom-tag" rel="alternate"/><published>2018-09-01T01:41:30+00:00</published><updated>2018-09-01T01:41:30+00:00</updated><id>https://simonwillison.net/2018/Sep/1/tim-bray/#atom-tag</id><summary type="html">
    &lt;blockquote cite="https://www.tbray.org/ongoing/When/201x/2018/08/30/Event-Structure"&gt;&lt;p&gt;When you’re pump­ing mes­sages around the In­ter­net be­tween het­ero­ge­neous code­bas­es built by peo­ple who don’t know each oth­er, shit is gonna hap­pen. That’s the whole ba­sis of the We­b: You can safe­ly ig­nore an HTTP head­er or HTML tag you don’t un­der­stand, and noth­ing break­s. It’s great be­cause it al­lows peo­ple to just try stuff out, and the use­ful stuff catch­es on while the bad ideas don’t break any­thing.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="https://www.tbray.org/ongoing/When/201x/2018/08/30/Event-Structure"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/messaging"&gt;messaging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web"&gt;web&lt;/a&gt;&lt;/p&gt;



</summary><category term="messaging"/><category term="tim-bray"/><category term="web"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2011/Feb/10/ongoing/#atom-tag" rel="alternate"/><published>2011-02-10T06:00:00+00:00</published><updated>2011-02-10T06:00:00+00:00</updated><id>https://simonwillison.net/2011/Feb/10/ongoing/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/201x/2011/02/09/Hash-Blecch"&gt;&lt;p&gt;Before events took this bad turn, the contract represented by a link was simple: “Here’s a string, send it off to a server and the server will figure out what it identifies and send you back a representation.” Now it’s along the lines of: “Here’s a string, save the hashbang, send the rest to the server, and rely on being able to run the code the server sends you to use the hashbang to generate the representation.” Do I need to explain why this is less robust and flexible? This is what we call “tight coupling” and I thought that anyone with a Computer Science degree ought to have been taught to avoid it.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/201x/2011/02/09/Hash-Blecch"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/urls"&gt;urls&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/recovered"&gt;recovered&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hashbanghell"&gt;hashbanghell&lt;/a&gt;&lt;/p&gt;



</summary><category term="javascript"/><category term="tim-bray"/><category term="urls"/><category term="recovered"/><category term="hashbanghell"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2010/Feb/10/ongoing/#atom-tag" rel="alternate"/><published>2010-02-10T17:40:40+00:00</published><updated>2010-02-10T17:40:40+00:00</updated><id>https://simonwillison.net/2010/Feb/10/ongoing/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/201x/2010/02/09/Information-Aristocracy"&gt;&lt;p&gt;The Net is the greatest listening engine ever devised. These days anyone can choose, with its help, to be well-informed. You have to make the effort to figure out which key people are really on top of what you care about, so that you can start listening to them. Plus, you need to deploy some saved searches. Once you’ve done these things, then when you turn your computer on in the morning, it’ll tell you if anything’s happened that you need to know about.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/201x/2010/02/09/Information-Aristocracy"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/blogging"&gt;blogging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/information"&gt;information&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/internet"&gt;internet&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="blogging"/><category term="information"/><category term="internet"/><category term="tim-bray"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2010/Jan/6/enterprise/#atom-tag" rel="alternate"/><published>2010-01-06T08:20:23+00:00</published><updated>2010-01-06T08:20:23+00:00</updated><id>https://simonwillison.net/2010/Jan/6/enterprise/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/201x/2010/01/02/Doing-It-Wrong"&gt;&lt;p&gt;What I’m writing here is the single most important take-away from my Sun years, and it fits in a sentence: The community of developers whose work you see on the Web, who probably don’t know what ADO or UML or JPA even stand for, deploy better systems at less cost in less time at lower risk than we see in the Enterprise.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/201x/2010/01/02/Doing-It-Wrong"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/enterprise"&gt;enterprise&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/startups"&gt;startups&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sun"&gt;sun&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="enterprise"/><category term="startups"/><category term="sun"/><category term="tim-bray"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2009/Sep/21/bulldozer/#atom-tag" rel="alternate"/><published>2009-09-21T17:30:56+00:00</published><updated>2009-09-21T17:30:56+00:00</updated><id>https://simonwillison.net/2009/Sep/21/bulldozer/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2009/09/07/Mobiles-and-Money"&gt;&lt;p&gt;Developing for the iPhone at the moment is like picking up dimes in front of a bulldozer.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2009/09/07/Mobiles-and-Money"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apple"&gt;apple&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/iphone"&gt;iphone&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sharecropping"&gt;sharecropping&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="apple"/><category term="iphone"/><category term="sharecropping"/><category term="tim-bray"/></entry><entry><title>Ravelry</title><link href="https://simonwillison.net/2009/Sep/3/ravelry/#atom-tag" rel="alternate"/><published>2009-09-03T18:50:20+00:00</published><updated>2009-09-03T18:50:20+00:00</updated><id>https://simonwillison.net/2009/Sep/3/ravelry/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2009/09/02/Ravelry"&gt;Ravelry&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tim Bray interviews Casey Forbes, the single engineer behind Ravelry, the knitting community that serves 10 million Rails requests a day using just seven physical servers, MySQL, Sphinx, memcached, nginx, haproxy, passenger and Tokyo Cabinet.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/caseyforbes"&gt;caseyforbes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/haproxy"&gt;haproxy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/memcached"&gt;memcached&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mysql"&gt;mysql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nginx"&gt;nginx&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/passenger"&gt;passenger&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rails"&gt;rails&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ravelry"&gt;ravelry&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sphinx-search"&gt;sphinx-search&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tokyocabinet"&gt;tokyocabinet&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tokyotyrant"&gt;tokyotyrant&lt;/a&gt;&lt;/p&gt;



</summary><category term="caseyforbes"/><category term="haproxy"/><category term="memcached"/><category term="mysql"/><category term="nginx"/><category term="passenger"/><category term="rails"/><category term="ravelry"/><category term="scaling"/><category term="sphinx-search"/><category term="tim-bray"/><category term="tokyocabinet"/><category term="tokyotyrant"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2009/Jul/16/curriculum/#atom-tag" rel="alternate"/><published>2009-07-16T10:16:30+00:00</published><updated>2009-07-16T10:16:30+00:00</updated><id>https://simonwillison.net/2009/Jul/16/curriculum/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2009/07/14/Web-Curriculum"&gt;&lt;p&gt;I propose that the World Wide Web would serve well as a framework for structuring much of the academic Computer Science curriculum. A study of the theory and practice of the Web’s technologies would traverse many key areas of our discipline.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2009/07/14/Web-Curriculum"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/computer-science"&gt;computer-science&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/education"&gt;education&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web"&gt;web&lt;/a&gt;&lt;/p&gt;



</summary><category term="computer-science"/><category term="education"/><category term="tim-bray"/><category term="web"/></entry><entry><title>Test-Driven Heresy</title><link href="https://simonwillison.net/2009/Jun/24/heresy/#atom-tag" rel="alternate"/><published>2009-06-24T11:03:44+00:00</published><updated>2009-06-24T11:03:44+00:00</updated><id>https://simonwillison.net/2009/Jun/24/heresy/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2009/06/23/TDD-Heresy"&gt;Test-Driven Heresy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tim Bray advocates TDD for maintenance development, but argues that it may not be as useful during the exploratory, greenfield development phase of a project.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/tdd"&gt;tdd&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/testing"&gt;testing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="tdd"/><category term="testing"/><category term="tim-bray"/></entry><entry><title>The Web vs. the Fallacies</title><link href="https://simonwillison.net/2009/May/25/ongoing/#atom-tag" rel="alternate"/><published>2009-05-25T23:49:45+00:00</published><updated>2009-05-25T23:49:45+00:00</updated><id>https://simonwillison.net/2009/May/25/ongoing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2009/05/25/HTTP-and-the-Fallacies-of-Distributed-Computing"&gt;The Web vs. the Fallacies&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tim Bray on how the architecture of the Web helps developers handle the Fallacies of Distributed Computing.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/fallacies"&gt;fallacies&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web"&gt;web&lt;/a&gt;&lt;/p&gt;



</summary><category term="fallacies"/><category term="tim-bray"/><category term="web"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2008/Oct/15/lockin/#atom-tag" rel="alternate"/><published>2008-10-15T17:09:55+00:00</published><updated>2008-10-15T17:09:55+00:00</updated><id>https://simonwillison.net/2008/Oct/15/lockin/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2008/10/14/Cloudy-Times#c1224045003.442381"&gt;&lt;p&gt;Are we so deranged here in the twenty-first century that we’re going to re-enact, wide-eyed, the twin tragedies of the great desktop-suite lock-in and the great proprietary-SQL lock-in? You know, the ones where you give a platform vendor control over your IT budget? Gimme a break.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2008/10/14/Cloudy-Times#c1224045003.442381"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/cloud-computing"&gt;cloud-computing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/lockin"&gt;lockin&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="cloud-computing"/><category term="lockin"/><category term="tim-bray"/></entry><entry><title>Multi-Inflection-Point Alert</title><link href="https://simonwillison.net/2008/Apr/26/ongoing/#atom-tag" rel="alternate"/><published>2008-04-26T18:48:57+00:00</published><updated>2008-04-26T18:48:57+00:00</updated><id>https://simonwillison.net/2008/Apr/26/ongoing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2008/04/24/Inflection"&gt;Multi-Inflection-Point Alert&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Dammit, Tim, stop giving away our competitive advantages!


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/bigtable"&gt;bigtable&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/couchdb"&gt;couchdb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/java"&gt;java&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rails"&gt;rails&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rest"&gt;rest&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/simpledb"&gt;simpledb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="bigtable"/><category term="couchdb"/><category term="java"/><category term="python"/><category term="rails"/><category term="rest"/><category term="simpledb"/><category term="soap"/><category term="tim-bray"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2008/Jan/3/ongoing/#atom-tag" rel="alternate"/><published>2008-01-03T13:08:59+00:00</published><updated>2008-01-03T13:08:59+00:00</updated><id>https://simonwillison.net/2008/Jan/3/ongoing/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2008/01/02/Prediction-Windows-OS-X-Linux"&gt;&lt;p&gt;The strain due to the fact that most business desktops are locked into the Microsoft platform, at a time when both the Apple and GNU/Linux alternatives are qualitatively safer, better, and cheaper to operate, will start to become impossible to ignore.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2008/01/02/Prediction-Windows-OS-X-Linux"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apple"&gt;apple&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/linux"&gt;linux&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/macos"&gt;macos&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/predictions"&gt;predictions&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/windows"&gt;windows&lt;/a&gt;&lt;/p&gt;



</summary><category term="apple"/><category term="linux"/><category term="macos"/><category term="microsoft"/><category term="predictions"/><category term="tim-bray"/><category term="windows"/></entry><entry><title>Thai personal names</title><link href="https://simonwillison.net/2007/Dec/8/james/#atom-tag" rel="alternate"/><published>2007-12-08T16:26:53+00:00</published><updated>2007-12-08T16:26:53+00:00</updated><id>https://simonwillison.net/2007/Dec/8/james/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.jclark.com/2007/12/thai-personal-names.html"&gt;Thai personal names&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“Family names were allocated to families systematically and the use of family names is still controlled by the government. Any two people in Thailand with the same family name are related.”

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.tbray.org/ongoing/When/200x/2007/12/07/JJC-on-Thai"&gt;Tim Bray&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/i18n"&gt;i18n&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/james-clark"&gt;james-clark&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/l10n"&gt;l10n&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/thailand"&gt;thailand&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="i18n"/><category term="james-clark"/><category term="l10n"/><category term="thailand"/><category term="tim-bray"/></entry><entry><title>WS-dämmerung</title><link href="https://simonwillison.net/2007/Nov/22/ongoing/#atom-tag" rel="alternate"/><published>2007-11-22T09:49:02+00:00</published><updated>2007-11-22T09:49:02+00:00</updated><id>https://simonwillison.net/2007/Nov/22/ongoing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2007/11/21/WS-dammerung"&gt;WS-dämmerung&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tim Bray collects the latest round of WS-* repenting, which saves me from linking to them individually.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-services"&gt;web-services&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ws-star"&gt;ws-star&lt;/a&gt;&lt;/p&gt;



</summary><category term="soap"/><category term="tim-bray"/><category term="web-services"/><category term="ws-star"/></entry><entry><title>Some Notes on Tim Bray's Wide Finder Benchmark</title><link href="https://simonwillison.net/2007/Oct/7/python/#atom-tag" rel="alternate"/><published>2007-10-07T01:06:05+00:00</published><updated>2007-10-07T01:06:05+00:00</updated><id>https://simonwillison.net/2007/Oct/7/python/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://effbot.org/zone/wide-finder.htm"&gt;Some Notes on Tim Bray&amp;#x27;s Wide Finder Benchmark&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Fredrik Lundh demonstrates some Python ninja techniques for parsing log files using multiple cores (and eventually memory mapping).


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/benchmarks"&gt;benchmarks&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/effbot"&gt;effbot&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fredrik-lundh"&gt;fredrik-lundh&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mmap"&gt;mmap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/multicore"&gt;multicore&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="benchmarks"/><category term="effbot"/><category term="fredrik-lundh"/><category term="mmap"/><category term="multicore"/><category term="python"/><category term="tim-bray"/></entry><entry><title>The Rubinius Sprint</title><link href="https://simonwillison.net/2007/Sep/21/ongoing/#atom-tag" rel="alternate"/><published>2007-09-21T23:32:39+00:00</published><updated>2007-09-21T23:32:39+00:00</updated><id>https://simonwillison.net/2007/Sep/21/ongoing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2007/09/21/Rubinius-Sprint"&gt;The Rubinius Sprint&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Sun are throwing a ton of resources at Ruby, because as Tim Bray says, “it’s not fast enough”. Imagine where they’d be if they’d invested this kind of support in Jython five years ago...


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/java"&gt;java&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jython"&gt;jython&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/open-source"&gt;open-source&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rubinius"&gt;rubinius&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ruby"&gt;ruby&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sourgrapes"&gt;sourgrapes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sun"&gt;sun&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="java"/><category term="jython"/><category term="open-source"/><category term="python"/><category term="rubinius"/><category term="ruby"/><category term="sourgrapes"/><category term="sun"/><category term="tim-bray"/></entry><entry><title>Quoting Phil Karlton</title><link href="https://simonwillison.net/2007/Jul/5/hard/#atom-tag" rel="alternate"/><published>2007-07-05T00:46:21+00:00</published><updated>2007-07-05T00:46:21+00:00</updated><id>https://simonwillison.net/2007/Jul/5/hard/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2005/12/23/UPI"&gt;&lt;p&gt;There are only two hard things in Computer Science: cache invalidation and naming things&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2005/12/23/UPI"&gt;Phil Karlton&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/caching"&gt;caching&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/computer-science"&gt;computer-science&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/naming-things"&gt;naming-things&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phil-karlton"&gt;phil-karlton&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="caching"/><category term="computer-science"/><category term="naming-things"/><category term="phil-karlton"/><category term="tim-bray"/></entry><entry><title>Quoting Joe Heck</title><link href="https://simonwillison.net/2007/May/30/specs/#atom-tag" rel="alternate"/><published>2007-05-30T01:48:44+00:00</published><updated>2007-05-30T01:48:44+00:00</updated><id>https://simonwillison.net/2007/May/30/specs/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2007/05/28/REST#c1180478571.123624"&gt;&lt;p&gt;If you write a spec, write a validator alongside. How much pain could have been spared with early versions of RSS if we'd had a common, agreed upon validator. In short, it's the test suite that ultimately decides the spec.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2007/05/28/REST#c1180478571.123624"&gt;Joe Heck&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/joe-heck"&gt;joe-heck&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rss"&gt;rss&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/specifications"&gt;specifications&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/validator"&gt;validator&lt;/a&gt;&lt;/p&gt;



</summary><category term="joe-heck"/><category term="rss"/><category term="specifications"/><category term="tim-bray"/><category term="validator"/></entry><entry><title>Ten Reasons The World Needs Patent Covenants</title><link href="https://simonwillison.net/2007/May/22/covenants/#atom-tag" rel="alternate"/><published>2007-05-22T17:09:23+00:00</published><updated>2007-05-22T17:09:23+00:00</updated><id>https://simonwillison.net/2007/May/22/covenants/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blogs.sun.com/webmink/entry/ten_reasons_the_world_needs"&gt;Ten Reasons The World Needs Patent Covenants&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Sun just made their OpenID patent covenant official. Simon Phipps explains why these are a Good Idea.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://www.tbray.org/ongoing/When/200x/2007/05/22/OpenID-is-Free"&gt;Tim Bray&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/open-source"&gt;open-source&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/patents"&gt;patents&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/simon-phipps"&gt;simon-phipps&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sun"&gt;sun&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="openid"/><category term="open-source"/><category term="patents"/><category term="simon-phipps"/><category term="sun"/><category term="tim-bray"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2007/May/2/ongoing/#atom-tag" rel="alternate"/><published>2007-05-02T20:23:38+00:00</published><updated>2007-05-02T20:23:38+00:00</updated><id>https://simonwillison.net/2007/May/2/ongoing/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2007/04/30/REST-is-easy"&gt;&lt;p&gt;People don't recognize how important URIs are. The notion that you have a huge, world-scale, information space, and that everything in it has an name and they're all just short strings that you can paint on the side of a bus; that's a new thing and a good thing.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2007/04/30/REST-is-easy"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/rest"&gt;rest&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/uris"&gt;uris&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/urls"&gt;urls&lt;/a&gt;&lt;/p&gt;



</summary><category term="rest"/><category term="tim-bray"/><category term="uris"/><category term="urls"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2007/Apr/14/ongoing/#atom-tag" rel="alternate"/><published>2007-04-14T09:13:17+00:00</published><updated>2007-04-14T09:13:17+00:00</updated><id>https://simonwillison.net/2007/Apr/14/ongoing/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2007/04/13/Twitter-and-Rails"&gt;&lt;p&gt;In the big picture, Twitter did exactly the right thing. They had a good idea and they buckled down and focused on delivering something as cool as possible as fast as possible, and it's really hard, in early 2007, to beat Rails for that. When all of a sudden there were a few tens of thousands of people using it, then they went to work on the scaling.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2007/04/13/Twitter-and-Rails"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/rails"&gt;rails&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/twitter"&gt;twitter&lt;/a&gt;&lt;/p&gt;



</summary><category term="rails"/><category term="scaling"/><category term="tim-bray"/><category term="twitter"/></entry><entry><title>What is OpenID Good For?</title><link href="https://simonwillison.net/2007/Mar/14/dare/#atom-tag" rel="alternate"/><published>2007-03-14T10:12:09+00:00</published><updated>2007-03-14T10:12:09+00:00</updated><id>https://simonwillison.net/2007/Mar/14/dare/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=0ff07054-f6fd-4093-9151-12b9fcbf8938"&gt;What is OpenID Good For?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Dare Obasanjo provides some smart responses to Tim Bray’s criticisms of OpenID, including a good angle on the phishing problem.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dare-obasanjo"&gt;dare-obasanjo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/phishing"&gt;phishing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="dare-obasanjo"/><category term="openid"/><category term="phishing"/><category term="tim-bray"/></entry><entry><title>Quoting Tim Bray</title><link href="https://simonwillison.net/2006/Dec/22/hunky/#atom-tag" rel="alternate"/><published>2006-12-22T00:47:42+00:00</published><updated>2006-12-22T00:47:42+00:00</updated><id>https://simonwillison.net/2006/Dec/22/hunky/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.tbray.org/ongoing/When/200x/2006/12/21/JSON"&gt;&lt;p&gt;Seems easy to me; if you want to serialize a data structure that’s not too text-heavy and all you want is for the receiver to get the same data structure with minimal effort, and you trust the other end to get the i18n right, JSON is hunky-dory.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.tbray.org/ongoing/When/200x/2006/12/21/JSON"&gt;Tim Bray&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/json"&gt;json&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xml"&gt;xml&lt;/a&gt;&lt;/p&gt;



</summary><category term="json"/><category term="tim-bray"/><category term="xml"/></entry><entry><title>Pictures of Nothing</title><link href="https://simonwillison.net/2005/Jan/1/pictures/#atom-tag" rel="alternate"/><published>2005-01-01T10:15:15+00:00</published><updated>2005-01-01T10:15:15+00:00</updated><id>https://simonwillison.net/2005/Jan/1/pictures/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2004/12/31/PicturesOfNothing"&gt;Pictures of Nothing&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tim Bray’s 2004 roundup.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="tim-bray"/></entry></feed>