
Nano-Blog
A collection of short items related to the culture and practice of software development.
§ June 29, 2025
-
Alan Kay's Quote About the Web
Alan Kay requires no introduction among computing professionals. Along with Doug Engelbart and Ivan Sutherland, to a large degree he defined what modern computing looks like. But he had a few critiques for "The Web".
The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made.
When was the last time a technology with a scale like that was so error-free?
The Web, in comparison, is a joke.
The Web was done by amateurs.
This quote later inspired the title of Marco Aiello's 2018 book The Web Was Done by Amateurs: A Reflection on One of the Largest Collective Systems Ever Engineered. It's worth checking out if you're hip to critical evaluations of how large groups make things.
§ June 22, 2025
-
A Nice Video About Lisp Machines
The Asianometry channel on YouTube recently published a very nice video about the history of Lisp Machines. Like all of Asianometry's videos, it's well-researched and a pleasure to watch. Worth a watch if you're interested in how we got to the current AI tech environment.
§ June 20, 2025
-
Artificial Intelligence is five years in the future and has been for the last twenty.
The editorial staff at the Bit-Roastery went looking for the source of this quote and came up empty. But it's too good of a quote to keep to ourselves. Everyone here is absolutely certain they encountered a quote like this sometime in the 1970s or 1980s, so none of us are claiming we came up with it.
But it makes us wonder. Did we all have a group hallucination about encountering this quip? Or did a large artificial intelligence take over Google and Microsoft and edit their search index to leave only positive comments about machine intelligence? Will our search rankings be forever lowered because we are publishing these conspiratorial thoughts?
We would be surprised to discover any of this is true, but it makes one wonder. What did Google (and Bing) do to their search index to make what we all remember as a pithy quip from the 80s disapper down the memory hole? Researcher Darin Morgan published the results of his investigation several years ago:
§ June 11, 2025
-
Like BASIC, Python and FORTH, Lisp is more a family of languages than a single specification. Compare and contrast to C and C++, whose definitions are (largely) rigidly defined. The joy of C, is ubiquity, simplicity and reverse compatibilty — all features descending from it's tight specification. But the joy of Lisp is it can morph to fit an application, system or situation.
And this is part of why Lisp Flavored Erlang is so interesting. Lisp is easily adapted to target the BEAM Virtual Machine. This gives you the "Non-Stop" features of Erlang and it's virtual machine combined with the expressiveness of Lisp. Well worth checking out.
-
All Watched Over by Machines of Loving Grace
I like to think (and
the sooner the better!)
of a cybernetic meadow
where mammals and computers
live together in mutually
programming harmony
like pure water
touching clear sky.
I like to think
(right now, please!)
of a cybernetic forest
filled with pines and electronics
where deer stroll peacefully
past computers
as if they were flowers
with spinning blossoms.
I like to think
(it has to be!)
of a cybernetic ecology
where we are free of our labors
and joined back to nature,
returned to our mammal
brothers and sisters,
and all watched over
by machines of loving grace.
§ June 7, 2025
-
Literate Programming (LP) is a concept first described by Donald Knuth in the 1980s. He noted that parsing techniques were advanced enough to extract source code from texts otherwise intended for human consumption. By tagging blocks of code it was possible to type human-language code narratives around the source code, ideally highlighting a code fragment with a potentially extended discussion of its design or intent.
There's a bit more to it than this simplistic description would imply. How do you merge bits of code that may be functionally related but appear in differnt parts of the narrative? How do you specify compilation context? None of these questions are insurmountable, but should be addressed.
An early paper on Literate Programming is mirrored on the web at http://www.literateprogramming.com/knuthweb.pdf. And Knuth maintains a Literate Programming page on his site at Stanford: https://www-cs-faculty.stanford.edu/~knuth/cweb.html. The latter references the text "The CWEB System of Structured Documentation" and the book called "Literate Programming" contains more essays about software. All can be recommended. The articles are short and the texts are inexpensive.
-
AppCypher's List of Awesome WebAssembly Languages
Stephen Akinyemi (aka AppCypher) maintains a list of programming languages that can generate Web Assembly bytecodes. If you're interested in such things, point your browser at this GitHub repo: https://github.com/appcypher/awesome-wasm-langs.
§ June 5, 2025
-
System-Crafters posted this video a year ago. It's sort of a rambling review of the Fennel language, its tools and community. It is probably a little longer than it needs to be, but the presenter is personable and the information is good. Worth a watch if you're not on a deadline.
-
Fennel, the Lisp that Compiles to Lua Byte-Codes
Fennel is a newish Lisp dialect which complies down to Lua. Lua is a delightful non-lisp language from Brazil which has gained a bit of a following over the decades. It's been used as an extension language, similar to the way Guile or TCL were once intended to be used. The Lua Virtual Machine is simple and well defined and has even run on microcontrollers. It even works well in the browser.
Fennel merges the increasing ubiquity of Lua with the syntax and macro system of lisp. A plethora of packages are avilable via Lua's package manager, LuaRocks. And now you can easily access that functionality via Fennel.
Fennel is not without some warts, however. It seems to have been strongly influenced by Clojure. But one person's wart is another's feature and though Fennel's conventions are more complex than a bog-simple Lisp, the complications appear to have derived from extended discussions in the community. Fennel requires you to keep more in your head than Pico-Lisp, but so does Scheme and SBCL. Fennel appears to be a somewhat refined language easily usable in places where Tiny- or Pico-Lisps often show up.
§ June 3, 2025
-
Many decades ago, the Pascal Programming Language was popular. One of the reasons was the complexity of solutions which could be extracted from a language with a simple syntax. If you look at early versions of Java, it's paucity of features could be said to mimic Pascal instead of C++.
A bit of wall-art from the era was this poster from an early Apple Computer. This digital version is archived at the Internet Archive (Pascal Poster). Geeks of a certain age may remember this.
Figure: "Train-Track" Diagram for Apple Pascal Syntax