Tim Bray
tbray.org · Personal blog · on HN since 2007
Tim Bray, a software veteran who co-created XML and worked at Amazon and Google, writes about tech, cloud, and the web.
What HN saysHN commenters link his posts on data formats like protobufs and XML, on AI model behavior, and a few older, lighter pieces.
406HN people shared it
170linked it in comments
718stories submitted
32Kstory points
4 months agolast shared
2007people per year2026
Most-shared posts
- 1The Web's the place (don't be a sharecropper)28 people · 14 points · first shared 2008 · 1 comments on HN
- 2Ongoing12 people · first shared 2009
- 3Bye, Amazon8 people · 3.8K points · first shared 2020 · 1.1K comments on HN
- 4Google Memory Loss6 people · 1.4K points · first shared 2018 · 539 comments on HN
- 5AWS and Blockchain6 people · 695 points · first shared 2022 · 706 comments on HN
- 6Now A No-Evil Zone6 people · 108 points · first shared 2010 · 76 comments on HN
- 7The Cloud and Open Source5 people · 123 points · first shared 2019 · 32 comments on HN
- 8XML and JSON in 20265 people · 9 points · first shared 2026 · discussion on HN
- 9Anti-Monopoly Thinking5 people · 4 points · first shared 2020 · discussion on HN
- 10The Wide Finder Project5 people · 1 points · first shared 2007 · discussion on HN
- 11Shorting Bitcoin4 people · 266 points · first shared 2021 · 317 comments on HN
- 12Lock-In and Multi-Cloud4 people · 149 points · first shared 2022 · 135 comments on HN
- 13Tim Bray doesn't know operator precedence rules4 people · 116 points · first shared 2010 · 71 comments on HN
- 14Ravelry - a very successful deployment of Ruby and Rails4 people · 96 points · first shared 2009 · 28 comments on HN
- 15Quamina4 people · 35 points · first shared 2022 · 1 comments on HN
What HN people wrote when they linked it
nabbed · 2025-11-19
Back in 1994, Perl was an amazing thing to me (as someone who was accustomed to mainframe scripting languages up to that point), and it helped make me very productive. But it sometimes would seem like the epitome of "Write once, read never". Tim Bray even remarked on its abstruseness back in 2003:
https://www.tbray.org/ongoing/When/200x/2003/07/31/PerlAngst
zone411 · 2024-04-19
Once again, I must ask everyone not to place too much emphasis on this benchmark. Another post I see right now on the HN homepage is this: https://www.tbray.org/ongoing/When/202x/2024/04/18/Meta-AI-oh-my. As it points out, Llama 3 gave a plausible, smart-sounding answer and people would rate it highly on the LMSYS leaderboard, yet it might be totally incorrect. It's best to think of the LMSYS ranking as something akin to the Turing Test, with all its flaws.
That said, all other benchmarks so far (including my NYT Connections benchmark) show that both Llama 3 models are exceptionally strong for their sizes.
yencabulator · 2023-09-26
To a point where your program won't understand/be able to edit a simple document created by Microsoft tools. In some cases, you'll see an embedded binary blob that's actually an ActiveX executable in an OLE container.
Here's some classic rants:
https://www.tbray.org/ongoing/When/200x/2008/03/02/On-OOXML
https://ooxmlisdefectivebydesign.blogspot.com/
http://www.groklaw.net/article.php?story=20070123071154671#Ecma_376_re…
(especially in combination with: http://www.groklaw.net/article.php?story=20070123071154671#End-User_Li… )
fnordpiglet · 2023-07-20
https://www.tbray.org/ongoing/When/201x/2019/11/17/Bits-On-the-Wire
One thing about protobufs in a highly interconnected ball of mess, good luck reving the protocol in any non trivial way. Schema-less encodings such as those you mention (as well as bson, etc) are really advantageous for loosely coupled interfaces and graceful message format migrations. IMO (opinion!) protobufs is popular simply because of the Google cargo cult where anything Google tech is slavishly adopted without a great deal of introspection on applicability to the specific situation.
nix23 · 2022-12-29
And also:
https://www.tbray.org/ongoing/When/201x/2015/03/30/Maoris
Beautiful art...but i had a 5 minutes giggle about the comment at the end of the page...gosh sometimes i still love the internet's....backflash to the 2000's.
olabyne · 2022-11-24
Lol, the good old crypto-bro attitude that uses the "you don't know what you're talking about, stop bashing the technology".
Except you are mixing the technology (blockchain) and the usage (crypto).
On HN the consensus is that every current usage is either worthless, utopic or scammy. Nobody denies the technology.
A recent post on HN about AWS and blockchain ended with the following sentence : "the blockchain is a solution looking for a problem"
https://www.tbray.org/ongoing/When/202x/2022/11/19/AWS-Blockchain
kixiQu · 2022-05-06
let me recommend
https://www.tbray.org/ongoing/When/202x/2020/07/05/Too-Efficient
on this topic. Tim Bray's writing is always worth reading, but I think he's really valuable on this specifically.
Loic · 2022-04-25
But please, do not print on a laser printer. Use an inkjet printer or dot matrix printer. Laser prints have the bad tendency to "unstick" themselves from the paper, you end up losing everything.
"The best long term backup strategy is a string of robust middle term solutions." This was for me the most insightful comment I read (as far as I can remember) on Tim Bray's blog[0] many years ago.
[0]: https://www.tbray.org/ongoing/
ttul · 2021-05-27
Tim Bray’s aeons-old blog is always good reading: https://www.tbray.org/ongoing/
blub · 2020-11-24
It feels like it was yesterday when HN was praising Tim Bray for quitting Amazon AWS [1] over the firing of whistleblowers. And on the other hand we have what appear to be several prominent Rust community members falling over each other to get hired by Amazon and the Rust HN community largely cheering Amazon.
The Rust community seems quite desperate for corporate money and support. Amazon's not paying you out of love fellas, even if it says so in the blog post's title.
[1] https://www.tbray.org/ongoing/When/202x/2020/04/29/Leaving-Amazon
textman · 2020-10-06
Tim Bray had a recent blog article related to this:
https://www.tbray.org/ongoing/When/202x/2020/06/08/Anti-monopoly
I love his quote from The Myth of Capitalism: “The tech giants love startups, but in the same way that lions love feasting on lifeless carcasses of gazelles.”
jcurbo · 2019-05-08
For more on Ingress, I thought Tim Bray's blog posts about Ingress were always good reads. https://www.tbray.org/ongoing/ (search for Ingress)
If you find this sort of thing interesting, I'd also recommend checking out Empires of Eve (https://www.empiresofeve.com/) about experiences in Eve Online. I played Eve for several years (including during the period covered in the book) and thought this was a well written 'history book' about what happened then.
cousin_it · 2015-02-02
A website's job is serving up pieces of information. Helping me navigate that information is the browser's job. That's why we have amazing innovations like the back button, tabbed browsing, and bookmarks. Imagine a world where every website had its own buggy implementation of those.
Also, simplicity of core architecture leads to diversity of tools. If Google's first crawler had to execute JavaScript and make sense of single page applications, Google wouldn't exist today. So be careful when you encourage websites to become more complicated.
Tim Bray said it well in 2003: "Browsers are more usable because they're less flexible." https://www.tbray.org/ongoing/When/200x/2003/07/12/WebsThePlace
tmorton · 2014-08-06
This article has a great response to that argument: https://www.tbray.org/ongoing/When/201x/2014/07/28/Privacy-Economics
jamii · 2013-05-15
> Personally, I'd love to see an example of a small real-world problem solved in e.g. Erlang vs. the same solution in checkedthreads.
Wide Finder 2 would be a good demo for checkedthreads, although it does involve some amount of concurrency in io.
http://www.tbray.org/ongoing/When/200x/2008/05/01/Wide-Finder-2
ableal · 2013-01-20
For those tuning in now, the "usual" is probably best synthesized in Tim Bray's 'sharecroppers' piece of ten years ago: https://www.tbray.org/ongoing/When/200x/2003/07/12/WebsThePlace
noibl · 2012-06-08
I think Tim Bray said it best:
"Kontra genuinely loathes Google right down to the ground."[1]
Why this should matter to anyone is a bit of a mystery. But he seems to have something of a following so I'm posting this because it's the second time I've seen a post of his show up on HN and as well as the axe-grinding I'm again seeing willful misdirection and misrepresentation of facts.
The funny thing about this post is that the only thing I actually learned from reading it is that Google Maps is pretty great (thanks for the bullet points!)
[1] http://www.tbray.org/ongoing/When/201x/2010/05/30/Feelings-About-Compa…
RyanMcGreal · 2012-05-28
Year after year, this 2003 essay by Tim Bray continues to be true:
> I’ve been following some discussions about the future of software applications, and a phrase that came up in my dinner with Robb Beal has been echoing in my mind.What it comes down to is this: if you want to develop software, you can build for the Web and/or Unix and/or OSS platforms; or alternatively, you can be a sharecropper. Your choice, but I think it’s an easy one. Especially since the users out there want you to do the right thing.
> What Robb actually said, in a conversation about Mac software outputs like Ranchero and Watson and his own Spring, was that building for the Apple OS feels like being a sharecropper.
http://www.tbray.org/ongoing/When/200x/2003/07/12/WebsThePlace
donut · 2012-01-12
Good read, thanks for that. I agree with the conclusion: there is no one-size-fits-all rule for interoperability.
The way I see it, it's ultimately about tradeoffs. I can only imagine what things would be like today if web browsers implemented a strict parsing of HTML and refused to render invalid pages. One possibility is hindered adoption of HTML by the masses. Another is that two vendors would disagree about the HTML spec and cause pages to be browser-specific. (Turns out this happened anyway :-))
Is the HTML5 spec better in terms of interop and compatibility than the previous ones? http://www.tbray.org/ongoing/When/201x/2010/02/15/HTML5
simon · 2012-01-11
While you're enjoying this classic article (and I do re-read it every time it's posted), you may wish to also take in Tim Bray's - in my opinion equally classic - article about Unicode.
http://www.tbray.org/ongoing/When/200x/2003/04/06/Unicode
Tim has spent more time working with bodies of text [1][2] than many of us, so his perspective is very useful and the article is thoughtful.
[1] Oxford English Dictionary
[2] XML committee
tullidil · 2011-10-19
Not disagreeing with virtues associated with compactness and pixel density, but to quote Tim Bray: "When I switch from the NG to my Nexus S, I think “This is pleasingly compact.” Then when I switch back to the NG I think “My eyes are happy.” Because the upside, of course, is that you have a great big honkin’ huge ginormous beautiful screen!" via http://www.tbray.org/ongoing/When/201x/2011/10/18/ICS-and-Galaxy-Nexus
uggedal · 2010-05-04
For a high level overview I'd recommend Tim Bray's On Search series: http://www.tbray.org/ongoing/When/200x/2003/07/30/OnSearchTOC
megaduck · 2010-02-27
He's also got an amazing series on his blog about concurrent programming languages, called Concur.next. If you're a language and tooling geek, it's pure gold.
http://www.tbray.org/ongoing/When/200x/2009/09/27/Concur-dot-next
Mr. Bray is also notable for having one of the most amazing and intelligent 'comments' sections I've ever seen on a blog. Good reading.
bigiain · 2022-12-31
I read an interesting blog post about doing a similar thing at AWS scale a while back:
“ No parent will name a favorite among their children. But I do have one among my brainchildren, my software contributions over the decades: The event-streaming code I helped build at AWS. After rage-quitting I missed it so much that over the last few months, I wrote a library (in Go) called Quamina (GitHub) that does some of the same things. This is about that.
Quamina offers an API to a construct called a “Matcher”. You add one or a hundred or a million “Patterns” to a Matcher then feed “Events” (data objects with possibly-nested fields and values) to it, and it will return you an array (possibly empty) of the Patterns each Event matches. Both Patterns and Events are represented by JSON objects (but it should be easy to support other Event encodings).
Quamina (and here I beg pardon for a bit of chest-pounding) is really freaking fast. But what’s more interesting is that its speed doesn’t depend much on the number of Patterns that have been added. (Not strictly speaking O(1), but pretty close.) ”
https://www.tbray.org/ongoing/When/202x/2022/05/12/Quamina
lonk11 · 2022-11-29
What you are describing is similar to how my hobby project works: https://linklonk.com
When you upvote content (+1) you make your connection stronger to those who posted that content and also those who also upvoted it. When you downvote (-1), your connection to the poster and other upvoters becomes weaker. The content in your feed is ranked base on how strongly you are connected to those who upvoted the content.
For example, I upvoted the OP post on LinkLonk: https://linklonk.com/item/3406294698351951872. If you upvote that item then you will get connected to me and to two RSS feeds that posted that content: the blog's feed (https://www.tbray.org/ongoing/ongoing.atom) and the the HN's feed of newest items (https://news.ycombinator.com/rss). As a result you will start to see other content from those RSS feeds and from my "main" channel more prominently in your recommendations.
Users can post/submit links under different user channels. So if your hypothetical E2E person were to post E2E stuff under their "E2E" channel while keeping the furry stuff under their "furry" channel then you would only get connected to their E2E channels if you only +1'd content from that channel.
throw0101c · 2022-11-27
> Nice. I've always been a firm believer that you haven't _really_ left a platform unless you first make a blog post loudly proclaiming that you're _definitely leaving_ but this guy takes it a few steps further by:
"This guy" is Tim Bray, who quit as a VP of AWS over its treatment of employees:
* https://www.cbc.ca/news/business/tim-bray-quit-amazon-web-services-act…
* https://www.tbray.org/ongoing/When/202x/2020/04/29/Leaving-Amazon
> Bray, who was born in Alberta, went to University of Guelph and who worked in Vancouver, was a distinguished engineer, a coveted title large tech companies award to senior technologists. The decision will likely cost him more than $1 million in loss of salary and unvested Amazon stock, “not to mention the best job I ever had,” he said.
* https://financialpost.com/news/retail-marketing/amazon-engineer-quits-…
Dude co-authored both the XML spec and the JSON spec (RFC 7159/8259):
* https://en.wikipedia.org/wiki/Tim_Bray
He has principles and he's willing to put himself out there for them.
seltzered_ · 2022-03-27
I have the same sentiment of 5G working better for tethering+zoom calls as https://www.tbray.org/ongoing/When/202x/2022/03/26/-big/consultant-tet… - it's noticeable as with my current provider/place I currently have to position my phone in the right area of the house to get 5G.
I'm not on ultrawideband 5G or anything, but it's worth noting that I hardly did video calls before the pandemic and was fairly 5G skeptical before. I later realized video call's value not for dayjob work but for fictive kinship interest groups and study groups going past 'doing conversation' or 'feel-good conversation' but more into support and 'depth conversation'.
I could get by on doing this with a wired internet connection or by doing zoom on the phone (where I think cellular bandwidth QoS prioritization comes into play and Zoom will still work over LTE), but staving off yet another thing to pay for has been nice.
aorth · 2021-09-11
> Can someone paste the article here?
You can paste the title of the article in Google in a private window and you will be able to read it because FT.com wants the traffic from Google.
As for your concerns: my advice is to stay far away from "crypto". It's literally just a huge multi-level marketing scam and 100% risk. There is no intrinsic value in "crypto"—unlike a house or a piece of land or any other thing actually produced in the real world. You may as well just go follow stock advice on Reddit's Wall Street Bets. Hey, you have a 50/50 chance of getting rich and going broke!
If you're under thirty years old, let's say, you can play with some riskier investment options because you have time to earn that money back, but if you're getting older you should try to find some low-expense ratio index funds to invest in and hold for a decade or two (try on Vanguard or Schwab).
Here are some very technically savvy people calling bullshit on "crypto" recently, with salient arguments and inside experience: https://twitter.com/Pinboard/status/1399058952336277505, https://www.tbray.org/ongoing/When/202x/2021/06/26/Shorting-Bitcoin, https://twitter.com/ummjackson/status/1415353984617914370
DonHopkins · 2018-08-24
The article "XML Sucks" containing that Ward Cunningham image is interesting:
http://harmful.cat-v.org/software/xml/
It includes this classic James Clark quote:
“Any damn fool could produce a better data format than XML” – James Clark 2007-04-06
Which Tim Bray discussed in "Any Damn Fool":
https://www.tbray.org/ongoing/When/200x/2007/04/08/James-Clark
Tim Bray recommended James Clark's Random Thoughts about "Do we need a new kind of schema language?": "If you’re doing original work around the intersection of messaging and programming, you need to read it and think about it."
http://blog.jclark.com/2007/04/do-we-need-new-kind-of-schema-language.…
James Clark writes:
>Some people propose solving the XML-processing problem by adopting an XML-centric processing model, for which the leading technologies are XQuery and XSLT2. The fundamental problem here is the XQuery/XPath data model. I'm not criticizing the WGs' efforts: they've done about as good a job as could be done given the constraints they were working under. But there is no way it can overcome the constraint that a data model based around XML and XSD is just not very good data model for general-purpose computing. The structures of XML (attributes, elements and text) are those of SGML and these come from the world of markup. Considered as general purpose data structures, they suck pretty badly. There's a fundamental lack of composability. Why do we need both elements and attributes? Why can't attributes…
mherdeg · 2018-01-16
Yeah you know, it's funny, the last time I worked on question-answering code, we were trying really hard to find algorithms that could improve a particular metric (F-score, a synthetic agglomeration of precision and recall) ... I don't remember hearing very many conversations at all about whether we were measuring the right thing.
Given a query like [site:tbray.org "rock n roll animal"], and knowing that the 1 relevant document we actually want is the review at https://www.tbray.org/ongoing/When/200x/2006/03/13/Rock-n-Roll-Animal , I think we can say that
* if Google search returns 4 results for the query, not including the review: precision is 0/4, recall is 0/1 (so p=0, r=0)
* if Google search returns 5 results for that query, including the review: precision is 1/5, recall is 1/1 (so p=0.2, r=1)
But while I _kind of_ understand how we can use these measures to assess the outcome of a single query, I'm really not sure I understand what meaningful ways are available to aggregate those metrics. Suppose we're going to get 1M queries in the next hour. Do we prefer an algorithm which has the highest mean F-score per query? highest median F-score per question? or which has the highest 1st percentile F-score per question (99% of queries get the best possible outcomes?)
If there is published literature on how search quality is measured I'd love to see it. Would be especially interesting to see real-time data -- e.g. what is the impact of 1 data shard outage on overall…