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:
aiatprotoccccomp4020cyberneticsdevextemporegigslenslivecodingllmmetapolicyreimagineresearchteachingweb
If anything here sparks your interest (or your ire!) then get in touch via email or discuss on HN.
- Mini neon perceptron: XOR edition 3 Mar 26
'../../../../src/components/svelte/MiniPerceptron.svelte'...
- Extempore is alive on aarch64 (part deux) 26 Feb 26
A quick update on Extempore on aarch64:...
- The road to COMP4020: climbing the "good" gradient 24 Feb 26
- The road to COMP4020: the core mechanic 20 Feb 26
- AT-URIs as persistent identifiers for scholarly blogging 19 Feb 26
Every post on this blog now has a persistent identifier on the AT Protocol. If you scroll to the bottom of any post, you'll find a "Cite this post" section with a BibTeX entry that includes an AT-URI alongside the regular URL. I did this because I wanted a citation identifier for my blog posts that's more durable than a bare URL but doesn't require the institutional overhead of a DOI---and because the standard.site spec gave me a clean way to do ...
- Ben's dev setup 2026 edition 18 Feb 26
New year, new dev setup. This year the theme is:...
- The road to COMP4020: providing sharp tools 17 Feb 26
- LLMs Unplugged at Brimbank Tech School 9 Feb 26
Sign up for the workshop...
- AI Agents on (in?) the Atmosphere 6 Feb 26
I've been writing about agentic AI for a while now---from LLMs gaining the ability to act on the world, to what coding agents mean for how we think about code, to the power of new interfaces for agentic systems. But over the last few months something different has been brewing. People are building stateful agents---systems that don't just respond to prompts but persist, remember, reflect, and (at least in the eyes of their creators) grow over tim...
- Out of the browser: on the power of interfaces for agentic AI 5 Feb 26
When OpenAI launched ChatGPT on November 30, 2022, it was a text box in a browser. That conversational call-and-response interface was a big part of what made it a hit---the fastest-growing technology product in history, reaching 100 million users in two months. But that's not what this post is about....
- Coding agents and the plasticity of code 23 Dec 25
Code has always felt rigid to me. Brittle, even. Most of the ways you poke, prod, or change it will break it. And even when you know what you're doing and when you're making a change that's unambiguously a good one you often need to break it in one place and then manually fix it up in a dozen others to compensate....
- COMP4020/8020: Rapid Prototyping for the Web 19 Dec 25
These are draft learning outcomes---subject to change as the course develops....
- Extempore's aliiiiive on aarch64 17 Dec 25
If you're on the extempore mailing list you'll have seen the chatter over the last year or so about how development has (sortof) stalled due to the "core team" (@digego and @me, but calling it a "core team" makes it sound more grown-up) having other committments these days and not so much time to hack on it....
- Fixing slow Zed agent startup times 17 Dec 25
I've been using Claude Code via ACP (Agent Control Protocol) in Zed, and while the integration is brilliant, starting a new Claude session took noticeably longer in Zed than running claude directly in the terminal; ~30s vs about 5s. And it was particularly frustrating because there's no /clear slash command via ACP---the only way to clear the context, which I d all the time is to re-start the agent, which (because of the delay) breaks my flow....
- Interactive neon perceptron visualisation 11 Dec 25
I'm about to design and build a modern interpretation of Rosenblatt's Perceptron. It's called the Neon Perceptron becausever wire will be a flexible LED that'll light up with it's "activation". I'm doing the software, my colleague Brendan Traw is designing some custom PCBs and other hardware, and we're working on the overall design together....
- LLMs Unplugged: teaching language models with pen, paper, and dice 10 Dec 25
The LLMs Unplugged site is at llmsunplugged.anu.edu.au. All materials are CC BY-NC-SA licensed for educational use. The code's on GitHub if you want to dig into the implementation details or contribute....
- Blog archaeology 3 Dec 25
After the recent switch to VitePress, I became curious about how many of the previous iterations I still had access to. I've been an obsessive git packrat for years, and I figured that there'd be some secrets in the git repo. So I went spelunking in the history....
- Switching from Jekyll to VitePress 2 Dec 25
This site has run on Jekyll since 2014 (or even before, I think; but some secrets are lost to time). Ten years is a good run for any technology choice, but I've finally made the switch to VitePress. The source is open, so you can check it out for yourself....
- 11ty and Vite for modern static websites 24 Nov 25
I've been using 11ty for static site generation for a while now (not this site---that's Jekyll---but for other stuff) and it's great. But for a recent project I needed proper asset bundling, hot module replacement (HMR), and access to the npm ecosystem without building my own pipeline. Enter Vite....
- Seeing AI tasks through a TAM lens 12 Nov 25
When it comes to AI adoption research, we keep asking "do you use ChatGPT?" when we should be adding "for which specific tasks?"...
- Tracking APS AI Transparency Statements 11 Nov 25
New Cybernetic Studio project announcement: the APS AI Transparency Tracker (GitHub link)....
- Cybernetic Studio Launch @ SXSW Sydney 8 Oct 25
I'm launching the Cybernetic Studio next week (Oct 15) at SXSW Sydney. If you're attending, come to Chippendale on Wednesday afternoon (search for Cybernetic Studio Launch in the SXSW app for details) and see what we've been building....
- The great 2025 email yak-shave: O365 + mbsync + mu + neomutt + msmtp 12 Sept 25
For years I was a happy user of mu4e in Emacs. But then a few years ago my employer turned off password-based IMAP auth and broke my (Office 365-based) work email, so I had to make alternative email arrangements....
- Running Claude Code within Zed 23 July 25
After several months using Zed's built-in Agent panel I've switched to Claude Code. The main reason is cost. I'm still using the same models---still primarily Sonnet (and occasionally Opus) 4---but using them via the Agent panel incurs per-token billing via the Anthropic API. I was racking up a lot of costs (around 100USD/week) even with a bit of restraint, although still using it fairly heavily during all work days....
- Agentic AI: LLMs with stones 17 July 25
There's a truth to that proverb, even if you feel (as I do) the temptation to "well akshually..." make several very valid points about how words can be hurtful. For most of the Large Language Model (LLM) era---since the public release of ChatGPT in November 2022---we've been in turns amazed, disgusted and now kindof "meh" about the way that LLMs can take the words we give them and produce more words in response....
- Automated RPi Web Kiosk Setup in 2025 16 July 25
As part of a recent art installation I've needed to set up lots (well, dozens) of Raspberry 5s to run as fullscreen Chromium "kiosks" with a pre-set URL (network connected, but with no keyboard/mouse)....
- DIYChatGPT Short Course for ANU Undergraduates 7 July 25
If you're an ANU undergraduate student you can enrol in an upcoming (next week!) upcoming 3hr course I've created called DIY ChatGPT: LLMs as Information Processing Machines. It's running for the first time next Thursday 17 July 10am--1pm (although it will run again later in the semester)....
- Agentic Elixir superpowers: Zed + Tidewave + AshAI 6 June 25
For a few years now whenever I need to build any sort of networked interactive experience, I reach for Elixir (with Phoenix LiveView and Ash). It's an extremely productive combination, especially when you want to do more complex client/server information flows than the standard request/response UX. I've also (for the last year or two) ditched Emacs for Zed. Again, if you take the time to master these tools I think they're excellent....
- DeepSeek and Shallow Moats: Implications for Higher Education 18 Feb 25
mean for the research and development of LLMs? Higher education should avoid putting all its eggs in one GenAI basket, writes Ben Swift -->...
- LLM Parlour Games for Overeducated Wankers 7 Nov 24
Note: this stuff is the workshop content for an alumni workshop in November 2024 hosted by the Cybernetic Studio at the ANU School of Cybernetics....
- Format Markdown on save in Zed using Prettier 20 Sept 24
One thing I've particularly enjoyed since switching to Zed is format-on-save, which is turned on by default in most programming modes. However, it's not turned on by default for Markdown files....
- Hosting a genAI trivia night 12 Aug 24
I was recently tasked with organising a trivia night, and decided to generate all the questions (and answers) with a large language model (I used Claude, although obviously this would work with any model....
- Livecoding set ICLC'24 - Shanghai Concert Hall 30 May 24
I'm currently in Shanghai tomorrow night I'll be performing at the Shanghai Concert Hall as part of ICLC '24. I'm told tickets are already sold out, but if you've already got one and you're coming along then come say hi after the set....
- Congrats Dr. Chenchen Xu 1 June 23
A big congratulations to my PhD student Chenchen for successfully completing his PhD; his thesis title was Weakly Supervised Vision and Language Representation Learning in Sign Language Understanding. It's freelly available online from the ANU Library....
- Parental leave take 3 13 May 23
Apologies for the radio silence over the last couple of months. I have the happy opportunity to take one more round of parental leave. So I'll be off doing Dad stuff until March '24....
- Writing graph theory proofs with ChatGPT 8 Feb 23
Posting logs of ChatGPT interaction is getting a bit passé by now in Feb '23, so I'll stop doing it soon (I promise). But yesterday I was hanging out with my father-in-law and showing how it might impact his classes---he's Associate Chair of the Mathematics Department at a top uni in China....
- Academic integrity guidelines re: ChatGPT and generative AI tools 2 Feb 23
Here in Australia Semester 1 is approaching and ChatGPT is, undoubtedly, a thing. From a practical perspective it's important to have some sort of guidelines about about ChatGPT and other generative AI tools in the classroom (everyone's doing it). If you don't provide any advice ahead of time you'll end up making it up as you go along (because it will come up) and policy on the run is policy underdone....
- Jekyll build speedups for Ruby 3.2 2 Feb 23
There's a bunch of buzz about Ruby's new YJIT in v3.2.0. I have to develop and maintain a bunch of Jekyll websites for work, some of which are getting into "non-trivial build time" territory (or maybe I'm really easily distracted, but a 30s build is enough for me to break my flow)....
- Congrats Dr. Kieran Browne 26 Jan 23
Last December Kieran graduated---very exciting for all concerned....
- Handling Square Webhooks in Phoenix 22 Jan 23
My brother's cafe donates a dollar to the local community centre for every coffee sold, and over the summer I built him a live "donation counter" which displays a small "thankyou" animation when anyone buys a coffee. It's a web app which they run on an iPad sitting on the coffee machine....
- Are you ready for ChatGPT in the classroom this semester? 16 Jan 23
As I scrolled through my social media feeds over the Christmas break I read through several "what do AI tools like ChatGPT mean for the future of Higher Education" pieces---I'm sure you saw them as well. To be honest, I'm reluctant to add to that discourse, because most of my thoughts on the issue have already been made....
- rclone: exclude all git repos 11 Jan 23
For a long time I've used rclone for remote backups and it's awesome. I have a script which syncs all the files I care about on my laptop to cloudstor (which, being on the Australian university network has the benefit that I get 1Gbps upload when I'm on the ANU network). My institution (the ANU)...
- A School of Cybernetics strategy meeting with ChatGPT 7 Dec 22
Back at my desk after a couple of days off I finally got a chance to fire up the OpenAI ChatGPT AI language model that everyone's talking about....
- Drinking from the bullshit firehose 7 Dec 22
https://stratechery.com/2022/ai-homework/...
- AI art installations and livecoding gigs in Nov/Dec 6 Dec 22
If you follow me on bluesky you've seen this already, but over the last couple of months I've been hard at work on an AI art installation called Panic. This was a collaboration with Adrian Schmidt---I did the software, he did the hardware (including the cool, 6" diameter Panic! button)....
- AI in higher education: dystopia, utopia or something in between? 13 Oct 22
Ben Swift is educational experiences lead and associate director (education) at the ANU School of Cybernetics. The ANU School of Cybernetics is activating cybernetics as an important tool for navigating major societal transformations through capability building, policy development and safe, sustainable and responsible approaches to new systems....
- NGA Un-tour: The Hidden Gallery 12 Oct 22
For the last year or so my team has been collaborating with the good folks at BOHO Interactive and the National Gallery of Australia on something which launches tonight---the NGA Un-Tour....
- Running stable diffusion in a singularity container 2 Sept 22
singularity pull docker://nvcr.io/nvidia/pytorch:22.08-py3...
- So this is how it feels when the robots come for your job 30 June 22
- So this is how it feels when the robots come for your job: what GitHub's Copilot 'AI assistant' means for coders 30 June 22
I wrote a piece for the Conversation about GitHub's new Copilot AI programming assistant. You can head over there to read it if you like....
- Redacting craiyon prompts with imagemagick 22 June 22
I've been messing around with craiyon (formerly DALL-E mini), because who hasn't been doing that recently....
- Pulling apart Zoom attendance csv dumps in tidy R 23 May 22
My team ran some Zoom training last week and today I needed to figure out who actually attended across all the days, and for how long....
- Teaching the world to Cybernetics 7 Mar 22
If you're the sort of person who lurks on people's LinkedIn accounts, you may have noticed that I've recently become the lead of the Experiences Team at the School of Cybernetics. My team's mission is:...
- Running an AI neural style transfer model under Singularity 1 Feb 22
I've recently been given access to a beefy AI server (6x RTX3090s!) which is managed via SingularityCE, whose homepage boldly asks and then forgets to answer the question: "What is SingularityCE?"...
- Cybernetic futures explained (maybe) 20 Jan 22
- Livecoder-in-the-club as a system 11 Nov 21
Here in the School of Cybernetics we are building our capability in cybernetics—its histories and possibilities—and working out how each of us will contribute to the new cybernetics for the 21st Century....
- Deploying a Phoenix app (with LiveView) on fly.io 27 Oct 21
Things to note:...
- Cutting ruby CI pipeline times with pre-installed bundles 21 Oct 21
I (and, increasingly many of my colleagues) are using Jekyll to create open (CC-licenced), hackable, acessible course websites & teaching content for our classes. We use a self-hosted GitLab server for all the websites sources, and then build/deploy them with GitLab CI. It works well, it means I don't have to fight with our LMS to do interesting things, and it means I can open my learning materials to everyone (not just those who are privileged e...
- openconnect setup for institutional VPN access 18 Oct 21
My institution's IT policies have recently changed and port 22 is now blocked from off-campus. That's a real pain if you use ssh to push/pull from our on-prem GitLab servers (which I need to do all the time)....
- Feedback in livecoding: cui bono? 13 Sept 21
- Moving to the School of Cybernetics 11 May 21
Some job news---I've just accepted a position in the new School of Cybernetics in the ANU College of Engineering, Computing and Cybernetics. I'll finish out my teaching this semester in the School of Computing then I'll make the move in July. For those not familiar with the ANU org-chart or acronymicon, there are multiple Schools in each College (so I'm moving Schools but staying within the same College)....
- LENS'21 final gig 2pm June 6 @ sideway 6 May 21
If you're a fan of LENS, the ANU Laptop Ensemble, then you're welcome to come to the S1 2021 end-of-semester gig. Here are the details...
- ACMC'21 + Synthmoot: Connections announced for August 26-28 29 Apr 21
Great news on the local computer music conference front: the Australian Institute of Music is hosting the ACMC conference in Sydney/Melbourne/online at the end of August '21. I'll be there---and if you're a computers-and-music-adjacent artist then you should think about submitting a paper, artist talk or performance as well....
- A short list of Extempore livecoding tricks 23 Apr 21
Yesterday's LENS class discussion turned into an AMA of how I do certain things when I'm livecoding in Extempore. As promised, here's a blog post where I've put together all of the things we've discussed (with a bit more explanation). If you're in the LENS '21 class this'll hopefully be a helpful complement to yesterday's class discussion. If you're not in the class, then maybe you've always been curious about certain things I (over)use in my liv...
- benswift.me analytics/tracking update 8 Apr 21
I haven't had any sort of client-side analytics (e.g. Google Analytics) on benswift.me for a long time (since around 2012 I think---several iterations of the site ago). I use an ad-blocker myself, and the whole tracking & analytics thing just strikes me as a bit gross....
- Bulk-add students to MS Teams from a csv file 1 Apr 21
My institution now uses MS Teams for lots of things, including organising classes & communicating with students. It's not perfect, but it's not terrible, and the pros & cons of Teams as a pedagogical platform are best left for another post....
- ANZSRC FoR Codes 2020 edition 18 Mar 21
The Australian Research Council (well, technically the Australian Bureau of Statistics and their NZ counterparts) have updated the Field of Research codes which Aussie/NZ academics use to classify their work....
- How to cite code? Leading by example 16 Mar 21
In our Computing Education Reading Group yesterday we looked at Sheard et. al.'s paper on Strategies for Maintaining Academic Integrity in First-Year from ITiCSE '17. It was a great discussion, with lots of new questions raised as directions for future work....
- Simple pdf papers/reports with markdown, pandoc and bibtex 16 Mar 21
I've long raged against the machine of my institution's default LaTeX template for dissertations and other reports, which is:...
- Respectful Learning Memes 19 Feb 21
- Independent Study Contract writing tips 25 Jan 21
Many students here at the ANU School of Computing take a capstone project at the end of their undergraduate degree. There are a few different variations (e.g. half-year vs full-year, "research" vs "implementation", etc.), but overall these projects are a chance for students to put together all the skills they've learned in their degree program in a supervised project where they're the boss....
- Configuring Spacemacs org-roam & org-noter for academic writing bliss 16 Dec 20
I've always had a decent memory, and so I've never really had a formal system for keeping track of who said what and in which paper. When it comes time to write something of my own I end up mostly just going from memory and re-google-scholaring things from scratch (often finding later that I already had that paper in my Zotero database already). As I get older my memory isn't as sharp, so I think it's time to use a more systematic workflow for wr...
- Student project: animated 3D code rendering engine 11 Dec 20
- Creative Computing ANU Extension course 17 Sept 20
An update for those who have been following updates about my reimagine fellowship: a Creative Computing course (hosted by the c/c/c studio as part of the ANU Extension program) has been approved for delivery in 2021. So if you're an ACT student heading into year 11 in 2021, and you want to make beats and/or art with code, then you should check it out. More details on the....
- Parental leave, take 2 8 Sept 20
Our family has recently grown by one member. I'm proud and exhausted and happy; it's a really wild (and mostly very nice) cocktail of feelings....
- mbsync v1.3.2 breaking change: <code>SubFolders</code> config required 17 July 20
As part of my ongoing quest to Emacs-all-the-things, I'm a long-time satisfied user of the mu email client. I even wrote the latest CI infrastructure setup for the project as a way to give back to Dirk-Jan and the rest of the awesome mu team....
- ACMC2020: tools for organising a virtual conference 15 July 20
I've been a bit quiet on this blog for the last few weeks because I've been organising ACMC2020: the 2020 Australasian Computer Music Conference. From the conference landing page:...
- LENS 2020 final gig stream tomorrow at 8pm 11 June 20
If you're stuck at home this Friday night (or if you've got a good mobile data package) then you should tune in to see the final gig from the LENS: ANU Laptop Ensemble S1 2020 cohort....
- Two-way OSC communication between Extempore and Pd 30 Apr 20
Because Extempore and Pd are both multimedia programming environments, they both speak OSC straight out of the box. If you need to send messages (numbers, strings, other data) from one program to the other over the local network then OSC is a pretty good way to do it....
- A call-up to fight covid19 18 Apr 20
As with many folks at the moment (both in Canberra and around the world) I've been called up into a covid19 taskforce (an initiative of the ANU's Software Innovation Institute, in partnership with the RSCS & other parts of the ANU). I'm the technical lead on the part of the project which is trying to wrap up epidemiological simulation models into usable & robust tools for seeing & understanding what the results of said models mean for the Canberr...
- LENS Online - the Laptop Ensemble in a time of covid19 21 Mar 20
Well, as with all ANU courses, we're taking the Laptop Ensemble (COMP2710/MUSI2205) course online....
- Reimagine Fellowship UK trip report 11 Mar 20
I was lucky enough to be able to spend most of February in the UK on a research visit as part of my Reimagine Fellowship---designing & delivering a "creative" coding extension course for ACT students in year 11 & 12....
- Command/Control: giving OS aware keybinding hints 14 Feb 20
As someone who writes a lot of web-based documentation for using computers, it's often useful to give people hints about keybindings which could make their lives easier. However, this is tricky when it comes to the control key/command key keybinding convention on macOS vs Windows/Linux....
- ICLC Extempore workshop 6 Feb 20
If you're here for the ICLC Extempore workshop Introduction to music-making in Extempore, then welcome!...
- ACMC '20 submissions now open 29 Jan 20
Good news everyone; we're hosting the annual Australasian Computer Music Conference (ACMC) at the ANU this year from July 8--11. ACMC is a festival of gigs, talks, installations and hands-on tutorials designed to inspire, challenge, and showcase the computer music community. There's lots more information on the conference website....
- Extempore workshop @ ICLC '20, Feb 6, Limerick IE 28 Jan 20
If you're coming to the upcoming International Conference on Live Coding (ICLC '20) in Limerick, Ireland, then it's not too late to sign up for my workshop Introduction to music-making in Extempore. Even if you're not coming to the rest of the conference, you can still sign up for the workshop....
- Upcoming gig: smoke, Jan 30 28 Jan 20
- Euclidean rhythms in Extempore 27 Jan 20
As part of the new Extempore pattern language stuff I added a helper for generating euclidean rhythms. I wrote it (in a recursive style) in Scheme using the algorithm described in Godfried Toussaint's paper (although it's credited to Bjorklund)....
- ANU Laptop Ensemble in S1 2020 25 Jan 20
The Laptop Ensemble (LENS) is happening again in Semester 1 2020 as a for-credit ANU course in computer music making and laptop performance. It is open to students in music, art, computer science, and elsewhere around the ANU....
- benswift.me dev roadmap for 2020 17 Nov 19
As a developer of web tech curricula (specifically 2D graphics & interaction design in COMP1720) there's always a tension in trying to just teach the fundamentals and keeping the coursework up-to-date. For the latter, that doesn't necessarily mean re-writing the course each year with the js framework-du-jour, but it's useful to at least know what the best practices are and how to point students in a good direction if they want to go deeper....
- ANU Extension: creative code 17 Nov 19
ANU Extension...
- COMP1720 2019 major project exhibtion 8 Nov 19
If you're around the ANU campus tomorrow (Saturday Nov 9) then come along to experience 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 19
You can choose to have 0, 1, 2, 3 or 4 stickers---it's up to you....
- LENS showcase S2 2019 31 Oct 19
Last weekend the S2 2019 LENS cohort (the ANU Laptop Ensemble) gave their final performances as part of the ANU School of Music's composition showcase. Thanks to everyone who attended, and congrats again to the students who learned a bunch of computer music stuff & build/composed and performed a working piece in one crazy semester. And an especially big thanks to my LENS co-directors Charles and Alec....
- Ben and COMP2300 next year 21 Oct 19
Students are starting to turn their gaze towards 2020, and so I've been getting a bunch of emails asking me if I'm teaching COMP2300/6300 Computer Organisation & Program Execution again in Semester 1 2020....
- Package managers: <code>update</code> or <code>upgrade</code>? 16 Oct 19
Quick quiz: for the following language/system package managers, what's the name of the subcommand to update your project/system to the latest version of one (or more) of your project's dependencies?...
- Making Altair/Vega-Lite charts readable without squinting 16 Oct 19
My love for the Grammar of Graphics runs deep, and in particular for Hadley Wickham's famous ggplot2 which showed me the light back when I was a young PhD student. Seriously, once you have your head around how it works it gives you datavis superpowers. These days I often work in Python, and for datavis I'm enjoying Altair which is based around the same philosophy (and outputs to Vega-Lite for rendering in the browser)....
- Sound file I/O in Extempore with libsndfile 15 Oct 19
libsndfile is "a C library for reading and writing files containing sampled audio data", and it's pretty great. Here's a quick crash-course on using Extempore's libsndfile bindings to read, process and write audio data files....
- IoT China Study Tour not happening in 2019 14 Oct 19
In the (Australian) Summer of '16/17, '17/18 and '18/19 I ran an Internet of Things China Study Tour at the Beijing Institute of Technology. They were good times....
- Laptop Ensemble in the Canberra Times 1 Oct 19
The ANU Laptop Ensemble (LENS) is in the Canberra Times this morning: ANU School of Music's new orchestra is far from conventional....
- Mapping the livecoding landscape 21 Sept 19
and Media, RSH Düsseldorf Griffith University Department of Music, Durham University University of Sussex Laboratory Music, Durham University Communication, University of Leeds Studies and Multimedia, McMaster University Worcester Polytechnic Institute York University Queen Mary University of London Communication Studies and Multimedia, McMaster University_...
- Xinyu's Extempore tutorials 18 Sept 19
These tutorials are part of Xinyu Hou's research project to create a set of PRIMM-style tutorials for learning to make sound/music in Extempore....
- c/c/c studio: what's already happening 9 Sept 19
I'm now a Reimagine Fellow and stuff to do with that program (and getting the c/c/c studio up and running) is starting to happen. As I've done so far I'm planning to continue to work on this project "in the open", i.e. on this blog. This means that if you've got ideas or want to help out, you can see where I'm up to (and get in touch), and it also minimises the likelihood that I'll be forced to email around anything called project-plan-final-ACTU...
- I'm a Reimagine Fellow 30 Aug 19
If you've been following the CECS newsletter, you'll know that the inaugural Reimagine Fellows have been announced, and I'm one of them 🙌🎉🥳. It's very exciting, and it means the c/c/c studio is going to be a real thing in 2020 (and beyond). It's also a relief to be able to tell people, since I've had to keep the good news under my hat for the last couple of months....
- Making the most of meetings with research students 6 Aug 19
tl;dr here are my standard questions for one-to-one meetings with research students...
- Livecoding gig this Friday 5:30pm @ ANU Drill Hall Gallery 29 July 19
For those who visit my blog to hear my livecoding gigs, there's one this Friday. If you wanna see me perform with Charles Martin (on percussion & electronics) and Kieran Browne on livecoded visuals (live GLSL shader hacking). We're playing 5:30pm--7:30pm @ Drill Hall Gallery as part of the Ildiko Kovacs: The DNA of colour exhibition....
- Livecoding article on the ABC 24 July 19
In case you missed it, I was interviewed for an article on the ABC News website which came out last weekend entitled The Australians making music with computer code. A nice look at some of the players in the Australian livecoding scene....
- In-place XML tree mutation for Jekyll productivity 17 July 19
I wrote a reveal.js plugin for Jekyll so that I can make nice slides (especially for my ANU courses). Recently, though, I've been touching up the COMP1720 slides for 2019 and it's getting really slow to build the website....
- The c/c/c studio 20 Mar 19
Note to readers: this is the project plan for my Reimagine Fellowship. If you're just here for the short version, see the elevator pitch. Alternately, if you want to know the "big picture vision" stuff behind this project, then that's here. Finally, you can check out the main CECS Reimagine page for more general information about the Reimagine project....
- Mapping over table rows in org-mode 9 Mar 19
I'm an Emacs guy, and so if I've got some simple tabular data I'd much rather keep it in an org-mode table than have to fire up Excel....
- On parental leave and auto-reply messages 26 Feb 19
I'm now (as of the date of this blog post) on parental leave (thanks, Brian 😊). I'm about to set up an email auto-reply which will guard my work email address until 15 July....
- A dynamic Reimagine logo 21 Feb 19
I keep harping on about the Reimagine project because I'm super pumped about what it means for the way we do Engineering Computer Science here at the ANU (see here and here for more info)....
- Algorithmic uni marketing billboards 16 Feb 19
In the spirit of Murdoch University's free your think marketing campaign, I've put together a dynamic full-page ad billboard as my pitch for the ANU's next marketing campaign....
- Reimagining Engineering & CS at the ANU 7 Feb 19
The ANU College of Engineering, Computing and Cybernetics (CECS) is being Reimagined. Don't take my word for it; listen to our fearless leader Elanor:...
- Class discussions on Discourse 6 Feb 19
In 2018 I (with the support of the Teaching & Learning IT team in my School) switched from Piazza to a self-hosted Discourse instance for class discussions. Specifically, I used it for COMP1720: Art & Interaction in New Media, a large-ish (~200 students) introductory code/art programming and interaction design course. This course is open to both CS and non-CS students, and can be counted towards a major in both the CS and the ANU School of Art an...
- On livecoding annotations and visualisations 31 Jan 19
I've just finished reading Charlie Roberts' interactive web essay on annotations and visualisations for live code. If you haven't read it, go do that now---and make sure you have some speakers/headphones to listen to the code examples, because it would be a real shame to read it without watching/listening to his ideas in action. All the code samples (with the visual annotations) are live-editable, both running "whole blocks" and re-evaluating ind...
- Oils from 威海 29 Jan 19
One of my academic responsibilities is teaching our ANU Computer Science programs into our various partner institutions overseas. One of these partner institutions is Shandong University WeiHai (SDUW)....
- Old livecoding photo roundup 22 Jan 19
I'm trying to find all the photos of me doing livecoding gigs over the past 10 years. If you've got an old photo of me doing my thing, then can you email me to share it? I'll give you authoreal credit and hugs....
- highlight.js with xtlang support 17 Jan 19
I've just spent a solid day wrestling with source code syntax highlighting on my blog, and I've finally got it figured out. Tada:...
- The annual benswift.me re-write: 2019 edition 2 Jan 19
Welcome, traveller. You've managed to find my blog without being eaten by a grue. If you haven't visited for a while, you might have noticed that I've re-written my website. Again....
- Another reveal.js plugin for Jekyll 28 Sept 18
I use Jekyll to create my course websites and reveal.js to create my lecture slides. Both of them are awesome, and allow me to focus on writing (hopefully) great content, and the formatting/presentation stuff stays out of the way until I git push the updates to the server....
- CHI hangs 22 June 18
Here's a photo of Kieran and I hanging out at CHI. I'll write a more detailed trip report some other time, but from the general chats I had with people (and random unsolicited blog posts) it seems like the ritual started some conversations....
- Hosting a self-built jekyll site on GH pages 22 June 18
This blog is built from markdown files using Jekyll hosted on GitHub pages, which saves a lot of hassle involved with DIY hosting. There are a bunch of useful tutorials on how to set all this up....
- ANU Laptop Orchestra 6 June 18
One of the coolest parts of my job is doing livecoding gigs---here's a recent set I did at Smiths as part of Soundscapes #21. A big shout-out to Ushini Attanayake (not in the video, sadly) who did a fantastic job of her first livecoding set....
- Centre for the Public Awareness of Code 5 June 18
What's your favourite movie? Most folks already have an answer to this question (because they've been asked before). Mine's The Castle....
- The Other Side: Algorithm as Ritual in Artificial Intelligence 24 Apr 18
Tomorrow morning (Wed April 25, 9am Montréal time) Kieran Browne and I are performing an Artificial Intelligence divination ritual as part of the alt.chi session Scary, Sporty, Ginger and Posh....
- Telopea Hour of Code 6 Sept 17
Welcome, Telopea Hour of Code students. Here are a couple of links you'll need today: the p5 web editor and the slides for the presentation....
- Science Week gig 11 Aug 17
I'm playing a livecoding set at the ACT Science Week launch party tonight. Sorry about the late notice to anyone who uses this blog to come to my gigs---I really should set up a newsletter or something. I think there are still a few tickets left (\$5, available from the website linked above)....
- COMP1720 teaser 10 July 17
If you're an ANU student and you want to learn how to make art with code, then sign up for COMP1720/6720 in semester 2, 2017. Taught by me and a bunch of internationally recognised artists (there's a weekly computational artist guest lecture) it's the best way to scratch the art+code itch at the ANU....
- benswift.me update (July 2017 edition) 6 July 17
Well, benswift.me has been given another coat of paint. The content's still a bit sparse, but hopefully this time it'll be the place to go to keep up with my adventures in livecoding, research and just generally making thing with computers---and teaching others to do the same....
- Blog refresh 1 Dec 16
Another year, and another blog refresh. It's still a clojure-powered static site with my own fumbling, hand-rolled css, but this time I'm using Cryogen which has been pretty nice to work with so far....