All blogs / Lisp / Clojure / Scheme
the logic grimoire
- Posts
- 172 from 25 Feb 2009 to 23 Oct 2026
- Posting
- weekly (40 in the last year)
- Kind
- personal blog
- Feed
- https://logicgrimoire.wordpress.com/feed/
2026 36
- Drawing Pretty Pictures with the Scheme Prelude, and Other Ideas
- Hardening the trust base of PROVER, a simple proof checker over the natural numbers
- Adding Conservative Definitions to the Core of PROVER
- From Proof Checkers to Scheme; From Scheme to C
- odb – the Onion Debugger
- How I Orchestrate Multiple Coding Agents From My Phone Using Muse
- The Onion VM: upcoming decisions, and possible future targets
- “Because we can, and it’s fun”: More on Onion C, and the Onion virtual machine
- It might be fun to write a C compiler in Perl
- FURTHER TLDRAW OFFLINE ENHANCEMENTS I’D LIKE TO BUILD
- DESIGNING INTEROPERABLE DATA STRUCTURES FOR SCHEME, PROVER, AND A POTENTIAL FUTURE COMPUTER ALGEBRA SYSTEM
- Mini-review of the Evernote AI assistant implementation, 2026-08-01
- EXPERIMENTING WITH TLDRAW OFFLINE AS A DESKTOP ENVIRONMENT
- Heard on the Street 1.1
- PROVER, A PROOF ASSISTANT WRITTEN IN SCHEME
- A professional technical writing workflow using Claude Code
- MY EVERNOTE REPLACEMENT DREAM
- THE STORY OF CONFLUX, MY PLAINTEXT WIKI
- ONION SCHEME, NOW 5x FASTER, AND WITH CONDITIONS & RESTARTS
- FOR MY NEEDS AND USE CASES, SYNERGY IS JUST AS GOOD AS CLAUDE CODE NOW
- “A WHOLE NEW WORLD” FOR SYNERGY, THANKS TO CLAUDE FABLE
- REFACTORING SYNERGY’S APPLY-PATCH WITH CLAUDE FABLE
- DEED Edits Every Directory
- THE ‘CRUMBY’ APP DEVELOPMENT PLATFORM ™
- FZ: A FUZZY FINDER OF MY OWN
- MAYBE JUST A SIMPLE FORK IS THE WAY TO GO
- I DO THINK THERE IS VALUE IN SHARING SIMPLE THINGS
- IN SEARCH OF A SHARED WORKSHOP ENVIRONMENT
- A HOOKS SYSTEM FOR SYNERGY
- THE DESIGN OF A FORTH-LIKE “BLOCK EDITOR” ENVIRONMENT FOR COMMON LISP
- Some thoughts on LLM-assisted writing
- What is the possibility of being dealt a bridge hand with 4 aces?
- A TEXT EDITOR OF MY OWN : RUNE
- Announcing SYNERGY, a read-eval-print loop (REPL) for working with AI assistants
- A failure mode of modern educated people
- Some possible goals for 2026
2025 8
- I would still like to write my own constraint programming solver
- Notes from a weekend breathwork workshop at the Omega Institute with James Nestor
- How I think about Emacs after using it for twenty years
- A PERSONAL COMPUTING ENVIRONMENT THAT I CAN RELY ON?
- Phrases from where my mom grew up
- Adverse selection in the information warfare landscape that is the consumer internet
- Hallucinations? I’ve been doing that for years
- Reading Notes: Archimedes’ Revenge, by Paul Hoffman
2024 9
- Three Ways To Compute A Factorial in Scheme
- How (not) to shuffle an array in JavaScript
- The shuffling presidents problem in k
- weekly challenge 279 – solutions in the k programming language
- The Shuffling Presidents Problem
- Writing HTML by hand is easier than debugging your static site generator
- Emacs opinion: you don’t need an “API”, you don’t need to “advise ” anything, just edit the code
- Safari on iOS select all workaround
- My experiences so far with AI assistants (May-June 2024)
2023 17
- An Extreme Antipattern for Programming Books
- How I like to set up macOS
- Follow your own intuition
- de Méré’s Problem
- A die roll problem
- Why is SQL so successful?
- Tubes, by Andrew Blum (2012)
- Hachette v Internet Archive re: “Controlled Digital Lending”
- Why approximately everyone hates math
- Why I think everything after R5RS was a mistake
- On the recent public layoff emails
- How school attendance worked in the 90s
- Why old car analog dashboard controls are better
- Why I don’t like the new big pickup trucks
- On issue tracker consistency
- Some interesting small use cases for ChatGPT / LLMs
- Reading notes from the book ‘The Man from the Future’, a biography of von Neumann
2022 10
- Notes from reading the book ‘The Highly Sensitive Person’
- An idiosyncratic ebook reading workflow
- Some AI Product Ideas
- Why I don’t use emacs package.el
- Don’t break APIs
- I guess people don’t read anymore
- Everything should be an email
- Something must be done, averages are something, therefore we will use averages
- On the design of CLI tools on unix
- How to make Word Ladders using graph search
2021 3
2020 3
2019 4
2018 8
2017 6
2016 9
- Scripting JIRA
- Scripting Language Idioms: The “Seen” Hash
- How Dangerous is the Samsung Galaxy Note 7? It’s Safer than Driving
- How to Sync your Opera 12 bookmarks, history, and mail using Dropbox
- Editing Chrome Textareas with Edwin
- A Mini Python and Shell Tutorial
- How to Install the Pentadactyl Firefox Add-On
- Oh my, am I really considering XML?
- Advent of Code, Day 3
2015 13
- Advent of Code, Day 2
- Advent of Code, Day 1
- A Solution to the Five Weekends Problem in Common Lisp
- Emacs Compilation Mode Regexp for Perl 6
- Statistics over Git Repositories with Scsh
- Include Code Samples in Markdown Files
- How to Write Documentation for People that Don’t Read
- Reasons to Recommend Common Lisp
- The Sentinel File Pattern
- The Debugger is a Notebook
- Make your own iterators in Scheme using closures
- Why Libraries and Librarians are Amazing
- Why Markdown is not my favorite text markup language
2014 15
- How to install Perlbrew on Fedora 20 and use it with (m)ksh
- Scsh is UNIX, Part 1: Sockets
- Driving the Scsh disassembler from Geiser
- Review: The Hard Thing about Hard Things
- Best. Markdown. Writing. Setup. Ever.
- The Josephus Problem
- More Recommendations for Technical Writers
- Applying Lean Principles to the Documentation Lifecycle
- Thoughts on the 2014 STC Summit
- Scsh Manual Available in Texinfo Format
- SICP Exercises 1.5 through 1.7
- How to Rock CSV files with SQLite
- Simple Network Search in Scheme
- Geiser and Scsh are Talking
- SICP Exercises 1.1 through 1.4
2013 18
- Squeak’s Debugger is Addictive!
- Announcing confluence2html
- Rich’s Quick and Easy Guide to File Management with MuCommander
- Just for Fun: Accumulate
- Functions, Exponents, and Egg-Producing Hens
- Bottom Up Merge Sort in Scheme
- Turing’s Machine: A Simple Example
- Binary Search in Scheme
- SICP Exercises 1.10 through 1.13
- Scheme Idiom: Loop over an open file input port
- Just for Fun: Estimating pi with Scheme
- Recommendations for Technical Writers
- An Iterative Change-Counting Procedure
- Attempting to Count Change, Iteratively
- Edwin `dired-do-shell-command’ on files
- Reading Email from Edwin/Imail
- Edwin Support for External Schemes
- Trading Space for Time
2012 12
- Playing with Lisp Machines
- Word Count, scsh-style
- How I Built scsh 0.7 from Github (for newbies)
- How to calculate the circumference of a circle (without knowing pi)
- A First Guile Script
- How often will a bus jam the Lincoln Tunnel?
- What is a Continuation?
- A Scheme Code Kata, Explained (Part II)
- A Scheme Code Kata, Explained (Part I).
- A Scheme Code Kata
- What is the Highest Sum of a Number Triangle?
- Finding the Equilibrium Index of an Array