Two-Bit History
twobithistory.org · Personal blog · on HN since 2017
Two-Bit History is a long-form blog on the history of computing ideas, covering Lisp, REST, Simula, and the Semantic Web.
What HN saysCommenters describe it as deeply researched long-form history and cite it as the best overview of the Semantic Web and common REST misconceptions.
100HN people shared it
36linked it in comments
89stories submitted
5.5Kstory points
3 months agolast shared
2017people per year2026
Most-shared posts
- 1What Did Ada Lovelace’s Program Actually Do?10 people · 776 points · first shared 2018 · 129 comments on HN
- 2Roy Fielding's Misappropriated REST Dissertation (2020)10 people · 352 points · first shared 2020 · 208 comments on HN
- 3OOP Before OOP with Simula8 people · 92 points · first shared 2019 · 19 comments on HN
- 4How Lisp Became God's Own Programming Language7 people · 777 points · first shared 2018 · 307 comments on HN
- 5The genius of binary space partitioning in Doom (2019)7 people · 599 points · first shared 2019 · 159 comments on HN
- 6Whatever Happened to the Semantic Web?7 people · 400 points · first shared 2018 · 201 comments on HN
- 7Things to Know About GNU Readline7 people · 380 points · first shared 2019 · 113 comments on HN
- 8A Short History of Chaosnet (2018)6 people · 88 points · first shared 2018 · 6 comments on HN
- 9Where Vim Came From5 people · 429 points · first shared 2018 · 259 comments on HN
- 10Codecademy vs. the BBC Micro5 people · 133 points · first shared 2019 · 62 comments on HN
- 11The Rise and Demise of RSS (2018)5 people · 40 points · first shared 2019 · 75 comments on HN
- 12Friend of a Friend: The Facebook That Could Have Been4 people · 203 points · first shared 2020 · 58 comments on HN
- 13The Rise and Rise of JSON (2017)4 people · 174 points · first shared 2017 · 167 comments on HN
- 14The Real Novelty of the Arpanet4 people · 88 points · first shared 2021 · 4 comments on HN
- 15How the Arpanet Protocols Worked (2021)4 people · 54 points · first shared 2021 · 9 comments on HN
What HN people wrote when they linked it
riordan · 2023-11-08
This is a big step forward, and is also making me nostalgic for the Friend-of-a-Friend (FOAF)[0] blogrolls of the early 00’s. RDF-in-HTML standard that could express recommendations and relationships.
That said, I’m glad to see Webmention adoption. It’s got a much clearer purpose than FOAF (it might’ve been a little too expressive) and fits nicely into the current web ecosystem.
[0]: https://twobithistory.org/2020/01/05/foaf.html
SamLL · 2022-08-19
Ada Lovelace wrote what is often considered the first computer program, a set of instructions for the (unbuilt) Analytical Engine to calculate Bernoulli Numbers.
Appropriately, if this is the first computer program, it also contains the first bug! It's impossible to say whether this was a typesetting error or Lovelace's original, but the transcription of her instructions accidentally transpose a "v4" and "v5".
source: https://twobithistory.org/2018/08/18/ada-lovelace-note-g.html
gklitt · 2020-09-25
Semantic Web postmortem seems like one of those things where everyone is touching their own part of the elephant.
This is the best overview I've found of the basic history:
https://twobithistory.org/2018/05/27/semantic-web.html
cryptos · 2020-09-10
There was a great article about the common misconceptions about REST recently: https://twobithistory.org/2020/06/28/rest.html
The longer I think about it, the more I come to the conclusion that REST is simply not useful for application development in general. It is no accident that most APIs called "RESTful" by their creators are violating basic REST principles. But REST has some useful attributes even if not used strictly - caching comes to mind.
The question is: should we have another "standard" for web application development? Something more like RPC? There are some approaches, but nothing that I would call a broadly accepted standard. How should such a standard look like?
weebst · 2020-04-07
https://twobithistory.org
If you think you'd enjoy long-form, deeply researched essays that look at the development of technical ideas throughout the history of computing, I've got you covered.
anarchyrucks · 2019-09-23
Two bit history does something similar.
https://twobithistory.org
ttepasse · 2025-09-10
I was surprised to see an Eckart Walther cited as an co-creator of RSS. That was news to me, and I followed the RSS wars since 2000. I thought I knew the names of everyone involved.
Turn's out: he really is. RSS was created by Ramanathan Guha, Dan Libby and Eckart Walther at Netscape first as an RDF Site Summary but only Guha and Libby are named on the original specs. That format then got transformed into a pure XML-based format, then merged with Dave Winer’s format, who then became chief author for the following RSS 0.9x and 2.0 versions. And of course in parallel there were the rivalling RSS 1.0 specs (again RDF based) and the Atom effort.
Should anybody be interested in now obscure histoy: Twobithistory did a longer retrospective of the feed wars:
https://twobithistory.org/2018/12/18/rss.html
And the (slightly disputed) RSS Board, its own fractal in the RSS history, keeps copies of the original specifications:
https://www.rssboard.org/rss-history
benzible · 2023-08-01
Worth reading this: https://twobithistory.org/2020/06/28/rest.html
> REST purists often complain, for example, that so-called REST APIs aren’t actually REST APIs because they do not use Hypermedia as The Engine of Application State (HATEOAS). Fielding himself has made this criticism. According to him, a real REST API is supposed to allow you to navigate all its endpoints from a base endpoint by following links. If you think that people are actually out there trying to build REST APIs, then this is a glaring omission—HATEOAS really is fundamental to Fielding’s original conception of REST, especially considering that the “state transfer” in “Representational State Transfer” refers to navigating a state machine using hyperlinks between resources (and not, as many people seem to believe, to transferring resource state over the wire).8 But if you imagine that everyone is just building FIOH APIs and advertising them, with a nudge and a wink, as REST APIs, or slightly more honestly as “RESTful” APIs, then of course HATEOAS is unimportant.
dralley · 2021-09-15
Likewise, people dispute that Ada Lovelace was the first programmer, because Babbage and Menabrea had previously created a few simple example programs.
But that downplays her accomplishments too much. She didn't write the "first program" but she was the first to understand what computers would be capable of doing (for example, that by assigning numbers to letters and symbols, computers could do more than simply perform numerical computations), and she was the first to invent foundational control flow structures such as loops and conditionals. Her program was much more rigorously defined and sophisticated than any previous examples.
>The longest program that Menabrea presented was 11 operations long and contained no loops or branches; Lovelace’s program contains 25 operations and a nested loop (and thus branching).
https://twobithistory.org/2018/08/18/ada-lovelace-note-g.html
https://writings.stephenwolfram.com/2015/12/untangling-the-tale-of-ada…
https://projectlovelace.net/static_prod/img/Diagram_for_the_computatio…
memexy · 2020-07-06
The semantic web was meant to be the substrate on which personal agents would serve people by doing the type of thing you described but it didn't happen
> The entertainment system was belting out the Beatles’ “We Can Work It Out” when the phone rang. When Pete answered, his phone turned the sound down by sending a message to all the other local devices that had a volume control. His sister, Lucy, was on the line from the doctor’s office: “Mom needs to see a specialist and then has to have a series of physical therapy sessions. Biweekly or something. I’m going to have my agent set up the appointments.” Pete immediately agreed to share the chauffeuring. At the doctor’s office, Lucy instructed her Semantic Web agent through her handheld Web browser. The agent promptly retrieved the information about Mom’s prescribed treatment within a 20-mile radius of her home and with a rating of excellent or very good on trusted rating services. It then began trying to find a match between available appointment times (supplied by the agents of individual providers through their Web sites) and Pete’s and Lucy’s busy schedules.
I think Alan Kay is right, the computer revolution hasn't happened yet. There is much potential that computer networks can unlock but we haven't done the work to unlock it.
--
https://twobithistory.org/2018/05/27/semantic-web.html
carapace · 2019-09-17
Know your stack. Intimately.
There's a very interesting book called "Hollywood Secrets of Project Management Success"†. Actually, IMO only about half of it is interesting, the parts about how Hollywood makes movies is fascinating, the rest of the book seems to me to be a mildly enterprisey pitch for Agile Methods, (of which YMMV.)
THe fascinating thing about Hollywood is that it's old (over a century) and they have developed a system that works: it's rare for a film to go over-budget or over-schedule.
I can't do a proper summary here, but the fundamental gist is that they have detailed plans, that experience says are realistic, and they track those plans closely and deal with divergence systematically.
†https://www.oreilly.com/library/view/hollywood-secrets-of/978073562569…
Anyway, one of the tools they use, if transposed to the IT industry, would be something like an Inventory of Dependencies. It would list every piece of software that your system depends on along with costs, risk assessments, and alternate dependencies for each. I don't have the book with me or I'd give more details.
My point is, we should do this and usually don't. It's kind of on the company management if you're using, e.g. cURL, and your stack blows up and only then do you discover there's not a great "support story" there, eh?
Taking infrastructure for granted is not how you get reliability. FWIW.
- - - -
BTW, readline and bash are maintained by one volunteer.
> GNU Readline is today…
BoingBoomTschak · 2025-05-24
Please read https://twobithistory.org/2019/11/06/doom-bsp.html and https://30fps.net/pages/pvs-portals-and-quake/
Also, I think most of the x86 magic was done by Abrash.
asicsp · 2025-04-19
See also: "Where Vim Came From" https://twobithistory.org/2018/08/05/where-vim-came-from.html
Discussion: https://news.ycombinator.com/item?id=17696023 (420 points | Aug 6, 2018 | 259 comments)
bazzargh · 2024-09-09
bash and readline - Chet Ramey. Both originally by Brian Fox https://twobithistory.org/2019/08/22/readline.html
maybe less of a bus factor now with OSH approaching feature/speed parity and having more maintainers https://www.oilshell.org/
rakoo · 2024-08-21
Over on lobste.rs, someone cited another article retracing the history of the Semantic Web: https://twobithistory.org/2018/05/27/semantic-web.html
An interesting read in itself, and also points to Cory Doctorow giving seven reasons why the Semantic Web will never work: https://people.well.com/user/doctorow/metacrap.htm. They are all good reasons and are unfortunately still valid (although one of his observations towards the end of the text has turned out to be comically wrong, I'll let you read what it is)
Your comment and the two above links point to the same conclusion: again and again, Worse is Better (https://en.wikipedia.org/wiki/Worse_is_better)
cmrdporcupine · 2023-09-20
I have come to the place where I feel like the word "persistence" when applied to data / knowledge / information in this way is almost offensively reductionist and actually ignorant of the background in the field...
... Just going to put this here, since it's clear the world still hasn't read and absorbed this knowledge, 50 years later.
I wish people would stop retreading the same broken paths over and over again.
https://twobithistory.org/2017/12/29/codd-relational-model.html
https://cs.uwaterloo.ca/~david/cs848s14/codd-relational.pdf
"Future users of large data banks must be protected from
having to know how the data is organized in the machine (the
internal representation) ... A model based on n-ary relations, a normal form for data base relations, and the concept of a universal data sublanguage are introduced."
divbzero · 2023-07-17
Nice, I didn’t pick up on that one. And yes, I do have Caps Lock mapped to remapped to Escape haha.
If any vim enthusiasts haven’t read this history before, this article [1] provides a good overview of how ex/vi came to be. The photo of the Lear Siegler ADM-3A keyboard used by Bill Joy largely explains the odd choice of keys.
[1]: https://twobithistory.org/2018/08/05/where-vim-came-from.html
TrickardRixx · 2022-12-14
I'm aware that I'm abusing the tool, but I wrote a htmx extension that overrides the mimetype and JSON encodes all the parameters. The JSON is decoded into a data bag on the back end. Basically I can do "fuck it over HTTP"[0] with needing close to zero JS. HTMX has been a god-send to me.
[0]: https://twobithistory.org/2020/06/28/rest.html
I misremembered the name, it is actually "fuck it, overload http"
jcynix · 2022-07-14
They where used for Chaosnet, which was, for example, implemented and usef on lisp machines from Symbolucs and others. cf. https://twobithistory.org/2018/09/30/chaosnet.html
marginalia_nu · 2021-12-10
Bonus additional reading: https://twobithistory.org/2019/11/06/doom-bsp.html
cxr · 2021-10-29
No, what JMAP is doing and what I described are two totally different things. My proposal centers on URIs and Fielding-style REST that requires no special knowledge of the server implementation or even media type. JMAP is straight up FIOH-style[1] "REST", requiring out-of-band information on both.
1. See <https://twobithistory.org/2020/06/28/rest.html>; also discussed in the comments at <https://news.ycombinator.com/item?id=29009729>
philwelch · 2020-11-21
REST isn’t an architecture for designing HTTP API’s; it’s an architecture for designing HTTP itself. https://twobithistory.org/2020/06/28/rest.html
xvilka · 2020-07-02
Semantic Web[1] reborn (after alleged[2] death)? Also I wonder how helpful Prolog infrastructure could be since they provided some useful frameworks [3][4] for that.
[1] https://www.w3.org/standards/semanticweb/
[2] https://twobithistory.org/2018/05/27/semantic-web.html
[3] https://www.swi-prolog.org/web/
[4] https://www.swi-prolog.org/pldoc/doc_for?object=section(%27packages/se…
v3gas · 2020-05-29
There's also this: https://twobithistory.org/2017/09/28/the-lineage-of-man.html
ashtonbaker · 2020-04-18
Check out two bit history! https://twobithistory.org/about.html
flobosg · 2020-03-27
I remember reading about the project and the BBC Micro in a nice writeup at the Two-Bit History blog: https://twobithistory.org/2019/03/31/bbc-micro.html
nellypat · 2019-05-26
This is a good write-up on this exact question: https://twobithistory.org/2018/05/27/semantic-web.html
eternalban · 2019-04-23
https://twobithistory.org/2018/12/18/rss.html
grep'd for Dave Winer, check. Grep'd for OP - not found.
kmelve · 2018-12-05
I think this article lends an interesting perspective on the XML vs. JSON thing. https://twobithistory.org/2017/09/21/the-rise-and-rise-of-json.html
shntx · 2018-10-19
Awesome. Two-Bit History's latest essay is also a fascinating dive into Lisp.
https://twobithistory.org/2018/10/14/lisp.html