Today I Learned

Browse by Category
codex

Preserving a Prompt Without Sending It Using the Codex CLI

I often use voice-to-text to prompt in the Codex CLI, one of my preferred agents these days. Sometimes, after the transcribed text lands in the prompt field, I realize I need to do something else before I send it. With Claude Code, I'd gotten into the habit of using <kbd>Ctrl</kbd> + <kbd>S</kbd>...

raspberry-pi

Reviving a Raspberry Pi with Claude Code

Sometime in 2021 (I think), I got a Raspberry Pi 4 and played with it a little and then it started collecting dust on my desk. Every time I looked at it, I saw lots of fun possibilities and lots of unfun software updates that I would need to work through before those fun things would be possible.

sqlite

Embeddings with sqlite-vector

About a year and a half ago I wrote about using sqlite-vss to store and query embedding vectors in a SQLite database. Much has changed since then and I'm working on a project that motivated another pass at querying embeddings on a local system for smallish datasets. The sqlite-vector project seemed...

dspy

Debugging DSPy token usage and prompts

As I've experimented more with DSPy, I've attempted to dig further into the details of the specific LLM I am using to better understand things like token usage, reasoning, and the specific prompts being sent to the model. While, DSPy's abstraction is one of the more lightweight for LLM frameworks,...

dspy

Intro to DSPy

The viral "how many r's are there in the word 'strawberry'?" problem is a great motivating example to experiment with the capabilities of DSPy, an increasingly popular, powerful library for running inference with language models. While the counting letters problem itself is a poor application of a...