Bayridge Sidewalker2

Bayridge Sidewalker1

Game Scry

visit site
A game discovery database and interface


visit site
embeddable clientside widget to book appointments with a firebase API

Bayridge 4th of July 2021

javascript tuts


SpaceX Starman


visit site
A plugin merging threejs and WordPress, a work in progress.


visit site
A spaceship tavern gambling game, made with the DOM and http requests before I learned proper game stacks. Registrations are not verified; any email will do.

radio – live NPR – daily catalog NPR – indie NYC – Harlem – Bronx

stock ticker

visit site

threejs gotchas

Lighting a large scene: DirectionalLight is the best simulation of daylight. But in a big world, you probably don’t want to light it all at once. You’ll need to update the light position and also it’s target position, what it uses to calculate it’s angle. The gotcha is: you have to run scene.add( ) […]

bash resources

set_cache, a workaround to bundlers. Use CLEAR_FILE to prevent accidental sed overwrites. Replace all query string numbers with $1 arg to set_cache.

state handling

CSS: javascript:

running certbot with nginx on debian 10 for SSL certificates

The authoritative source: TLDR: A records in place for [url] and www.[url]basic server block in /etc/nginx/sites-available/[domain]sudo apt updatesudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interfacesudo apt install python3-certbot-nginx(https) : sudo ufw status if needed: sudo ufw allow ‘Nginx Full’sudo ufw delete allow ‘Nginx HTTP’ Lastly: sudo certbot –nginx -d your_domain -d www.your_domain […]

pm2 101

process monitor 2 list apps pm2 dashboard: start with custom name: reset app list: empty log files

New Website Reference

visit site

Grunch of Giants

Buckminster Fuller fable


visit site
a simple mp3 player

Spatial audio with howlerjs quickstart

a few hurdles I had getting started with spatial audio: How do I scale “my game space” to “howler space” Remember that howler’s pos() is arbitrarily different than your position units – I found that anything beyond approx 5 “howler units” was silent. In my game, 5 units is a tiny distance, so I was […]

Claire Evans (Yacht) article on Kentucky caverns and Adventure video game

Bare Bones javascript Pub/Sub mechanism

threejs scratchpad

visit site
practice new functions in the console; copy and paste all your Scene init boilerplate

systemd 101

a pocket reference Getting to know your system daemon Create your user-created service files in: The machine-created service files will go in: more in-depth: where do i put my systemd service file what is the difference between systemd system and user services Example a sample .service file, at /etc/systemd/system/hello.service: *common mistake – make sure to […]

WordPress “Anonymous Fox” virus port mortem

Here are notes from a malware investigation, of which I would later learn goes by “Anonymous Fox”, the supposed pseudonym of the malware author. Here’s notes from the timeline: Earliest logs The logs begin at the end of August 2020, although unfortunately it’s likely the compromise occurred earlier. A successful request for a questionable sitemap […]

On Computable Numbers


visit site

COIL Connect

visit site
A curriculum matchmaking app for teachers and professors around the world interested in collaborating.


visit site

On the phenomenon of bullshit jobs

David Graber

Economic Possibilities for our Grandchildren

John Maynard Keynes 1930

feed reader

visit site
all the news that’s fit to feed

country codes as a javascript object and array

As an array: [ [‘Zimbabwe’, 716, ‘ZWE’], [‘Zambia’, 894, ‘ZMB’], [‘South Africa’, 710, ‘ZAF’], [‘Mayotte’, 175, ‘MYT’], [‘Yemen’, 887, ‘YEM’], [‘Samoa’, 882, ‘WSM’], [‘Wallis and Futuna’, 876, ‘WLF’], [‘Vanuatu’, 548, ‘VUT’], [‘Viet Nam’, 704, ‘VNM’], [‘Virgin Islands (U.S.)’, 850, ‘VIR’], [‘Virgin Islands (British)’, 092, ‘VGB’], [‘Venezuela (Bolivarian Republic of)’, 862, ‘VEN’], [‘Saint Vincent and the […]

lorem ipsum

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat […]

resizing disk partitions on Linux

A bird’s eye view – does not cover creating disk partitions. Recommended tools to view your current partitions: gparted – launches a GUI parted – begin this command line program, and type ‘print’ The partition addresses you’re looking for will most likely be in the format: /dev/sda[X] basically: First allocate the space for the partitions, […]


Some resources: MUD Discord Some favorite MUD’s: Free world / Cowboy Bebop 5678 Isengard 4040 3000 alice-MUD 5555 TCZ 8342 LOM telnet 4000

make your own Reddit browser

Reddit exposes all their subreddits (and just about everything else too), to public RSS feeds. This means you can do all sorts of fun automation with it. Here’s a quick recipe to get it up and running on standard shared LAMP hosting, such as you might have for a WordPress. [ DISCLAIMER ] – it […]


A browser MMO aimed at MUD fans.

HTTP soccer

visit site
Coded a multiplayer board game using HTTP polling, enabling it to be dropped on any server running php and work out of the box. No rules are coded; it is up to the participants to play their own game.

somewhere gallery

visit site
An art gallery for anyone to hang art

Kosciuszko Bridge

Custom framerate for Threejs

By default, javascript’s requestAnimationFrame will run as fast as it possibly can, and if you have much logic in your animation loop, you’ll quickly hear your computer fans start to whir. To free up CPU power for other tasks and keep  your webpage snappy, request your animation frames by timestamp instead of “asap”, like this: […]

visit site
Trying to build a browser MMO on a $5 server.


visit site
Animated javascript prototype for a startup.

All Watched Over By Machines of Loving Grace

I like to think (andthe sooner the better!)of a cybernetic meadowwhere mammals and computerslive together in mutuallyprogramming harmonylike pure watertouching clear sky. I like to think(right now, please!)of a cybernetic forestfilled with pines and electronicswhere deer stroll peacefullypast computersas if they were flowerswith spinning blossoms. I like to think(it has to be!)of a cybernetic ecologywhere […]


A work desk built for two; a couple hundred joined lathes of pine.


visit site
Artist portfolio of Gail Vachon, NYC

Spring Summit

visit site
Promotional page for genetics conference at Harvard U.


visit site
Extensive customization of an NYC gallery’s Shopify

Floating Cinema

visit site
Film portfolio of artist and filmographer Jon Rubin, NYC

Ford Crull

visit site
Artist portfolio of Ford Crull, NYC


visit site
overhaul of existing WordPress blog and implementation of entirely new client design. Tech-driven interior design startup, SF

Dana Shea Jackson

visit site
Artist portfolio of Dana Shea Jackson, NYC


visit site
An experimental build for an optometry practice and 3d printed eyeglass retail.


visit site
draw things, share things

Tetris bed

Elevated bed for a river view and extra storage

Kitchen installation

Kitchen overhaul in an ancient NYC walkup building.

houseboat stairs

First we tried renovating the old spiral staircase (it was rusty and falling apart): Too cramped! Onwards, to more space:

Illuminated Parchment

This was a plugin script circa 2014 (inserted via yet another plugin, Gryphonheart Items ), that allowed players in World of Warcraft to trade actual drawn canvases with each other in game. Since plugins could not import their own resources (or I chose not to), the “charcoal” was layered smoke sprites from the WoW filesystem, […]


Just so shoes.


Hand welded, restored yellow pine cabinet.

Three’s company

A client with a sketch, and then some stools.

Perriand Records

A custom storage solution for a lifetime fan of Charlotte Perriand

Original table

The first table, alternating oak and pine