Posts tagged with "dev"
45 posts with this tag.
← Back to all posts-
The verification I never verified
6 June 26I wrote a whole post about two-way standard.site verification. One of the two directions had been returning a 404 in production the entire time....
-
XKCD 1319: we now live on the theory curve
28 May 26XKCD 1319 set the theory and reality curves of automation against each other. With LLMs writing the scripts, the theory curve has won....
-
Getting a reTerminal DM running as a Nerves kiosk in 2026
8 Apr 26A guide to running Elixir/Nerves on Seeed's reTerminal DM with its custom DSI display, capacitive touchscreen, and a Cog/WPE browser kiosk---including the workarounds you'll need for touch input....
-
Ben's dev setup 2026 edition
18 Feb 26Ghostty, zellij, helix and a life lived in text tokens---why I ditched Zed and went back to purely terminal-based development....
-
Coding agents and the plasticity of code
23 Dec 25Code has always felt brittle---most changes break it. Coding agents change that dynamic, absorbing the cognitive load of big refactors and making code feel plastic rather than rigid....
-
Fixing slow Zed agent startup times
17 Dec 25Claude Code sessions in Zed were taking 30 seconds to start. The culprit: npx fetching Playwright MCP on every launch. The fix involves global installs and mise shims....
-
Switching from Jekyll to VitePress
2 Dec 25After ten years on Jekyll, I moved this site to VitePress. Notes on migrating content, components, reveal.js slides, and data loading....
-
11ty and Vite for modern static websites
24 Nov 25How to set up 11ty with Vite and Tailwind v4 for static sites that need proper asset bundling, HMR, and npm ecosystem access....
-
The great 2025 email yak-shave: O365 + mbsync + mu + neomutt + msmtp
12 Sept 25Rebuilding a terminal email setup with OAuth2, Office365 and neomutt in Zed---the hard-won config so you don't have to waste as many hours as I did....
-
Running Claude Code within Zed
23 July 25Switching from Zed's Agent panel to Claude Code for flat-fee pricing, with a simple task config to keep the workflow inside Zed....
-
Automated RPi Web Kiosk Setup in 2025
16 July 25A fully scripted burn-and-boot process for setting up Raspberry Pi 5s as fullscreen Chromium kiosks with Tailscale, WiFi and 4K support....
-
Agentic Elixir superpowers: Zed + Tidewave + AshAI
6 June 25How to wire up Zed, Tidewave and AshAI as MCP servers for an agentic Elixir development workflow, with a helper script to glue it all together....
-
Format Markdown on save in Zed using Prettier
20 Sept 24Zed config snippet for auto-formatting Markdown files on save with Prettier, including prose wrapping at 80 columns....
-
Jekyll build speedups for Ruby 3.2
2 Feb 23Ruby 3.2's YJIT gave my Jekyll builds a 4.8x speedup---from 17 seconds down to under 4....
-
Handling Square Webhooks in Phoenix
22 Jan 23How to receive and validate Square payment webhooks in an Elixir/Phoenix app, with code for HMAC signature verification....
-
rclone: exclude all git repos
11 Jan 23A bash script to auto-exclude all git repos from rclone backups, since rclone's built-in filtering can't do it alone....
-
So this is how it feels when the robots come for your job
30 June 22GitHub Copilot is a genuine force multiplier for coding, but human expertise is still crucial---a Conversation article on what AI assistants mean for programmers....
-
So this is how it feels when the robots come for your job: what GitHub's Copilot 'AI assistant' means for coders
30 June 22A pointer to my Conversation article on GitHub Copilot and what AI coding assistants mean for programmers....
-
Redacting craiyon prompts with imagemagick
22 June 22A one-liner ImageMagick command to batch-redact the prompt text from craiyon (DALL-E mini) screenshot outputs....
-
Pulling apart Zoom attendance csv dumps in tidy R
23 May 22A quick tidyverse R script for parsing Zoom attendance CSVs and visualising per-participant call duration with ggplot2....
-
Running an AI neural style transfer model under Singularity
1 Feb 22Getting a pytorch neural style transfer model running on RTX 3090s via Singularity containers, navigating CUDA version hell along the way....
-
Deploying a Phoenix app (with LiveView) on fly.io
27 Oct 21Quick notes on deploying a Phoenix 1.6 LiveView app to fly.io, including gotchas with health checks and outdated guides....
-
Cutting ruby CI pipeline times with pre-installed bundles
21 Oct 21A multi-stage Dockerfile that pre-installs Ruby gems to cut GitLab CI build times for Jekyll sites by up to 90%....
-
openconnect setup for institutional VPN access
18 Oct 21Using openconnect as a reliable alternative to the GlobalProtect client for connecting to an institutional VPN on macOS....
-
benswift.me analytics/tracking update
8 Apr 21I've added counter.dev as a lightweight, relatively un-invasive analytics tool. Ad-blocker users still welcome....
-
Bulk-add students to MS Teams from a csv file
1 Apr 21A PowerShell snippet for bulk-adding students to an MS Teams class from a CSV of email addresses---works on macOS and Linux too....
-
Simple pdf papers/reports with markdown, pandoc and bibtex
16 Mar 21A simple GitHub template for writing in markdown and producing nice PDFs via Pandoc and LaTeX, with optional BibTeX citations....
-
Configuring Spacemacs org-roam & org-noter for academic writing bliss
16 Dec 20How to get org-roam, org-roam-bibtex and org-noter working together in Spacemacs for a Zettelkasten-style academic workflow....
-
mbsync v1.3.2 breaking change: <code>SubFolders</code> config required
17 July 20The mbsync 1.3.2 update silently requires a SubFolders setting. Here's the fix, plus a bonus mu4e prettifier....
-
ACMC2020: tools for organising a virtual conference
15 July 20A detailed rundown of the tools we used to run ACMC2020 online---YouTube Premiere, Discord, EasyChair, and a lot of ffmpeg....
-
benswift.me dev roadmap for 2020
17 Nov 19My plans for this website in 2020: Jekyll 4, maybe Eleventy, maybe Netlify, maybe Tailwind....
-
Making Altair/Vega-Lite charts readable without squinting
16 Oct 19A simple trick for making Altair chart text and marks bigger: set a small width/height and export to SVG....
-
Package managers: <code>update</code> or <code>upgrade</code>?
16 Oct 19A quiz (and a plea for consistency) on whether your package manager uses update or upgrade....
-
In-place XML tree mutation for Jekyll productivity
17 July 19Profiling a slow Jekyll build, finding the culprit in Nokogiri node copying, and getting a 20x speedup by switching to in-place tree mutation....
-
Mapping over table rows in org-mode
9 Mar 19How to apply elisp functions to org-mode table rows using named tables and code blocks, with practical caveats and a Pride and Prejudice example....
-
A dynamic Reimagine logo
21 Feb 19An interactive, spinnable version of the ANU Reimagine logo, built with ClojureScript and Reagent....
-
Algorithmic uni marketing billboards
16 Feb 19A generative 'verb your verb' billboard that picks random verbs and Unsplash backgrounds, built with reveal.js and later rewritten in ClojureScript....
-
Class discussions on Discourse
6 Feb 19Switching from Piazza to self-hosted Discourse for a 200-student course forum, with practical notes on setup, tradeoffs, and what's missing....
-
highlight.js with xtlang support
17 Jan 19Getting syntax highlighting for Extempore's xtlang working on this blog, told as an FAQ full of hacks and node build shenanigans....
-
The annual benswift.me re-write: 2019 edition
2 Jan 19Another year, another website rewrite. This time it's hand-crafted HTML & CSS with modern grid layouts and the Inter UI typeface....
-
Another reveal.js plugin for Jekyll
28 Sept 18A Jekyll plugin that turns a single markdown file into reveal.js slides, splitting on headings like pandoc does....
-
Hosting a self-built jekyll site on GH pages
22 June 18A simple Makefile for building Jekyll locally with custom plugins and pushing the output to GitHub Pages....
-
COMP1720 teaser
10 July 17Five reasons to take COMP1720, ANU's art-with-code course---now using p5.js in the browser, with more sound and music than ever....
-
benswift.me update (July 2017 edition)
6 July 17Another redesign of benswift.me---this time aiming to be the home for livecoding, research, and making things with computers....
-
Blog refresh
1 Dec 16Migrated to Cryogen and moved the Extempore docs to their own site. Some links are broken, bear with me....