Software Development
21 pages · RSS feed
- Stars measure interest, not usage. After a year of MindRoom, with forks of a Matrix client, two Matrix servers and a Matrix web client, plus 126 workarounds for one AI framework, my rule is: depend on what millions of projects use every day, roll your own when a library only gives you the easy part, and fork when the problem is hard and few people use the code.
- For years, a Docker container was a good enough box to run code in, because getting out of one usually needed a hard-to-find bug in the Linux kernel. Now AI models are good at finding those bugs, and AI agents write the code running inside the containers. This post explains what the kernel does, how containers use it to fake a separate computer, why that is a problem now, and how six lines of code let MindRoom give its agents a stronger wall.
- I assumed every model is trained inside its vendor’s own coding agent, so I expected it to work best with the same tools, and best of all in a minimal agent with nothing but its native shell. Over more than 4,000 runs of 12 short terminal tasks, the native tools made only one model clearly more efficient, Claude Opus 4.8, made GPT-6 Astra and Sol use 43 to 59% more tokens, and the minimal agent won on its own.
- TypeSafe’s Jev, a new fast and cheap classifier model that doesn’t require fine-tuning, was suddenly, literally everywhere I looked, so I tried it in MindRoom. I now use it for small decisions I would never have spent an LLM call on, like whether a “thanks” should interrupt an agent that is still working.
- I have run coding agents in YOLO mode since I started using them. Instructions in AGENTS.md did not stop them from force-pushing or merging PRs, so hooks do. As the models got better, I added an override the agent may only use after I explicitly approve an action.
agent-cligrew from a voice helper into a local AI toolbox with 13 optional extras. Asking users to pick the right extras upfront became impossible, so I switched to runtime optional dependency resolution: commands declare what they need, missing extras are installed automatically in the correct environment, and the command re-runs transparently.- I built a CLI that creates isolated development environments with git worktrees, automatically installs dependencies, and launches your AI coding agent in a new terminal tab—all in one command.
- I wanted my AI agents to remember me and read my documents, but existing solutions required complex APIs or opaque databases. After my ambitious AI Journal project hit the wall of local model limitations, I took a different approach: clone LlamaIndex, LangChain, Letta, Mem0, and PydanticAI, study how SOTA systems work, and re-implement the best parts with minimal dependencies and ONNX instead of PyTorch.
- I tested the new Gemini 3 Pro Preview for agentic coding. While it’s powerful enough to build complex features in hours, it suffers from anxiety loops, aggressive force-pushing, and existential crises when you try to help it.
- My mostly self-hosted mobile development loop: WireGuard from an iPhone into my NixOS machine, persistent Blink/Mosh sessions, a systemd-managed agent-cli server, and an iOS Shortcut for FasterWhisper+Ollama dictation—paired with the best proprietary coding model available.
- After initially struggling with ‘vibe coding’, I discovered how agentic AI tools fundamentally changed my approach to software development. I share concrete data showing an explosion in productivity and explain why I recently switched to GPT‑5 with Codex CLI for model quality.
- A personal journey of buying a gaming PC and accidentally falling down the rabbit hole of local, private AI. I share my experience building agent-cli and AIBrain, the tools I used, and the lessons I learned along the way.
- Exploring my seemingly hypocritical stance on dependencies: strict minimalism for my libraries, expecting adoption of my own work, yet embracing a wide range of dependencies in applications due to context and isolation.
- Exploring my preference for a functional programming style in Python, utilizing small, focused functions and simple data-holding classes while largely avoiding inheritance, leading to more maintainable and testable code, while still using classes where they make sense for APIs.
- While “vibe coding” can quickly produce working prototypes, my experience shows why it shouldn’t be used for production code without careful human oversight.
- Clarifying GPL licenses (GPLv2, GPLv3, LGPL, AGPL) and how they affect Python software, including the concept of “linking” in Python through imports.

- A Python package for creating engaging code walkthroughs in your terminal with rich highlighting options and interactive navigation.

- Struggling through Pyenv, Pipenv, venv, Virtualenv, Homebrew, Anaconda, Miniconda, Micromamba, Pixi, and uv
- An overview of how Git worktrees can simplify your workflow by allowing simple management of multiple branches within a single repository.
- A look at my preferred tools for improving code quality, testing, automation, and documentation in Python projects.

- Exploring quantum device simulations, adaptive sampling, and neural networks to create beautiful thesis covers
