too many bees


of things, which I, the author of this website, have done

Brooklyn JS

Gluing The Web And WebAssembly Together

This presentation is a technical talk that details some of the limitations of calling WebAssembly functions.

It introduces possible JavaScript wrappers and glue code that make working with WebAssembly modules more ergonomic for JavaScript programmers.

OpenNI2 for Rust

OpenNI2 is a (now abandoned) library developed by PrimeSense to read video streams from devices like the Xbox Kinect, a camera that records both visual data and depth through an infrared sensor.

OpenNI2 for Rust is a safe wrapper around OpenNI2's C API.

This project will eventually combine with a NiTE2 for Rust library to recreate the SimpleOpenNI library for Processing.


The Great Line Art Swap

This Figment installation is an art exchange where visitors can color pre-drawn line art, or draw line art to leave for others.

The result is a constant flow of art between visitors.

Queens JS

Ads Are Evil, But I'm Worse

I have never learned more about JavaScript and the web than when I've reverse engineered malicious advertisements.

This presentation describes a mysterious ad which I discovered after it tried to cover its tracks a little too conspicuously.


Rainbow Mirror

(Also named Glitch for its accidental development.) Utilizes an Asus Xtion Pro Live (basically an XBox Kinect) to mirror visitors' bodies in strobing color.

A grayscale video frame that captures a lot of flickering noise around the edges of moving bodies, especially hair.

I tried making a toy visualization that "red shifted" people as they moved toward or away from the camera. Several wrong calculations and integer overflows later, I ended up with a flickering grayscale mess, pictured.

I eventually fixed the math errors, and discovered it wasn't nearly as fun as my glitched-out art, so I took my piece in that direction instead.

I installed it on Governor's Island in the basement of Fort Jay, a cavernous pitch-black bunker perfect for projecting a light show.

Avatar Verifier

I learned Ruby so I could stop making so many typos when writing MUD areas.

From 2002 to ~2015 I played a Merc-derived MUD called AVATAR. A rare area building contest was hosted by the Immortal staff, and after writing a tiny newbie area filled with sleepy ents and one angry warlock, I was offered the privilege of writing areas regularly.

AVATAR's codebase hails all the way from 1990's DikuMUD, and its area file format grew harder to manually read and write with each new feature added to its syntax. AvVerify was my first ever Ruby program—I learned as I went—built to parse area files and report possible errors.

MUD areas contain the entirety of the game's lore, and with enough contributors it sort of becomes a shared fanfiction of itself. I spent countless hours researching in-game lore to find interesting story lines to pick up, and concoct mysteries that I hoped other writers would investigate and embellish on their own.

I should emphasize that area building was one of the most rewarding creative pursuits of my youth (and young adulthood). In retrospect, I wish I hadn't stopped, but a combination of depression and looming issues that I didn't realize were looming kept me from keeping up contact with my peers.

Spamusement Pop Quiz!

A lot of people my age cut their teeth on web development through Neopets. For me, the first software I wrote outside of a school setting was a quiz based on Spamusement! fan comics.

From 2004 to 2007, Steven Frank created Spamusement! which he accurately described as "Poorly-drawn cartoons inspired by actual spam subject lines!"

A lively fan following grew on its forums, the central focus being the Spamuser Comics section, where members drew their own art to email subject lines that landed in their inboxes. (For the young'uns reading this, there was a time when email spam was truly surreal, rather than bland hyper-targeted product offers.)

After a few years, the Spamusers forums contained quite the body of work, and for fun I made a quiz to test forum regulars' spam-instincts. It was monstrously bad, as first attempts at web dev usually are, and it still has a special place in my heart.

The Spamusers fan comics collection has been decimated in the decade(s) following its heyday, by purges from the likes of ImageShack, policy changes to Photobucket, etc. I wish I could have saved more comics before they were lost, but I'm glad I could keep this little slice of internet art safe and sound.

Love you guys. 💛