Tim Bray, a software veteran who co-created XML and worked at Amazon and Google, writes about tech, cloud, and the web.
HN commenters link his posts on data formats like protobufs and XML, on AI model behavior, and a few older, lighter pieces.
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.html
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…
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…
> 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-activist-employees-1.5555266
* 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-forfeits-1-million-to-protest-firings-0505-bc-amazon-engineer-quits-forfeits-1-million-to-protest-firings-bloom-425-words-f-05-04-20-1142-am
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.
> 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
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.
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