All blogs / Software / engineering practice
Schemescape
Software / engineering practiceLuaCommodore 8-bitDev tools / editors / IDEs
- Posts
- 120 from 11 Sep 2021 to 25 Oct 2026
- Posting
- monthly (10 in the last year)
- Kind
- personal blog
- Feed
- https://log.schemescape.com/feed.xml
2026 9
- QBasic, my first programming language
- Hacking SimCity 2000 saved games
- Commodore 64: the first computer I ever used
- Uncommon but useful static site generator features
- Using the Xteink X4, a minimalist e-reader
- Optimizing for text-mode browsers
- Self-hosted services, in a box?
- Personal web apps, part 1
- Finding a new web host for this blog
2025 15
- Beating myself at chess
- Writing a financial tracker for fun and paranoia
- The smallest embeddable scripting language, part 1
- Syntax highlighting for 150 languages in < 200 KB
- luasmith gets link-checking and improved Atom feeds
- A 450 KB static site generator based on Markdown and Lua
- Did the Google Domains sale to Squarespace open my domain up to phishers?
- Farewell to a netbook
- Minimal IRC server from scratch in Python
- Static site generators vs. build tools
- Minimal alerting on Linux for hobby projects
- 100 programming languages in one post
- Beyond 100 programming languages
- I apologize to the Python ecosystem
- New year, new programming languages
2024 25
- Yet more programming languages
- Python is the new BASIC
- Three quarters of the way to 100 programming languages
- Easy Script (Commodore 64) quick reference
- Stumbling along with Blazin' Forth
- Blazin' Forth/Starting Forth editor quick reference
- My new 40-year-old development environment
- R.I.P. The Living Computers Museum
- 100 programming languages in... more than 100 days
- Extreme Typing in TypeScript
- Celebrating International Amiga Day with Project Euler
- Reflections at 50 (programming languages)
- 50 programming languages in 58 days
- Solving Project Euler with a picture, using Piet
- One third of the way to 100 programming languages
- Project Euler in your BIOS
- One quarter of the way to 100 programming languages
- 11 programming languages in one week
- TEC Redshift disc-dumping tool
- Wrapping up week 1 of the 100 languages challenge
- Using SectorLISP for Project Euler
- Running SectorLisp on Hyper-V
- 100 programming languages, day 1
- 100 programming languages in 100 days
- Minimal dev environment, part 5
2023 25
- SIC-1 is going open source
- A Common Lisp static site generator, because why not?
- My hobby is... bikeshedding?
- Investigating slow file enumeration in SBCL on Windows
- Building the fastest static site generator... or not
- Building a browser-based app without JavaScript, part 2
- Building a browser-based app without JavaScript
- Creating Windows-style paths (backslash-separated) from pathnames in Common Lisp
- Porting a browser-based game to Steam, on Linux (part 2)
- Porting a browser-based game to Steam... on Linux
- Retrospective: Lisp Game Jam (Spring 2023)
- Lisp Game Jam (Spring 2023)
- Resources for learning Common Lisp
- It's 2023, so of course I'm learning Common Lisp
- JavaScript runtime startup performance
- Speeding up md2blog, part 3
- Minimal dev environment, part 4
- Speeding up md2blog, part 2
- Reflecting on my first release on Steam, SIC-1
- Speeding up md2blog
- Future-proof programming languages, part 3
- Minimal dev environment, part 3: introducing "leano", a tiny Deno-compatible runtime
- In search of a minimal development environment, part 2
- Future-proof programming languages, part 2
- In search of a minimal development environment
2022 15
- SIC-1: A single-instruction programming game
- Porting a browser-based game to Steam (part 3)
- Porting a browser-based game to Steam (part 2)
- Testing out Zig... for C/C++ code... on Windows
- Porting a browser-based game to Steam
- May 16th, 2022
- Generating music using machine learning (part 2)
- Generating music using machine learning
- MITx - 6.036: Introduction to Machine Learning
- Getting started with machine learning
- First impressions of Python
- Testing out C# in 2022
- Future-proof programming languages
- Frameworks for porting web apps to the desktop
- My first experience with Rust
2021 31
- md2blog 1.1.1 released
- One month with Deno (part 2)
- One month with Deno (the good parts)
- Designing md2blog 2.0
- Why I'm starting to sour on Node and NPM
- NPM requires X11 on Debian. Wait, what?
- Embedding VS Code's Monaco Editor using a CDN
- Designing md2blog, a zero-config static site generator for dev blogs
- Metalsmith's downsides
- Generating SVG diagrams automatically with Metalsmith
- Compiling Graphviz to WebAssembly (without Emscripten)
- WebAssembly objects, libraries, and linking (for C code)
- Passing strings to and from WebAssembly using C
- Syntax highlighting for a static site built with Metalsmith
- Can you use CommonJS modules from within an ES module?
- WebAssembly and the C standard library
- A trivial WebAssembly example
- WebAssembly overview
- Generating diagrams when building a static site (part 2)
- Generating diagrams when building a static site (part 1)
- Finding the cheapest hosting for my hobby projects
- Embedding images directly into Markdown posts -- terrible idea?
- Test-driving Metalsmith for a simple dev blog
- How to benchmark disk drives on Windows
- Test-driving Eleventy for a simple dev blog, part 2
- Test-driving Zola for a simple dev blog
- Test-driving Eleventy for a simple dev blog
- Test-driving Hugo for a simple dev blog
- Finding the right static site generator
- Static site generation anecdotes
- My ideal static site generator