The Common Lisp cookbook

The Common Lisp cookbook

https://lispcookbook.github.io/cl-cookbook/

Part tutorial and part recipe site for topics ranging from the common (syntax, the loop macro), to the advanced (packages, multi-threaded web application programming, building stand-alone binaries). It’s extremely thorough in terms of the patterns used in real Lisp code.

I think the most useful aspect is that the recipes go well beyond what’s built-in to Lisp and tackle some of the common (and not-so-common) packages: the chapter on arrays goes into a couple of linear algebra packages, for example. It also has useful chapters on development tasks like profiling and continuous integration.

Lush

Lush

Lush: my favorite small programming language

A blog post all about Lush, a small language that the authors present as a “Lisp Universal SHell” whose main features are its ability to integrate simply with underlying libraries with the interactivity of Lisp. And it’s a full Lisp, with a compiler, a macro system, an object system, and (importantly for what comes next) high-performance arrays and tensors.

Lush’s main claim to interest is that its authors include Yann LeCun, Yoshua Bengio, and the other researchers who went on to have a massive influence on the resurgences of interest in deep learning neural networks. Indeed, the first version of the Torch package, which later became PyTorch, was written in Lush. Lush’s arrays make use of a sub-language modelled on APL that leverage Lush’s ease with foreign functions to call into underlying C kernels for tensor operations.

This is a great example of how Lisp’s claim to fame as a language for doing AI has continued into the “new” AI era of deep learning models. It also shows that, if you believe that Lisp’s dynamism and flexibility are an advantage to you, there are no barriers to continuing to benefit from that even if you need to access a wider ecosystem of tools. It’d be interesting to understand the performance trade-offs in this: what is the performance of a Lush algorithm that makes extensive use of its array language, and how can this performance be maximised using higher-level language constructs of the sort Lisp encourages?

The Signal and the Noise: The Art and Science of Prediction

Nate Silver (2012)

An essential book for anyone concerned with “big data” or any aspect of science of forecasting. Silver casts an experienced (and somewhat jaundiced) eye over a range of commonly-encountered forecasts, including politics (his own main area), poker, finance, and climate change. In each area he manages both to convince that forecasts can be made to good effect — and to demolish many of the current practices one finds in these areas. On the way he discusses Bayesian statistics, the psychology of a good forecaster (be a “fox,” not a “hedgehog”), how to spot bias, and gives some critical advice that would be of useful to anyone looking to apply such techniques. Should be required reading for all science PhD students.

5/5. Finished Tuesday 17 February, 2026.

(Originally published on Goodreads.)

Lisp from nothing

Lisp from nothing

nil

Nils Holm. Lisp from Nothing. Lulu Press. 2025.

This is a fascinating book that’s very old-school – and I mean that in the best possible way. It does exactly what it says: develops a Lisp interpreter (and then a compiler) from first principles, bootstrapped on top of an existing Lisp or Scheme against a runtime written in C, with all code provided.

It’s more than this, though. There’s a thorough discussion of the differences between dynamic and lexical variable scope (and the implications for both programming and implementation). There’s a digression into pure lambda calculus and the complexities that it introduces. There’s a basic mark/sweep garbage collector. There’s a brief history of Lisp and Lisp machines. And there’s a performance evaluation that digs into where the costs lie within the system.

Overall this is a book that every implementor should read, if only to see some other parts of the possible design space for Lisp tooling. Many applications will want to occupy a different point in that space, for example providing a richer compiler, or a richer runtime. But there’s a lot to learn from the simplicity of the choices made here.

The Knowledge: How to Rebuild Our World from Scratch

Lewis Dartnell (2014)

I’m hard-put to classify this book. On the one hand it’s an engaging and valiant attempt to illustrate the crafts that would need to be retained (or rediscovered) after a civilisational collapse – or at least after one kind of collapse such as a pandemic that leaves the infrastructure intact by decaying rather than pulverised. Dartnell seems to think a more fierce collapse would be unsurvivable, and so focuses on the more positive possibility.

He traverses a lot of technologies, including for agriculture, building, transportation, clothing, chemistry, and communications. He (correctly in my view) identifies the scientific method itself as the most valuable technology to retain, and explores some of the ways in which modern society is contingent on specific historical accidents that a re-booting society need not copy.

But it’s also frustrating. As a scientist and engineer I wanted more detail: perhaps there’s a need for another, “how to” manual alongside this book. And Dartnell seems to have a very cavalier attitude towards safety, mentioning and understating the dangers of (for example) lye once and then making use of it extensively, which is a recipe for disaster on the part of any practitioners. And the book is a little too broad, rather than focusing on the technologies of immediate relevance in the aftermath of disaster: should we really be thinking about building vacuum-tube electronics when even basic agriculture is such a challenge?

Despite the positivity on display, reading this confirmed my thinking that a recovery after a disaster would be protracted, with no way to avoid a return to feudalism and warring bands. In that sense technology would be the least of the survivors’ worries.

3/5. Finished Saturday 22 November, 2025.

(Originally published on Goodreads.)