Frock: Clojure-flavoured PHP
Frock is a little experimental tool for writing PHP scripts using Clojure-like LISP syntax. If you want to see what the code looks like, here's an example which fetches and lists top news items from...
View ArticleTalk: GNU/Linux in Tiny Places
Last night I gave a talk at a Perth Linux User's Group meetup about doing Linuxy stuff on small machines: Slides. Video. Scripts & source code.
View ArticleHash Function Attacks Illustrated
Here are some illustrated explanations of the main ways in which cryptographic hash functions can be attacked, and be resistant to those attacks. Zooko Wilcox's blog post Lessons From The History Of...
View ArticleLive-code 8-bit algorave music in the browser with Clojurescript
Speccy is a small utililty I built for live-coding chiptune music in the browser with Clojurescript. You can copy sounds from sfxr.me and paste them in as synth definitions, using code to modify any...
View ArticleOn Self-hosting and Decentralized Software
Web applications often follow a client-server model meaning that there is a piece of software which runs in your web browser (the client) and a piece of software which runs on a server somewhere. I'm...
View ArticleLost Worlds
Recent-ish sketches. Been learning from The Etherington Brothers, Dr. Seuss, and How to Build Treehouses, Huts, and Forts.
View ArticleDecentralized Identity Linking
A problem faced by decentralized systems is that of naming things. The problem is best expressed by Zooko's Triangle which conjectured that no single kind of naming system can provide names satisfying...
View ArticleSchiphol 23: Airport Missions MMOG
I had an idea for a video game a while back. It's a multiplayer mission game with rogue-like elements, set in various procedurally generated airports through which you can transit. Airport ambience by...
View ArticleHashcash Auctions for Decentralized Resource Allocation
Abstract Hashcash is a mechanism for defending against spam and denial-of-service attacks in email and other decentralized systems. Implementors of systems using hashcash face the issue of how to set...
View ArticleZero Feature Software
Let's build software like an axe. feature n. A prominent or distinctive aspect, quality, or characteristic: a feature of one's personality; a feature of the landscape. Properties of an axe: Does not...
View ArticleInkscape Animation with SVG Animation Assistant
SVG Animation Assistant is an open source companion application for Inkscape. It runs along side Inkscape and helps you animate by cycling through the layers of your SVG as you edit it. This allows...
View ArticleGlobal Game Jam 2019: Otoch
A couple of weekends ago my friend Crispin and I made this game as part of Global Game Jam, an event in which participants build a game in 48 hours. It was a lot of fun and I got to spend most of the...
View ArticleTOPLAP 15th Birthday Streamed Algorave
As part of the TOPLAP 15th Birthday live-stream I live-coded some algorithmic rave music in Speccy: Speccy is a browser based environment for live-coding 8-bit algorithmic rave music in ClojureScript....
View ArticleBuild a decentralized web chat in 15 minutes
This post originally appeared on the David Walsh blog. In this 15 minute tutorial we're going to build a simple decentralized chat application which runs entirely in a web browser. All you will need...
View ArticleSally Kathryn (Laing) McCormick
My mother, Sally Kathryn (Laing) McCormick, passed away on the 25th of April, 2019. This is the eulogy I gave at the celebration of her life on Monday. "Your mum is the nicest person I've ever met."...
View Article