One year of LLM usage with Clojure

A year-long journey of using LLM agents with Clojure at Shortcut, exploring the challenges of working with a 250,000+ line Clojure codebase and discovering solutions through tools like Clojure MCP and pi-agent. This post chronicles our evolution from struggling with Claude Code's limitations to achieving effective Clojure development with LLMs through custom system prompts, REPL-driven workflows, and the right tooling-proving that LLMs can work excellently with languages beyond Python and TypeScript.

Read more →

On Dyslexia, Programming and Lisp.

This essay explores the connection between dyslexia and different syntax for programming languages. It explores the idea that for dyslexics, Lisp and S-expression-based languages are ideal programming languages.

Read more →

New Blog Setup

I've migrated this blog to a new stack: Lektor for static site generation, Pandoc for resume building, and GitHub Actions for deployment. I also created a PlantUML plugin for inline diagram rendering. The focus is on writing content, not maintaining build systems.

Read more →

Using Pandoc to Build a Technical Manual

Learn how to build a technical manual using Pandoc, the universal document converter. This guide covers Pandoc's transformation system, PlantUML diagram rendering, custom filters, and templates. Includes a cookiecutter template to get started quickly with a complete documentation setup.

Read more →

Hello, World

Welcome to Software Wanderings! This blog explores software design, functional programming, API design, and more. I'll share insights on Clojure, JavaScript, TypeScript, Rust, Scheme, and SQL while documenting my journey through game development, immutable Linux distributions, and technical writing.

Read more →