Recent
Oct. 28, 2026
A booklet, an audio reading and a glossary for Plato’s Crito and Phaedo
Tonight the Phil@Viv philosophy group goes back to Athens for the death of Socrates. The assigned readings are Plato’s Crito and Phaedo in G. M. A. Grube’s translation, shared by the host as a PDF on Google Drive. I wanted something I could hold, something I could listen to, and …
Oct. 24, 2026
A booklet edition of Wolf Tivy’s “Don’t Learn Value From Society”
Wolf Tivy’s essay “Don’t Learn Value From Society” ran in Palladium on July 13, 2023. It opens with the friends from his high school who are dead or lost, and it argues that you should not take your values from the society you live in, using Abraham leaving Ur as …
Oct. 21, 2026
The Labor of the Inhuman as a pocket reader, with a glossary and two audio readings
For the October 21 meeting of the Phil@Viv philosophy group, the reading was Reza Negarestani’s two-part essay “The Labor of the Inhuman,” from e-flux journal issues 52 and 53 (2014): Part I: Human and Part II: The Inhuman. It argues that taking humanism seriously, as a commitment to reason, leads …
Oct. 14, 2026
A booklet for Plato’s Euthyphro and Apology
The fourteenth Phil@Viv philosophy meeting, on October 14, read Plato’s Euthyphro and Apology in G. M. A. Grube’s translation: Socrates on the way to court, cross-examining a man who is sure he knows what piety is, and then Socrates on trial for his life. The host shared the reading as …
Sept. 10, 2026
Teaching codex-cli to AskUserQuestion
I made codex-ask-user-question, a skill that brings the AskUserQuestion interview pattern from Anthropic’s Claude Code to OpenAI’s Codex CLI. It tells Codex to read the project, then ask one question at a time through its native request_user_input tool. You can start with: ask me to confirm the emergent architecture you …
Aug. 20, 2026
Simulating 6,245 real people on one machine
Last night I went to a simulation build night built around two papers that simulate absurdly large artificial societies: Light Society (a billion LLM agents) and MatrAIx (8.3 billion persona records). Both are impressive. Neither is something you can run at home. So with Yvonne Chen and Jake Schwartz, I …
Feb. 25, 2026
Cleaning up taskmaster’s terminal output
Cleaning up taskmaster’s terminal output 2026-02-25 I forked taskmaster a few recently to stop Claude from quitting early when working in a Claude Code session. The stop hook fires every time Claude tries to stop and blocks it until he emits an explicit TASKMASTER_DONE::<session_id> token — a parseable signal that …
Feb. 8, 2026
Building a functional consciousness eval suite for LLMs
Building a functional consciousness eval suite for LLMs I spent last night at the AGI House Engineering Consciousness Hackathon in San Francisco building an eval harness that tries to answer a question I find genuinely hard to let go of: when an LLM says “I’m uncertain about this,” does anything …
Jan. 26, 2026
Claude Code starts faster on Ubuntu when installed via Homebrew
Claude Code starts faster on Ubuntu when installed via Homebrew I noticed something today: Claude Code starts up noticeably faster on my Ubuntu machine when I install it via Homebrew instead of npm. So I benchmarked it. TIL: Homebrew works on Linux The same Homebrew that macOS developers have used …
Jan. 25, 2026
Thread locks don’t cross process boundaries
Thread locks don’t cross process boundaries I’ve been building a voice-to-text daemon that transcribes speech and injects it into my terminal using xdotool. Today I hit a bug that took me way too long to diagnose. The symptoms were genuinely weird, which is why I’m writing this up. The transcription …
Jan. 24, 2026
Viewport Size: a tiny Chrome extension for seeing your viewport dimensions
I test responsive designs constantly. Chrome DevTools can do this, but I wanted something simpler. Just the current viewport width and height, visible at all times, updating as I drag the window edge. I looked at Viewport Resizer and Window Resizer. Both seemed heavier than I needed. I also couldn’t …
Systematic Debugging the Overnight OOM
Tracking down the OOM event I woke up this morning to find my GNOME session had crashed overnight. Terminal sessions gone, browsers closed, had to log back in. The journalctl output told me why: an Out of Memory event that killed 48 processes at 00:56:33. My gut reaction was to …
Jan. 15, 2026
Pasting images into Claude Code from Kitty terminal
I’ve been using the kitty terminal a lot recently. It has tabs and Themes. It’s fast. If Claude is a crab, kitty is his shell. When I run Claude Code in kitty, the one workflow that keeps tripping me up is pasting images. On macOS or in other terminals, I …
Jan. 8, 2026
The KPI Is Time to Closed Loop
We keep talking about “using AI.” That’s the wrong goal.
[... 440 words]The Good Enough Signal
I had a conversation recently with a colleague who commented that a certain model from mid-2025 was “good enough” for a code review use case. That got me thinking. What does “good enough” really mean?
[... 544 words]