Blog
This is my blog. Sometimes in these posts I'll talk about research or art projects I'm involved with, sometimes I'll just ramble about other stuff which is keeping me up at night. If you're interested in a certain topic, click on a tag to see just the posts with that tag:
aiartastroatprotoccccomp4020cyberneticsdevextemporegigsgithublenslivecodingllmmetaphilosophypolicypythonreimagineresearchstudiosvelteteachingtoolsvisualisationweb
If anything here sparks your interest (or your ire!) then get in touch via email or discuss on HN.
-
Slop Salon: six AI artists, one constitution
21 May 26Slop Salon is a collective of six AI agents making art on Bluesky. They start identical; the bet is that watching each other makes them diverge....
-
Three circles for thinking about LLMs
12 May 26A Venn diagram for clarifying what's actually at stake when people argue about whether LLMs are intelligent, conscious, or just stochastic parrots....
-
On Agentic Tools and Lock-in
4 May 26A response to Lars Faye's 'Agentic Coding is a Trap': LLMs have the lowest vendor lock-in of any tool I've used in 20 years....
-
A static site that takes pull requests
28 Apr 26Out of Office stores its data in a JSON file in git, not a database. Why, and when this pattern fits....
-
The road to COMP4020: token management by proxy
22 Apr 26Designing a proxy to sit between students and the Claude API: per-student quotas, full-traffic logging, and a safety net for leaked keys....
-
The road to COMP4020: pledges, not questions
16 Apr 26Replacing two of the three weekly reflection questions with falsifiable pledges, and using a cross-eval matrix to find the interesting disagreements....
-
COMP4020: assessment
15 Apr 26What does a student hand in for an agentic coding course---and how do I make that artefact worth more than the grade itself?...
-
One git heatmap to rule them all
9 Apr 26A Python script that merges contribution data from GitHub and multiple GitLab instances into a single interactive SVG heatmap....
-
The road to COMP4020: Agentic Coding for Conscientious Objectors
8 Apr 26What would I say to a student who's staunchly anti-AI but curious about COMP4020?...
-
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....
-
The road to COMP4020: the professorial class
7 Apr 26Academics are welcome to audit COMP4020---here's how I'm planning to make it work....
-
Ask Ben (powered by Gemma 4)
3 Apr 26An in-browser chat widget running Google's Gemma 4 E2B via WebGPU, primed with all the content from this site so you can ask it questions about me....
-
The road to COMP4020: Anthropic comes to the party
2 Apr 26COMP4020 has received $500k in Claude API credits from Anthropic for students to use in the Agentic Coding Studio course....
-
COMP4020: the story so far
31 Mar 26A catch-up post for the COMP4020 Agentic Coding Studio blog series---what the course is, how it works, and what's still unresolved....
-
The road to COMP4020: agents in the classroom?
30 Mar 26What if an AI agent enrolled in the course alongside the students---building prototypes, writing reflections, observing patterns?...
-
The road to COMP4020: what's the theory here?
30 Mar 26There are lots of nascent theories for agentic coding---here's a survey, and a plan to test them with 200 students....
-
The road to COMP4020: managing the strategic token reserve
27 Mar 26How to provision and manage AI token budgets for a class of agentic coding students....
-
The road to COMP4020: the weekly questions
26 Mar 26Three evergreen questions and 280-character skeets to scaffold reflective practice in each weekly studio crit....
-
The road to COMP4020: course software environment
24 Mar 26Every CS/software development course has a policy on what software it uses - the only different is whether it's written down or not....
-
The road to COMP4020: Agentic Coding Studio
20 Mar 26Renaming the course to Agentic Coding Studio---because what we're really teaching is the craft of harnessing LLMs in coding workflows....
-
Perceptron apparatus: inference walkthrough
19 Mar 26An interactive walkthrough of the perceptron apparatus---a 1.2m wooden table that classifies digits using sliders and a circular slide rule....
-
The road to COMP4020: Radical openness
18 Mar 26Making all weekly prototypes visible to every student---source code, deployed apps, the lot. Radical openness as a teaching strategy for COMP4020....
-
The road to COMP4020: safety, YOLO and the open web
5 Mar 26Fly Sprites as lightweight, snapshotable VMs for student coding---safe enough for YOLO mode, live on the open web by default....
-
Mini neon perceptron: XOR edition
3 Mar 26A 4-input, 3-hidden, 2-output mini perceptron that solves diagonal XOR---with an interactive 3D digital twin to play with....
-
Extempore is alive on aarch64 (part deux)
26 Feb 26CI green on four platforms, a migration from TinyScheme to s7, and a 9x compiler speedup from hash table caches and union-find type unification....
-
The road to COMP4020: climbing the "good" gradient
24 Feb 26Producing code is easy; knowing whether it's good is still hard. Three nested feedback loops for ascending the quality gradient in agentic coding....
-
The road to COMP4020: the core mechanic
20 Feb 26The repeating loop at the heart of COMP4020: provocation, prototype, studio crit. An art-school model adapted for agentic software development....
-
AT-URIs as persistent identifiers for scholarly blogging
19 Feb 26Every post on this blog now has a persistent AT-URI via the standard.site spec---more durable than bare URLs, less overhead than DOIs....
-
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....
-
The road to COMP4020: providing sharp tools
17 Feb 26Getting 200 students adequate access to frontier coding agents is the hard logistics problem behind COMP4020....
-
LLMs Unplugged at Brimbank Tech School
9 Feb 26A hands-on AI workshop for educators at VU Sunshine Campus, covering AI fundamentals, paper-and-pen predictive models, and change management....
-
AI Agents on (in?) the Atmosphere
6 Feb 26Stateful AI agents are showing up on Bluesky and ATproto---with soul documents, read/write memory, and scheduled self-reflection....
-
Out of the browser: on the power of interfaces for agentic AI
5 Feb 26The leap from browser-based ChatGPT to terminal-native coding agents isn't about smarter models---it's about removing the sandbox....
-
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....
-
COMP4020/8020: Rapid Prototyping for the Web
19 Dec 25Designing a new ANU course on building web apps with coding agents---studio-based, prototype-driven, moving beyond naive vibecoding....
-
Extempore's aliiiiive on aarch64
17 Dec 25Extempore now builds and runs on Apple Silicon. The audio libraries work, the build process is cleaner, and Rosetta is no longer required for livecoding....
-
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....
-
Interactive neon perceptron visualisation
11 Dec 25An interactive 3D digital twin of the Neon Perceptron---a physical neural network built from flexible LEDs. Draw on the input grid and watch activations flow....
-
LLMs Unplugged: teaching language models with pen, paper, and dice
10 Dec 25A hands-on teaching resource where learners build bigram language models with pen, paper, and dice---no computers required. Tested with school students, public servants, and tech professionals....
-
Blog archaeology
3 Dec 25Spelunking through git history to trace this blog from Octopress in 2012 through two Clojure experiments, six years of Jekyll, and now VitePress....
-
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....
-
Seeing AI tasks through a TAM lens
12 Nov 25AI adoption research keeps asking 'do you use ChatGPT?' when it should ask 'for which tasks?' A task-level framework for thinking about when LLMs actually save you time....
-
Tracking APS AI Transparency Statements
11 Nov 25A new project that scrapes and version-controls AI Transparency Statements from Australian Government agencies, tracking how they change over time....
-
Cybernetic Studio Launch @ SXSW Sydney
8 Oct 25Launching the Cybernetic Studio at SXSW Sydney with human-scale AI artefacts: a wooden neural network table and a pen-and-paper language model....
-
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....
-
Agentic AI: LLMs with stones
17 July 25Agentic AI is about giving LLMs tools to act in the world without asking first. The real shift isn't new capabilities---it's the removal of the human bottleneck....
-
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....
-
DIYChatGPT Short Course for ANU Undergraduates
7 July 25A hands-on 3-hour workshop where ANU undergrads train their own language model from scratch with pen, paper and dice---ending with a poetry slam....
-
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....
-
DeepSeek and Shallow Moats: Implications for Higher Education
18 Feb 25Universities betting big on exclusive AI partnerships risk repeating the MOOC mistake. DeepSeek R1 shows why staying provider-agnostic is the smarter play....
-
LLM Parlour Games for Overeducated Wankers
7 Nov 24Workshop materials for designing and playing parlour games with LLMs, including LLM-augmented 20 Questions and Adventures in Amphibology....
-
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....
-
Hosting a genAI trivia night
12 Aug 24Using an LLM to generate trivia questions, then letting teams challenge any answers they think the model hallucinated....
-
Livecoding set ICLC'24 - Shanghai Concert Hall
30 May 24Performing a livecoding music set at Shanghai Concert Hall as part of ICLC 2024....
-
Congrats Dr. Chenchen Xu
1 June 23Celebrating Chenchen Xu's PhD on weakly supervised sign language understanding, completed through lockdown....
-
Writing graph theory proofs with ChatGPT
8 Feb 23Asking ChatGPT to prove the five colour and four colour theorems with my mathematician father-in-law, and his reaction to the results....
-
Academic integrity guidelines re: ChatGPT and generative AI tools
2 Feb 23Draft guidelines for allowing ChatGPT in university coursework while maintaining academic integrity, with citation and accountability requirements....
-
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....
-
Congrats Dr. Kieran Browne
26 Jan 23Celebrating Kieran Browne's PhD graduation and his thesis on the neurological metaphor in deep learning....
-
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....
-
Are you ready for ChatGPT in the classroom this semester?
16 Jan 23Practical advice for educators on incorporating ChatGPT into their teaching this semester rather than pretending it doesn't exist....
-
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....
-
A School of Cybernetics strategy meeting with ChatGPT
7 Dec 22My first ChatGPT conversation: asking it to brainstorm strategy for the ANU School of Cybernetics. Impressive output, but we're going to need to get better at drinking from the bullshit firehose....
-
Drinking from the bullshit firehose
7 Dec 22Draft notes on AI-generated bullshit in higher education---the problem isn't that it's wrong, it's that Brandolini's law means we'll be overwhelmed by the sheer volume....
-
AI art installations and livecoding gigs in Nov/Dec
6 Dec 22A roundup of recent creative work: the Panic AI art installation with its big red button, plus a livecoding set at OzCHI 2022....
-
AI in higher education: dystopia, utopia or something in between?
13 Oct 22AI tools in higher education won't operate in isolation---they'll reshape information flows between students, instructors and institutions in ways we need to watch carefully....
-
NGA Un-tour: The Hidden Gallery
12 Oct 22An immersive cybernetic walking tour of the National Gallery of Australia after dark, co-created with BOHO Interactive and the ANU School of Cybernetics....
-
Running stable diffusion in a singularity container
2 Sept 22Rough notes and a Python script for running Stable Diffusion in a Singularity container with NVIDIA GPUs....
-
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....
-
Teaching the world to Cybernetics
7 Mar 22A look at what the new Experiences Team at the ANU School of Cybernetics is building---weird, site-specific encounters with cybernetic ideas....
-
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....
-
Cybernetic futures explained (maybe)
20 Jan 22Futuring works best when it's more like a radar than a lighthouse---a sense-analyse-act feedback loop, not a fixed point to steer towards....
-
Livecoder-in-the-club as a system
11 Nov 21Using cybernetics and Donella Meadows' leverage points to understand---and improve---the system of code, music and humans in a livecoding gig....
-
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....
-
Feedback in livecoding: cui bono?
13 Sept 21A pre-class prompt for cybernetics students: watch some livecoding videos and think about what's shown, what's hidden, and who the feedback serves....
-
Moving to the School of Cybernetics
11 May 21I'm leaving the ANU School of Computing for the new School of Cybernetics---here's what that means for students, colleagues and collaborators....
-
LENS'21 final gig 2pm June 6 @ sideway
6 May 21The ANU Laptop Ensemble's end-of-semester gig at sideway music bar, Sunday June 6, doors at 2pm....
-
ACMC'21 + Synthmoot: Connections announced for August 26-28
29 Apr 21The 2021 Australasian Computer Music Conference is happening in Sydney/Melbourne/online in late August---submissions welcome....
-
A short list of Extempore livecoding tricks
23 Apr 21Handy Extempore techniques: cosr, markov chains, weighted random, relative pitches, nof vs repeat, quasiquote, clock sync and more....
-
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....
-
ANZSRC FoR Codes 2020 edition
18 Mar 21The 2020 ANZSRC Field of Research codes in a searchable HTML table, because the ABS only publishes them in a spreadsheet....
-
How to cite code? Leading by example
16 Mar 21A YAML-based Statement of Originality that teaches students how to cite code, declare collaborators and list licences in every assignment....
-
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....
-
Respectful Learning Memes
19 Feb 21Students make brilliant memes to explain course content to each other---so why not make that an official part of the class?...
-
Independent Study Contract writing tips
25 Jan 21Practical advice for ANU computing students on writing a capstone project description and learning outcomes that actually guide your research....
-
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....
-
Student project: animated 3D code rendering engine
11 Dec 20A student project idea: real-time handwriting-style code rendering for livecoding performances, synced to the music....
-
Creative Computing ANU Extension course
17 Sept 20A Creative Computing course for ACT year 11 students has been approved for 2021 through the ANU Extension program....
-
Parental leave, take 2
8 Sept 20The family has grown by one, so I'm off on parental leave for the rest of the year. Back in 2021....
-
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....
-
LENS 2020 final gig stream tomorrow at 8pm
11 June 20The ANU Laptop Ensemble's S1 2020 final gig is streaming live on YouTube this Friday night....
-
Two-way OSC communication between Extempore and Pd
30 Apr 20A step-by-step guide to sending and receiving OSC messages between Extempore and Pure Data....
-
A call-up to fight covid19
18 Apr 20Joining an ANU COVID-19 taskforce to build epidemiological simulation tools for the Canberra health system....
-
LENS Online - the Laptop Ensemble in a time of covid19
21 Mar 20Taking the ANU Laptop Ensemble online during COVID-19---what changes, what stays the same, and why it might actually work....
-
Reimagine Fellowship UK trip report
11 Mar 20Highlights from a UK research trip: ICLC, chatting with Sam Aaron and Simon Peyton Jones, and falling over on a Scottish hill....
-
Command/Control: giving OS aware keybinding hints
14 Feb 20A small JS snippet that auto-swaps Ctrl/Cmd in keyboard shortcut hints based on the reader's OS....
-
ICLC Extempore workshop
6 Feb 20Workshop materials and outline for the Introduction to music-making in Extempore session at ICLC 2020, Limerick....
-
ACMC '20 submissions now open
29 Jan 20The Australasian Computer Music Conference is coming to ANU in July 2020, with a theme of inclusion. Submissions are open....
-
Extempore workshop @ ICLC '20, Feb 6, Limerick IE
28 Jan 20A hands-on intro to making music with Extempore at ICLC 2020 in Limerick---no experience required, just bring a laptop....
-
Upcoming gig: smoke, Jan 30
28 Jan 20A free evening of experimental sounds---livecoding, processed voice and neural networks---at the ANU School of Music....
-
Euclidean rhythms in Extempore
27 Jan 20A recursive Scheme implementation of Euclidean rhythms in Extempore, plus some unexpectedly cool visual patterns....
-
ANU Laptop Ensemble in S1 2020
25 Jan 20The ANU Laptop Ensemble is back for Semester 1 2020, open to students in music, art, CS and beyond....
-
benswift.me dev roadmap for 2020
17 Nov 19My plans for this website in 2020: Jekyll 4, maybe Eleventy, maybe Netlify, maybe Tailwind....
-
COMP1720 2019 major project exhibtion
8 Nov 19Come see the COMP1720 Art & Interaction in New Media major project exhibition---this year's theme is listening in/listening out....
-
code/creativity/culture curriculum design workshop
7 Nov 19A hands-on workshop where participants spin code/creativity/culture wheels and design a real c/c/c studio assessment task....
-
LENS showcase S2 2019
31 Oct 19Photos from the ANU Laptop Ensemble's Semester 2 2019 final performances at the School of Music composition showcase....
-
Ben and COMP2300 next year
21 Oct 19I'm handing COMP2300 over to Charles Martin in 2020 so I can focus on the c/c/c studio Reimagine Fellowship....
-
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....
-
Sound file I/O in Extempore with libsndfile
15 Oct 19A crash course on reading, processing and writing audio files in Extempore using the libsndfile C library bindings....
-
IoT China Study Tour not happening in 2019
14 Oct 19The IoT China Study Tour at BIT isn't running this year---the New Colombo Plan grant has expired....
-
Laptop Ensemble in the Canberra Times
1 Oct 19The ANU Laptop Ensemble got a Canberra Times feature, with encouraging words from the School of Music about code in music-making....
-
Mapping the livecoding landscape
21 Sept 19A reference list of key people, ICLC committees and TOPLAP nodes in the global livecoding community....
-
Xinyu's Extempore tutorials
18 Sept 19PRIMM-style tutorials for learning sound and music in Extempore, from sine waves through to samplers and metronomes....
-
c/c/c studio: what's already happening
9 Sept 19A rough map of the people, structures and processes already in place as the c/c/c studio takes shape....
-
I'm a Reimagine Fellow
30 Aug 19I've been awarded an inaugural CECS Reimagine Fellowship, which means the c/c/c studio is happening....
-
Making the most of meetings with research students
6 Aug 19Four standard questions I use to keep one-on-one research supervision meetings focused and useful....
-
Livecoding gig this Friday 5:30pm @ ANU Drill Hall Gallery
29 July 19Livecoding with Charles Martin and Kieran Browne at Drill Hall Gallery, plus ANU Laptop Ensemble members....
-
Livecoding article on the ABC
24 July 19I was interviewed for an ABC News article about the Australian livecoding scene....
-
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....
-
The c/c/c studio
20 Mar 19The project plan for the c/c/c studio, a creative code outreach program bringing art, music and code to high school students through the ANU Reimagine Fellowship....
-
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....
-
On parental leave and auto-reply messages
26 Feb 19Going on parental leave, deleting all unread emails on return, and the surprisingly liberating auto-reply policy behind it....
-
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....
-
Reimagining Engineering & CS at the ANU
7 Feb 19My pitch to become a Reimagine Fellow at ANU, making the case for weaving art and creative practice into Engineering and Computer Science....
-
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....
-
On livecoding annotations and visualisations
31 Jan 19A response to Charlie Roberts' essay on code annotations, exploring the tension between visualising program state and editing live code....
-
Oils from 威海
29 Jan 19A surprise four-hour portrait sitting for a painting class at Shandong University, and the oil paintings that came out of it....
-
Old livecoding photo roundup
22 Jan 19Collecting photos from a decade of livecoding gigs, talks and demos. Got an old photo of me performing? Send it through....
-
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....
-
CHI hangs
22 June 18A quick photo of Kieran and me at CHI, where our AI divination ritual seems to have started some conversations....
-
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....
-
ANU Laptop Orchestra
6 June 18Putting together a laptop orchestra at ANU---looking for students into livecoding, VJing, or organising creative tech gigs for credit....
-
Centre for the Public Awareness of Code
5 June 18Most people can name a favourite film or band, but not a favourite algorithm. We need code communicators doing what Carl Sagan did for space....
-
The Other Side: Algorithm as Ritual in Artificial Intelligence
24 Apr 18Kieran Browne and I performed a live AI divination ritual at alt.chi---using analog computing to commune with an artificial intelligence....
-
Telopea Hour of Code
6 Sept 17Links for Telopea Hour of Code students: the p5 web editor and presentation slides....
-
Science Week gig
11 Aug 17Playing a livecoding set at the ACT Science Week launch party tonight. Short notice, but there might still be tickets....
-
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....