Chris McCormick - News Chris McCormick - News en Copyright 2008- Chris McCormick 60 GMT The Mountains entries/the-mountains IMG_20170912_170725_387.JPG

Some mountains I copied from some website.

/tags/all Tue, 12 Sep 2017 09:09 GMT
Cloud Notepad entries/cloud-notepad Cloud Notepad on the Desktop

I love this piece of software and I use it every day. It is a simple note taking application which syncs across all of your devices. It is a self-hosted single-page web app that runs on a PHP server and does not require a database.

Cloud Notepad on the Desktop

I run a copy on my phone and a copy on my laptop.

The app was built by Kaspars Dambis and I forked it to modify the design and add some usability tweaks like ctrl-S to force sync. You can find the source code of my fork on GitHub if you want to install it yourself.

/tags/all Mon, 04 Sep 2017 03:00 GMT
Clerk: Event Logging Web App entries/clerk-event-logging-web-app Screenshot

There are times in life when you need to keep track of periodic events as they happen. For example when you have a new baby it is sometimes useful to keep track of when they feed, nappy changes, etc. Another example might be tracking how often you eat chocolate or drink beer.

Clerk is a simple self-hosted web application that I built which you can install to the home screen of your device (by doing "add to home screen" in your browser) or load up on your tablet or laptop. You can then keep track of simple events with two taps on your device - once to open the app and once to record the event.

Screenshot 2

For every event logged the event type, timestamp, and comment are stored in CSV files. Events are stored in individual CSV files - one file per event type. You can also download all CSVs stiched together with an extra column for the event name.


  • Web based.
  • Easy to deploy.
  • Self-hosted & FLOSS.
  • Simple text based CSV format.
  • Allows multiple people to log events.
  • Mobile friendly - "Add to Home Screen" web-app.


To require authentication, first create a password file:

htpasswd -c /path/to/.htpasswd username

Then copy ./example.htaccess to .htaccess and edit it.


/tags/all Thu, 06 Jul 2017 02:38 GMT
Lost Town Of Belgium entries/lost-town-of-belgium

Scout and I made this stop-motion short film.

How we made it:

  • We used an old Android phone with one of those $10 phone tripods to take each frame.
  • We flipped through the stills in Ristretto by hand, recording the output with RecordMyDesktop.
  • We used avconv to convert between formats.
  • We used Audacity to record the audio.
  • We used OpenShot to edit the video.
/tags/all Thu, 08 Jun 2017 09:06 GMT
A Smart Alternative to `watch make` entries/a-smart-alternative-to-watch-make watch-make is a script that rebuilds your project only when make detects it needs a rebuild, for example when source files change.


  • Works with any existing Makefile based project.
  • No dependencies apart from make.
  • Passes any arguments to make (such as -C mydir).
  • Silent if there is nothing to build and does not swallow output when there is.

I wrote it in response to this Stack Overflow question.

The source code is hosted on GitHub.

Install it

curl -s > ~/bin/watch-make
chmod 755 ~/bin/watch-make

Full source code


while true;
  if ! make -q "$@";
    echo "#-> Starting build: `date`"
    make "$@";
    echo "#-> Build complete."
  sleep 0.5;
/tags/all Wed, 31 May 2017 03:13 GMT
The 2017 Situation entries/the-2017-situation IMG_20170506_150538.jpg

No point crying!

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

/tags/all Mon, 08 May 2017 01:10 GMT
Lonely Robot entries/lonely-robot Simple line sketch of a robot walking in a natural scene.

I went to the woods because I wished to live deliberately, to front only the essential facts of life, and see if I could not learn what it had to teach, and not, when I came to die, discover that I had not lived.

-- Thoreau, Walden

/tags/all Sun, 05 Mar 2017 04:24 GMT
Xmas Geodesic entries/xmas-geodesic DSC_2621.JPG DSC_2608.JPG DSC_2597.JPG DSC_2577.JPG DSC_2654.JPG

Over the Xmas holiday my friend Fenris and I built this geodesic dome (actually a truncated icosahedron) out of corrugated plastic sheets and gaffer tape.

It took about 4 hours over two sessions of cutting and then taping.

/tags/all Fri, 17 Feb 2017 07:09 GMT
Hope entries/hope Gödel's incompleteness theorems provide us with mathematical proof of the unknowable. The vast empty skies of those things we don't and can't know -> that is where hope resides. Nobody knows the future.

/tags/all Thu, 02 Feb 2017 11:44 GMT
Sounds Incredible entries/sounds-incredible sounds incredible by chr15m + fenris

After 14 years of playing music together on Gameboy Advance and Commodore 64 my buddy Fenris and I finally recorded an album while he was visiting during Xmas.

You can listen to the album for free or purchase a download for however much you like.

All of the software we use to play music is Free and Open Source:

I hope you enjoy the music.

/tags/all Sun, 15 Jan 2017 10:52 GMT
New York PdCon 2016 entries/new-york-pdcon-2016 DSC_1662.JPG DSC_1673.JPG DSC_1731.JPG DSC_1701.JPG DSC_1716.JPG DSC_1739.JPG DSC_1864.JPG DSC_1742.JPG DSC_1680.JPG DSC_1690.JPG DSC_1698.JPG DSC_1859.JPG DSC_1793.JPG DSC_1801.JPG DSC_1818.JPG DSC_1788.JPG DSC_1810.JPG DSC_1724.JPG DSC_1862.JPG DSC_1713.JPG DSC_1747.JPG DSC_1743.JPG DSC_1745.JPG DSC_1877.JPG

In November I was in New York for PdCon 2016 and to visit my brother, thanks in large part to my friend Joe Deken and his not-for-profit, New Blankets.

The conference was fantastic. Many fascinating performances, a chance to catch up in person with people from the Pure Data community, and the opportunity to present and perform some of my own work. A highlight for me was hearing Miller Puckette, creator of Pure Data, talk about his approach and philosophy.

On top of that I got to catch up with some awesome people outside of the conference, especially my brother. We went hiking together one day - a rare opportunity to hang out together in nature.

/tags/all Mon, 09 Jan 2017 09:49 GMT
Gameboy Nature Beats entries/gameboy-nature-beats gameboynaturebeats-poster-1.png gameboynaturebeats-poster-4.png

Tonight my friend Fenris and I will play some music in a park here in Perth, Western Australia, on Gameboy and Commodore 64 powered by batteries and broadcast over FM radio to local speakers hanging from the trees. We'll start playing at 9:30pm and after us our friends Atomsmasha and Kataplexia will also play some music on Gameboys.

Might see you there!

/tags/all Fri, 06 Jan 2017 07:07 GMT
Geodesic Scale Test entries/geodesic-scale-test DSC_1913.JPG DSC_1914.JPG DSC_1918.JPG DSC_1908.JPG

/tags/all Sat, 26 Nov 2016 06:32 GMT
Open Skies entries/open-skies Hand drawn image of a country scene with a rocket flying above the clouds and the moon with a habitation ring around it.

/tags/all Fri, 25 Nov 2016 01:51 GMT
Algorave Set in Williamsburg entries/algorave-set-in-williamsburg Lately I've been working on new algorave music in the style of drill&bass and I'm playing a set here in New York for the PdCon16 party. It's at a space called Vital Joint in Williamsburg, tonight (Saturday) at midnight.

spinning globe 

/tags/all Sat, 19 Nov 2016 06:12 GMT
Startup Idea: Web App Installer entries/startup-idea-webapp-store Although it is an exadgeration to say that app stores are dead it is true that web apps (applications that run in a web browser) and the mobile-device browser platforms have become powerful to the point that it is often not neccessary to build a native app.

There is a gap in the web app paradigm as users don't always realise they can install a web app they use by going to "Add to homescreen".

An interesting way to fill that gap would be to build an "app store" for web apps. That is, a native app that curates and carries out the "add to homescreen" process for the user for a wide variety of quality web applications. So basically like Firefox OS but without the OS - just the installer, and for the native browser of each platform.

Ideas are cheap and execution is everything - you don't need my permission to take this idea and run with it if you're convinced.

/tags/all Mon, 14 Nov 2016 15:22 GMT
Tentacle Being entries/tentacle-being Drawing of a tentacle being

Drawing practice in the style of Ben Hatke.

Scout and I finished Zita the Spacegirl recently which was a wonderful adventure.

/tags/all Fri, 11 Nov 2016 08:12 GMT
Delhi 2016 entries/delhi-2016 DSC_0232.JPG DSC_0242.JPG DSC_0251.JPG DSC_0304.JPG DSC_0326.JPG DSC_0350.JPG DSC_0358.JPG DSC_0217.JPG DSC_0411.JPG DSC_0212.JPG DSC_0432.JPG DSC_0453.JPG IMG_20160930_105853.JPG

Couple of weeks ago I was fortunate enough to visit Delhi and spend a week with my colleagues Umang, Gaurav and Tom. We had an excellent and productive week and in between development discussion Umang was kind enough to drive us to many fascinating and beautiful places - not least of all to enjoy a wonderful meal at his sister's house.

We worked out of Awfis co-working, which I recommend.

I feel lucky to have seen Delhi this way.

/tags/all Thu, 20 Oct 2016 06:57 GMT
Sci Fi UIs in ClojureScript entries/sci-fi-uis-in-clojurescript I built these sci fi user interfaces using ClojureScript, React, and SVG:

Tap or click to interact with them.






More here.

Source code here.

/tags/all Sun, 11 Sep 2016 07:13 GMT
Namibia 2027 entries/namibia-2027 TS.2850-Anthony-Scime-style-copy.png

I am trying to teach myself sci-fi style vector painting and this a piece that I think meets the post-on-blog standard.

I tried to copy the basic palette/mood/style of this image.

/tags/all Sun, 21 Aug 2016 02:05 GMT
You Are Here entries/you-are-here you are here

/tags/all Sun, 24 Jul 2016 08:13 GMT
OMG Not Another TODO List Application entries/omg-not-another-todo-list-application My wife and I needed a collaborative shopping list that we could update from our phones. There are proprietary solutions to this but after some research I was surprised to discover that there is no Free Software application that meets the following criteria:

  • Web based.
  • Easy to deploy.
  • Self-hosted & FLOSS.
  • Allows multiple people to update a list.
  • Simple text based format for easy editing.
  • Mobile friendly - "Add to Home Screen" webapp.
  • Satisfies the single use-case of collaborative TODO editing.

Of course I built one with ClojureScript.

Screenshot of 

We've been using this "in production" for 3 months and so far it fills our need without issue.

  • Authentication can be accomplished with a .htaccess file or similar.
  • The text-file format is designed so that you can edit lists with a text-editor directly if you want to.
  • If you want to support multiple users you can set up two instances in two different folders and symlink the textfile of the list you want to share between them. Each folder can have its own authentication.
  • You can also do other textfile things like make a symlink into a Syncthing folder which enables you to modify your TODO lists on your laptop or server as well as through the web app.

The realtime updating is accomplished via long-polling. Primarily I used this instead of websockets because when it comes to browsers, older tech is more robust to different operating environments than newer tech.

I resorted to using PHP for a very lightweight server backend because it has the property that basically anybody with web hosting is able to upload a PHP script and I think it's good to give software as egalitarian a deployment surface as possible. Luckily it is only 150 lines of not-too-painful PHP.

Click here to get the source and download/install it.

/tags/all Sat, 28 May 2016 01:29 GMT
Treehouse Building entries/treehouse-building DSC_0381.png DSC_0386.png DSC_0387.png smssecure-2016-05-07-141043.png DSC_0407.png DSC_0392.png

Couple of weekends ago Jessee and Chris came over and we made this free-standing tree-house-like platform thing for Scout and Orson out of some wooden palettes I'd collected during the preceding week.

When I say "we made" of course I mean they made it and wisely only let me touch one or two power tools during the course of construction.

/tags/all Sun, 22 May 2016 11:01 GMT
Some Isometric Sprites entries/some-isometric-sprites Ship



Tree #1

Tree #2

Mandarc side view

These are some video game style isometric and side view renders of previous 3d work I did:

/tags/all Fri, 08 Apr 2016 05:58 GMT
Corn & Zucchini entries/corn-amp-zucchini- DSC_0129.JPG DSC_0054.JPG

Wrong time of year but we'll see what happens.

/tags/all Sun, 27 Mar 2016 01:52 GMT
Mccormick Family Photo 2016 entries/mccormick-family-photo-2016 smssecure-2016-03-11-184134.jpeg

/tags/all Tue, 15 Mar 2016 12:09 GMT
Heuristic For Algorave Mastering entries/heuristic-for-algorave-mastering This is the pattern I use for mastering algorithmic electronic music that I write.

Algorave mastering heuristic block diagram

First, each audio source or channel Sn is given a random (sometimes hand tuned) delay of 0 to 20 milliseconds on either the left or right channel in RPn. My friend Crispin put me on to this technique, which gives each audio source its own psycho-acoustic space in the mix, probably due to the Haas effect.

Next the resulting sources are summed together - separately for left and right channel. Here you can also run the combined signal through a high pass filter set at 5Hz to remove any DC offset present in the signal.

Then the combined signal is passed through a reverb with mostly "dry" signal - maximum 30% wet as a general rule of thumb. Adjust the reverb to taste. I'll usually make it a bit long and airy but subtle.

Next we win the loudness wars. This is dance music and we want people to dance, so it has to sound powerful. To acheive this we do something horrible: measure the RMS - the power of the sound - and then amplify until the power of the signal is normalised. Here is the "auto compress" Pure Data patch I use for doing this:

Pure Data auto-compress patch

The env~ object here is a simple envelope follower and the source code is here. The dbtorms function source code is here. The possible magnitude of the power correction is limited by the clip function which does what it says on the box, and the resulting multiplier is smoothed with a 10ms rise and fall time (line~) to get rid of sudden discontinuities. Only 30% of the resulting power-normalized signal is mixed with the original signal.

Finally, run the mixed signal through a soft-clipper before sending it to the speakers. Soft clipping is a good idea because the power normalisation step above will push the peaks up above 1.0 and we don't want harsh hard-clipped distortion to be audible.

The soft clipper I use (probably incorrectly called "sigmoid" in the diagram) is simultaneously a compressor to get that extra punchy sound:

2 / (1 + pow(27.1828, -$v1)) - 1

Where $v1 here corresponds to your vector of incoming audio samples.

Hopefully this method doesn't break any international treaties or anything.


/tags/all Mon, 29 Feb 2016 02:45 GMT
I'm Playing Algorave at Rhetoric entries/i-m-playing-algorave-at-rhetoric rhetoric3.0_web.jpg

I am playing algorithmic rave music at Rhetoric in Western Australia.

  • February 5th, 2016
  • Game city { Raine Square / Perth Train Station }
  • Doors open 6pm
  • $10 Entry
  • Free arcade games
  • With: chr15m, cbat, marko maric, atomsmasha, kataplexia, amnesia, polite society & free arcade games.


/tags/all Sat, 23 Jan 2016 03:31 GMT
Orchids to Dusk is a great game entries/orchids-to-dusk-is-a-great-game orchids_201520185417.png

"An astronaut stranded on an alien planet, with only a few minutes left to live."

Orchids to Dusk had a powerful effect on me.

I dreamed about the game the night after playing it.

The creative power of code is the microwave background radiation of my subconscious and this game made me notice it again in a visceral way.


/tags/all Thu, 24 Dec 2015 04:22 GMT
Ludum Dare 34 entries/ludum-dare-34 Over the weekend I built a tiny game for Ludum Dare #34. Here it is:

Instructions: grow the white square's heart by clicking and dragging to the other squares.

Link to the game here.

Source code here.

Play/review/rate it here.

/tags/all Wed, 16 Dec 2015 05:23 GMT
Zero Asset Game Engine entries/zero-asset-games Zero Asset Game Mockup

A "zero asset game" is a game that does not use any external art assets.

Game art is instead generated procedurally or by using artifacts of the rendering environment.

The following is a screenshot of a tiny game engine I built a little while ago in ClojureScript.

Tiny CLJS Game Engine Screenshot

The renderer runs on Facebook's React library so it is just a couple of lines of code.

I've spread it over several lines here for readability:

; DOM "scene grapher"
[:div {:id "game-board"}
      (fn [[id e]]
        [:div {:class (str "sprite c" (:color e))
           :key id
           :style (compute-position-style e)
           :on-click (fn [ev] (sfx/play :blip))}
        (:symbol e)])
      (:entities @game-state)))]

The sprites are utf8 characters which are instantiated like this:

(make-entity {:symbol "◍"
              :color 0
              :pos [-20 300]
              :angle 0
              :behaviour behaviour-rock})

The function behaviour-rock here gets called once per frame and returns the new immutable entity-state for the next frame.

When you click on something the blip sound is generated procedurally in the browser using jsfxr.

/tags/all Fri, 11 Dec 2015 12:19 GMT
Fubbles entries/fubbles Fubbles title screen

This is a video game I made for Scout to help her practice using a gamepad.

Play it! You'll need at least one gamepad and Firefox or Chrome.

  • It's hard to find nice games that fit the search "two player gamepad-enabled couch-co-op suitable for four year olds".

  • Game design for a four year old is quite nuanced. To make a fun game without all of the normal risk reward mechanics basically comes down to "make rude noises".

  • It's 360 lines of ClojureScript, rendered in the browser DOM with React. It took me a handful of evenings over a period of one month to develop.

  • I don't play many games, but the gamepad is probably my favourite human-computer interface.

Fubbles title screen

Source code:


infinitelives Logo

Fubbles is the first game I have made using the new infinitelives ClojureScript library for game development that my friend Crispin and I have been building.

/tags/all Sun, 08 Nov 2015 11:43 GMT
Stylus Prediction Revisited entries/stylus-prediction-revisited Nearly three years ago I wrote:

Prediction: within 3 years the stylus will be the killer feature of Android tablets.

Since then I've felt a little embarrassed remembering that post. Grand claims, ha ha!


With the recent announcement of Apple's "Pencil" I feel somewhat vindicated. I got the details wrong but I think broadly speaking that hand-drawing, sketches, doodles, will feature strongly in the future of human-to-human communication. Maybe even more strongly than typed messages for some people.

  • I'm thinking about the 16% of people worldwide who can't read or write, but who are rapidly adopting hand held technologies where they can draw.

  • I'm thinking about the tens of thousands of years of human beings using sticks as a technology for making marks upon a surface.

  • I'm thinking about the popularity of emoji, the universality of pictographs, the cross-cultural and language-independent nature of the medium of drawn communication.

  • I'm thinking about my kids and how the second thing they learn after talking is drawing.

Pictographs of phone repair

Maybe one future is a world in which many of our planet's population do a significant fraction of our communication through the medium of doodles.

/tags/all Wed, 28 Oct 2015 12:01 GMT
miniCast web based podcast app entries/minicast-web-based-podcast-app screenshot.png

miniCast is a self-hosted web app for listening to podcasts.

I wrote it while learning ClojureScript. The back-end API is written in PHP. My friend George came up with the name and design.

/tags/all Sun, 25 Oct 2015 12:30 GMT
Feeling Grateful entries/feeling-grateful This is late.

I feel grateful because this year when my daughter said to me "I want to be a mummy, not an astronaut," I was able to tell her about Anna Fisher, who in 1984 became the first astronaut-mother in space, and to show her the stories and images online of the several astronaut-mothers who have followed her into space.

Anna Lee Fisher by Bren 
Luke Anna Lee Fisher by Bren Luke.

I feel grateful this year to Jess Frazelle from Docker, who wrote an honest blog post that reminded me of my privilege; reminded me how lucky I am to participate in tech and open source communities without friction and harassment; reminded me of a hidden strength and fortitude exhibited by amazing people all around us that I can aspire to; and reminded me that there is always more work to be done to make the world a better place for all humans.

I feel grateful that I am not alone in thinking and wanting that our culture can change for the better. I'm grateful that the internet can amplify the voices of people like Jess, and counteract the Friendship Paradox every time somebody speaks up.

I am grateful for the writing of bloggers like Pamela Fox and Liza Shulyayeva and Nicole Reid who demonstrate the technical, evidence based counter-factual to every trolling Hacker News comment.

As I do every year, this year I feel deeply grateful and so very lucky that my parents bought our Apple IIe when I was eight years old and that my mother taught me to code.

I feel grateful to have worked, and to continue to work beside amazing people who every day prove that smart, capable, technical people don't fit a stereotype.

The stereotype disagrees with reality, and so it is wrong.

/tags/all Thu, 15 Oct 2015 02:52 GMT
Lego Things entries/lego-things kitty-exo.jpg image2.jpeg photo.jpg image.jpeg

Scout and I picked up a Lego table for $25 last year. One of our favourite pastimes lately has been making Lego things together.

/tags/all Thu, 10 Sep 2015 12:23 GMT
Chief entries/chief photo.JPG

/tags/all Tue, 01 Sep 2015 13:52 GMT
Mandarc's Kopjie entries/mandarc-s-kopjie mandarc's-kopjie.png mandarc-and-ship-2.png mandarc-walking.png

/tags/all Thu, 09 Jul 2015 13:24 GMT
Re-ware Provocation entries/reware-provocation HTC Desire Z

My HTC Desire Z Android phone from 2010 died. I am taking this as a re-ware design/lifestyle provocation. As such I am now running an even older smartphone - my development iPhone 3Gs from 2009. Do we even need a modern smartphone for our day-to-day computing needs?

iPhone 3Gs

Things I have learned:

  • No, we probably don't.
  • "Add to Home Screen" for web apps remains an amazing innovation that is now in Android's Chrome browser too.
  • I missed my ebook reader so I wrote a web app called MindReader.
  • Most other things I do on a smartphone are available via the browser now.
  • I'm un-Googling. I've moved my contacts list & calendars to my own CardDav/CalDav server running Radicale.
  • The "touch" experience of the iPhone 3Gs is still aesthetically superior.

Here's a screenshot of MindReader self-hosted ebook reader:

MindReader screenshot

In other news my HP Folio 13 screen also cracked a couple of nights ago. It has been a really wonderful machine and I am sad to have to upgrade.

HP Folio 13

My favourite thing about it has been its rectangular shape in each dimension. It will live on in our house as an HDMI media box under our television.

/tags/all Thu, 25 Jun 2015 03:15 GMT
Kid Hacks Dad's Computer entries/kid-hacks-dads-computer

She SSH'es into her father's machine from her Raspberri Pi. Presumably like any good hacker she used social engineering to obtain his password. She then uses the ps or top command to find the process ID of the "Sublime Text" editor he is using - the number she reads out. She then uses the OSX say command on the command line on his computer to make it speak to him:

$ say "Dad watch out"

Given his reaction it appears he doesn't consider the possibility that anybody has remote access to his machine and he also doesn't seem to know about the OSX say command, hypothesizing incorrectly that the kids have set up a timed MP3 file. Finally, she uses the kill command on his machine to kill the "Sublime Text" process, closing down the windows he is working on.

Ha ha ha, adorable!

/tags/all Sat, 20 Jun 2015 01:56 GMT
Live-coding Blender with Hy entries/live-coding-blender-with-hy

Hy is a Clojure-like LISP that compiles to Python bytecode. Blender is a popular Free and Open Source 3d modelling program. This is a little livecoding experiment I put together with the two of them.

Source code is on GitHub.

/tags/all Wed, 17 Jun 2015 03:35 GMT
France 2014 entries/france-2014 castle-4.jpg castle-5.jpg family-1.jpg moose-chroose-cians-rouges.jpg moose-scout-hills.jpg planes.jpg red-riding-hoods-path-castle.jpg run.jpg scout-cians-rouge-2.jpg village-view.jpg

Last Northern Hemisphere summer we were fortunate enough to spend a week in the French Alps Du Sud in a small town called Beuil. Stunning place that isn't properly captured by these photos.

/tags/all Fri, 12 Jun 2015 14:00 GMT
Hover Train entries/hover-train train.gif train-4.png train-6.png train-3.png train-7.png

/tags/all Wed, 06 May 2015 03:15 GMT
Orson George David McCormick entries/orson-george-david-mccormick Scout and Orson

Orson George David McCormick

Born 6:30am, 2nd of March, 2015.

Amazing delivery by my hero, Michelle McCormick.

Welcome to the world little friend. May your journey be full of happy adventure and power naps.

/tags/all Sun, 03 May 2015 13:06 GMT
Low Polygon Count Utopia entries/low-polygon-count-utopia render.001.png render.002.png render.005.png render.009.png render.015.png render.018.png render.019.png render.020.png render.022.png

I knew I would not have enough time to make a complete video game during last weekend's Ludum Dare so I took the opportunity to do some 3d modeling in between bouts of commercial software development and four-year-old wrangling.

I had a lot of fun working on these! Blender has come along amazingly since I last used it for art ten years ago.

/tags/all Mon, 20 Apr 2015 08:05 GMT
ImageSnapper Chrome Extension entries/imagesnapper-chrome-extension ImageSnapper icon

ImageSnapper is a Chrome browser extension I wrote a while back for generating an RSS feed of found images. When you right-click an image and select "Snap image to RSS feed" from the menu the image will be saved to a local folder (configurable) and added to the RSS feed in the same folder. Sync the folder to a web accessible location to publish your feed.

ImageSnapper screenshot

Source code is on GitHub.

Install from the Chrome web store.

/tags/all Sun, 05 Apr 2015 09:56 GMT
Square Sounds Festival Melbourne Next Week entries/square-sounds-festival-melbourne-next-week Square Sounds 2015 Logo

My buddy Fenris and I are playing at Square Sounds Festival in Melbourne next week, Saturday the 21st of March, 2015 at The Evelyn Hotel.

I hacked together quite a bit of new software for this gig and I am tremendously excited about it. I think we are even going to practice our songs first this time. See you there!

/tags/all Wed, 11 Mar 2015 08:06 GMT
Bright Spots On Ceres = Wow entries/bright-spots-on-ceres-wow Bright spots on Ceres of unknown origin

Bright spots on Ceres of unknown origin.

/tags/all Thu, 26 Feb 2015 02:32 GMT
Reality & the Fantastic entries/reality-amp-the-fantastic Ceres from Dawn February

Ceres from Dawn, February 2015.

Enders Game

Ender's Game visualization test by Jayse Hansen.

Braun Systems

Systems, 1960s Braun design retrospective exhibition poster by Studio Job.

Images I've been inspired by recently!

/tags/all Fri, 13 Feb 2015 06:52 GMT
OMG Clojure entries/omg-clojure Last weekend was Global GameJam. My buddy Crispin suggested we use Clojure, a non-traditional member of the LISP family running on the Java virtual machine, and its browser-friendly cousin ClojureScript.

Here is the game we built together, using graphics from

(click to play)

You can find the source code on GitHub.

A couple of weeks ago I installed Leiningen, the Clojure package/dependency manager, and the VIM plugins, and started practicing.

Literally every night for two weeks now I have been dreaming in parentheses. Writing code has never felt so comfortable. I think I may officially be a LISP convert.

/tags/all Thu, 29 Jan 2015 12:25 GMT