Developing electrobillion, an educational power grid simulator
Micro-toy to mega-project, many lessons in this one!
TU Wien Lecture: High-Performance Parallel Graph Analytics: Scalable Algorithms and Frameworks for Discovering Structure in Massive Networks
Brief Biography: David A. Bader is a Distinguished Professor and the founding Director of the Institute for Data Science at the New Jersey Institute of Technology, where he also founded the…
Building My Second Brain on OpenClaw (Part 5)
>- Complete guide to securing your OpenClaw AI assistant. Learn how to implement firewall rules, file permissions, tool allowlisting, and automated security monitoring for production deployments.
Case Study: Reframe — Building an AI Shopify App Solo, From First Commit to Paying Merchants
How I built and run Reframe, an AI product-photo app for Shopify merchants: the architecture decisions that let one person operate a GPU pipeline in production, how session recordings drove churn…
Remote Flutter development with Mutagen
I write a Flutter app in a container on a Hetzner box and build it on my Mac. Mutagen copies each change to the Mac over SSH, not Docker.
The remote development mirage
A post on X predicted that development would all move to remote sandboxes. Here is why I think that is a mirage, what makes the model attractive to executives and unappealing to developers, and where…
Hardware-in-the-Loop CI: Line-Rate VPP Testing over Tailscale
TL;DR. Testing a data plane at 100GbE line rate needs real NICs running VPP — which no cloud CI runner has. So an ephemeral GitHub Actions runner joins a private two-machine lab over Tailscale,…
AI took my job as a coder. Then it made me a better software engineer.
Many developers are watching AI agents generate bad code, introduce bugs, and erode their skills. I'm having a different experience. The post AI took my job as a coder. Then it made me a better…
I love the command line
Open article.txt
Software Architecture: After Infatuation Comes the Shock
In 2014, when I was working as a professional developer at a gaming company with around 25 developers, I heard about microservices for the first time at a conference - and was immediately excited. We…
Scheduling actions in the GitHub Copilot CLI
The GitHub Copilot CLI keeps getting more capable. One of the newer additions is the ability to schedule prompts, either on a repeating interval or as a one-shot delayed action. Let me walk you…
zomboid.pro 4.0 is live!
a lot of stuff has been removed, hopefully temporarily, but most of the site has been rebuilt to simplify my ease of coding, and finally with semantic html! epic cool!
Gor Nishanov (1971-2026)
I am deeply saddened to report that this weekend, far too soon, we lost Gor Nishanov: a friend and colleague, an extraordinary software engineer, and a long-serving member of the C++ standards…
BMC Next with Agentic Coding
I've avoided going deep with LLM usage, including for agentic coding. This is has been for a number of reasons. I don't want to be sending data to US tech platforms is a big one. I don't want to…
A Custom Pull-to-Refresh in SwiftUI
Greetings, traveler! SwiftUI provides a built-in .refreshable modifier, which covers the majority of use cases. At some point, product requirements start to demand more control over the refresh…
Getting Started with netlab @ Cisco DevNet
Cisco DevNet channel has published an hour-long Getting Started with netlab interview with Suresh Vina , resulting in netlab.tools documentation having more weekly visits than ipspace.net blog for…
Worse is better
The most popular technology may not be the best. In 1989 Richard P. Gabriel coined the term Worse is Better , a clearly humorous take on certain tendencies in software development and design as he…
Little Dotx
As you may recall, I solicited help here to fix my Comic Book Script Writing template for the PC version of Microsoft Word. It started as a joint project of myself and my friend Steve Gerber, a long…
Cloudflare Analytics Engine: store and query metrics
How to write custom events from a Worker with Analytics Engine and query them later with SQL. Cheap, high-volume time-series data.
The Agent Without a Face
There are two ways to use a coding agent: sit in its terminal, or take its face off and drive the engine from your own code. If you're building anything around agents, the second mode is the whole…
Post #36: A Solved Mystery Brings More Questions
Thanks to everyone who responded with ideas to my Post #28: A Failed Refactoring . I dug into this today and found the reason why the signals for the mouse events weren't firing 🎉 The Result Here is…
Updated Cache Out to Include New Browser Support
Added support for cleaning Arc, Dia, and Vivaldi. New Enable All / Disable All toolbar buttons. Enable All now selects only the browsers and options that actually have data to…
No title
6/28/2026, 10:07:26 PM Welp, I added a slider to Ocean Heat Energy. I thought about it during initial development, and it was requested a few times after release.I think that, for the data to have…
Devin CLI Tutorial: Essential Commands, Models, and My Experience Building iamspeed.dev
I recently used Devin CLI to build iamspeed.dev, an LLM streaming benchmarker that measures Time to First Token (TTFT) and tokens per second in the browser. The model I primarily leaned on was GLM…
Neovim LSP, linting, and formatting: the clean way
I’ve recently completely revisited my Neovim config and took the extra mile to also streamline how it manages LSP, linting, and formatters. I had enough to remind myself to maintain and sync…
Run Obsidian as a self-hosted web app
Obsidian has been my primary personal knowledge management solution for years. S
Setting Up Mem0 OSS Memory for Hermes Agent
Adding self-hosted Mem0 memory to Hermes Agent with pgvector and Ollama, plus the footguns I hit along the way
WWDC26: Alerts
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account. --- Point-Free does…
Turning Strava data and gym photos into a training recap with my coding agent
Strava’s metrics alone couldn’t tell the story of my training, because important context lived in photos of my gym’s whiteboard. Here’s how I combined Strava data with a coding agent’s vision layer…
Q2 2026
Hi! A couple of side-project updates: keeping my archival tool alive, ssh-over-web-browser tailored to my needs, and a slightly better dictation CLI. Archivist Updates I continue to use, and get a…
Hire Me (Taylor) via API
Yes, I am building a dystopian cyberpunk hellscape.
Thinking About Progressive Timestamp Input Fields
While using a system that required me to enter a full timestamp, complete with milliseconds, reminded me of a timestamp variant I added to a project. This was a text field that allowed the user to…
Enabling the Xcode 27 MCP Server in Claude Code
Xcode 27 exposes an MCP server that greatly improves how agentic coding can operate on your projects.
Unlearning the Tidyverse
Unlearning the Tidyverse R My motivation to unlearn the Tidyverse after eight years using it. Author Mauricio “Pachá” Vargas S. Published June 29, 2026 Why I have been working in a project with the…
Is Agent Code Less Maintainable? What CodeThread Reveals About Codex CLI Output and How to Defend Against Drift
Is Agent Code Less Maintainable? What CodeThread Reveals About Codex CLI Output and How to Defend Against Drift
Over-Privileged Tool Selection: Why Your Coding Agent Reaches for the Admin Key — and How Codex CLI’s Hook Pipeline Stops It
Over-Privileged Tool Selection: Why Your Coding Agent Reaches for the Admin Key — and How Codex CLI’s Hook Pipeline Stops It
Managing the caption of a photo with AppleScript (but not PhotoKit)
Get/set the `description` of the corresponding `media item` in the Photos app.
AI Needs Developers, Not Just Data Scientists
The model is the easy part — you can rent it via an API. Building a product around it is software development. Want to sell AI? You need developers.
Quoting Jon Udell
Human Agent in the loop I dislike the phrase “human in the loop” because it cedes authority to the machines. Let’s flip the narrative. It’s our loop, we work the same way we always have, now we…
A model of fault experiences for a single functionality program
Some programs perform one basic task, e.g., analyse input to calculate some quantity. These programs often take a set of input values and produce some output. If a program contains a single coding…
New York panel video is now online
Four weeks ago I was in downtown Manhattan for the world premiere event for C++: The Documentary. It was great to see two theaters full of enthusiastic C++ developers, and getting to mingle with…
Clojure on Fennel part four: Parsing (again)
part one: persistent data structures part two: immutable.fnl optimizations part three: parsing part four: parsing (again) Other than that, the parsing is complete, and we can look at the compiler…
Controlling other Geo-Apps with CesiumJS MCP
/* Reset margins and set full height */ html, body { margin: 0; padding: 0; height: 100%; } /* Use flex layout for full page height */ body { display: flex; flex-direction: column; font-family:…
Managing memory usage for Node.js apps
When I moved my Node apps over to Opalstack, I was having some issues with the apps failing, getting a 502 error. My account has 1GB of RAM, and I saw my Feed News Archive app reaching 700-800 Mb…