— server

  • Intel nuc i3
  • CPU: Intel i3-3217U (4 core) @ 1.7 GHz
  • Memory: 16Gb
  • OS: Manjaro Linux x86_64
  • Shell: zsh



— Gray Area Festival Archive

Running at: https://archive.grayareafestival.io

Source code: https://github.com/GrayAreaorg/festival-video-archive

A filterable archive of videos from the Gray Area Festival, consisting of in-person and virtual conference talks, presentations, and group panels. The videos in the archive are currently hosted on the Gray Area YouTube Channel, which is currently the source of video metadata.

The archive is built entirely client-side with flat-file JSON files, and includes english captions for each video, which improves accessibility and encourages filtering, searching, NLP analysis, and/or experimentation with LLMs. Contributions are welcome. These .vtt formatted caption files are stored alongside the video metadata JSON in the data/videos folder.

Preliminary work has been carried out to allow users to filter videos by various curated topics ordered by the frequency of key-words, and word-count per video generated from the video captions. View these files in the data/topics.

This project is open to submissions and suggestions around engaging with this growing collection of content. You are welcome to make a pull request or contribute to the issues for discussion.


— dotfiles

Dotfiles setup for multi-os setups (‘nix, Mac OS).

Adapted for ZSH Shell from various distros (Ubuntu, Arch/Manjaro, etc)

Utilizing a bare repo in a side folder ($HOME/.cfg), and an alias allows for management via git.

source on github


— Hyper Terra


Projection sculpture

“Hyper Terra” is a projection-mapped sculpture with an embedded projector, computer, and integrated power supply. The sculpture is a mountain with simulated solar and lunar lighting that can be set up with any lat/long on Earth and a point in time. The graphics software has controls for time advancement towards the past or future, the long/lat on Earth, solar/lunar positioning, light color, and more. The result is both a sculpture and a dynamic visual timepiece.

Software Abstract

Source on Github

Written in C++/OpenGL, running on an NVidia Jetson TK1.

OpenGL projection graphics software coded in C++ using a linux dev branch of the Cinder framework (included as a submodule).

3D graphics light an abstract landscape with dynamic shadows using a multi-pass rendering enging. Lights are position at the Sun and Moon positions of that time and place, calculated by an ephemeris table, via pyephem, a library for Python.




— Simple Projection Mapper



A simple mesh-based projection-mapping tool with basic vertex editor written in C++/OpenGL.

Tested on MacOS and Raspbian/Raspberry-Pi.

Built as the starting point for the project Hyper Terra, source


— .mov to .gif

using ffmpeg and gifsicle

ffmpeg -i in.mov -s 640x360 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize=3 --delay=6 > out.gif


— NodeJS One-Time Password Auth

source on github

One-Time (Single Use) Password Authentication Strategy using a JSON Web Token (JWT) and Cookies.


— Organelle + Monome

Using Critter + Guitari Organelle as a host for a Monome 128. I built a patch that uses the Organelle’s keys to program the arpeggiator tones, and the Monome defines the steps. Includes OSC Installer and all patches needed to build upon this foundation for other patches.

source on github

and Patchstorage [1], [2]

In this video, the Moog Minitaur is triggered via MIDI, and its audio is routed through the delay effect on the Organelle in tandem with a simply polyphonic voice in the patch. The sequencer supports 5 note polyphony. However I’ve been using this patch with a Moog Minitaur, which is monophonic.

Triggering a the Moog Minitaur again via MIDI. The sequencer patch is using an audio sample-based clock, I stress-test it towards the end.


— Grasshopper <-> TouchDesigner Geometry Bridge


— Animation w/Processing Workshop

source on github