Loving Common Lisp, or the savvy programmer’s secret weapon

Loving Common Lisp, or the savvy programmer’s secret weapon

nil

Mark Watson. Loving Common Lisp, or the Savvy Programmer’s Secret Weapon. Leanpub. 2023.

While pitched as a way of sharing the author’s enthusiasm for Lisp (which really shines through), this book is really a deep demonstration in using Lisp in modern applications – from web APIs and the semantic web to deep learning, large language models, and chatbots.

In some ways, like many other Lisp books, it’s really two books in one. The first chapters are introductory – and to be perfectly honest could be dispensed with, as they’re inadequate as a proper introduction and there are far better introductions out there. The later chapters focus on applications, and provide the real value. One could criticise them as often tying-together tools in other languages, with the Lisp code basically being glue; but that’s a very effective way of leveraging all the code and services out there, and is an important technique for Lisp programmers too.

Lisp in space

Lisp in space

Lisp in space (podcast, 38 minutes)

An interview on the Corecursive podcast with Ron Garret.

In 1988 (when, for context, I was in the second year of my BSc) Garret started working on autonomous navigation software for Sojourner, NASA’s first Mars rover, which flew in 1997. He used Lisp to do planning, essentially developing an entire domain-specific language for autonomous vehicles. The project was never flown, as NASA opted for a far less ambitious approach to driving to rovers – a decision that Garret now considers to have been the correct one.

But that isn’t the end of the story, because Garret then went on to develop an autonomous Remote Agent controller for the Deep Space 1 technology demonstration mission that performed asteroid and comet fly-bys. Without spoiling to story, the spacecraft flies with a full Lisp system onboard, and Garret gets to interact with its REPL at a distance of 30 light-minutes via the Deep Space Network – surely the longest latency of any REPL session ever!

It’s an fascinating insight into both the potentials of Lisp and the political difficulties that using a non-standard development language can engender.

UPDATE 2024-05-16: Ron also wrote a short essay about his experiences.

Red Memory: The Afterlives of China’s Cultural Revolution

Tania Branigan (2023)

It’s unusual to read a book that probably couldn’t have been written before or after it actually was: the political environment of China thawed just enough to give people confidence to speak to a foreign author about the events of the Cultural Revolution.

The horrors shine through, in the memories of the young Red Guards and their victims. But so too do the current sensitivities, not least in the rather farcical museums and monuments that can be found across China – but that can’t be visited, because the custodians race to close them up “for maintenance” as soon as a visitor arrives. It’s a different approach to that described in Between Two Fires: Truth, Ambition, and Compromise in Putin’s Russia, where museums are re-assigned to new curators who subtly change their message, but it reinforces the fears that authoritarian regimes have of their own histories and those who might actually remember them.

China has never had a public reckoning with the Cultural Revolution – and it doesn’t look that it will have one for a long time. The message of this book is that this hiding of the past continues to do damage to the present, not least because it provides a vague and unexamined fear of disorder that can be used to justify repression “in case it happens again”. But the fact is that it didn’t just “happen”: it was commanded, by a regime that’s the linear predecessor of the current leadership who seem to want to both disown it and levarage it for their own ends.

4/5. Finished Saturday 30 March, 2024.

(Originally published on Goodreads.)

Lisp hackers: Interviews with 100x more productive programmers

Lisp hackers: Interviews with 100x more productive programmers

nil

Vsevolod Dyomkin. Lisp Hackers: Interviews with 100x More Productive Programmers. Leanpub. 2013.

I’m not convinced by the sub-title: at the very least, there’s no evidence to support the claim that Lisp programmers really are hundreds of time more productive. But there are some serious insights here from individuals who’ve made serious contributions to the Lisp world – and beyond. The contributions all take the form of email interviews consisting of a standard prelude of questions (how did you discover Lisp?, do you use it at work?) followed by a couple of questions tailored to the interviewee.

The practitioners selected have all been affected by Lisp, either in terms of it changing their own thought processes, or by helping to develop the core ecosystem, or by applying Lisp to real-world problems, and often to great effect. My favourite was the discussion with someone who was using Common Lisp to develop low-latency network routing for financial services: it’s hard to think of a better example of Lisp’s power and range.

My Lisp experiences and the development of GNU Emacs

My Lisp experiences and the development of GNU Emacs

My Lisp Experiences and the Development of GNU Emacs

The never-dull Richard Stallman talks about his experiences with Lisp and with the development of Emacs. It’s got some useful observations on why Lisp became the core of Emacs: it was news to me that this hadn’t always been the case. It started with an “editor control” language in the spirit of editors like ed. But as people wanted more support from their editor, they wanted to program it more effectively.

The language that you build your extensions on shouldn’t be thought of as a programming language in afterthought; it should be designed as a programming language. In fact, we discovered that the best programming language for that purpose was Lisp.

The result was a re-write of Emacs in C (for portability), with a Lisp interpreter specialised towards editing tasks.

He then gives an insider’s perspective on the Lisp machines and their evolution, as well as revealing the genesis of his ideas for the free software movement. While these are interesting to read, it should be noted that much of it has been rebutted: his description of the formation and later history of the two spin-outs, Symbolics and Lisp Machines Inc, is strongly disputed by Dan Weinreb on his blog.)