Projects 18

./pizza

There’s a very specific feeling I get when in a classroom at night. I usually only end up there for some kind of special occasion: the last math team practice of the season, a guest lecturer in college, or a presentation night for finals. Even if there are no windows, the fluorescent lights seem a little brighter, the room a little warmer, focus a little easier. I’d like to imagine that Donald Sherman was feeling somewhat similarly as he sat in front of a green phosphor CRT terminal and a telephone handset perched on top of a wooden box. He was surrounded by a group of at least a dozen people who had filed into the Michigan State University AI Lab on the night of December 4th, 1974 to watch Sherman order a pizza.

How Wifi happened overnight: the history of Part 15

This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation. This incantation has been repeated billions of times: embossed into the injection molded cases of cheap toys, printed on stickers slapped on the bottom of WiFi routers, and tattooed on the back of your local hacker 1. But what the hell does it actually mean? In short, it’s the regulation that allows unlicensed use of certain types of radio transmittors on certain frequencies. To get that far however, three elements had to come together:

Makeafish displayed on a Thinkpad

X11:11 Make a Fish

Try out the live version, or check out the source on GitHub. Intro “Serverless X11 client” is a term that should strike fear into any self respecting IT practitioner. Marrying X11 (legacy, hardware coupled, long lasting, realtime) with serverless (cloud native, ephemeral, abstract) makes no goddamn sense. This is exactly why I had to do it Solve for X11 X11 is the windowing system that UNIX, and later Linux, grew up on. Instead of having to manually draw each and every pixel, a program can make X11 calls to draw a window, render text, and get input events. Although it’s slowly being supplanted by the upstart Wayland, it’s remarkable for surviving since the mid 1980s essentially unchanged. Owing to its heritage in the era of the minicomputer, X11 is network transparent, meaning the application and terminal can be on separate machines, and communicate over TCP.

A soviet style advertising that reads JOIN US ROBOTICS (https://jacfodor.com/U-S-Robotics)

Snooping on Voice Modems

Dialup modems are split into three classes of capability: data, fax, and voice. Data modems exclusively transmit serial data, used for dial-up internet and server access. Fax modems have data capability, but can be put into a special mode to transmit and receive faxes. This is quite natural from a technical perspective since fax machines are essentially scanners connected to modems. Voice modems are data/fax compatible, and when set to a special mode, can pass digitized audio between the phone line and computer.

Computing History Bibliography

I have been interested in computing history for many years now, and I’m still often surprised how deep the literature on the subject is. I’ve had the good fortune of discovering and being told about many amazing books in the field, I’m lucky enough to have gone to a university with a world class library system, so many of these I just found by browsing LoC sections of interest. I’ve collected the ones that stood out to me together into a big list to hopefully help out others who are interested. Thankfully, many of these titles have been scanned, or are widely available in regional library systems through WorldCat. For the WorldCat links, be sure to click “All Libraries”; why this isn’t the default is beyond me. Additionally, there may be a website that ends in gen, and starts with lib, that may have PDFs of most of these titles, but you didn’t hear that from me as it’s not exactly lawful. I’ve tried to group the titles by general vibe, but besides that, there’s no specific order.

Computer Lib Snippet

Misadventures in Scanning

I’ve had a bunch of images of raw scans of a book called Computer Lib/Dream Machines sitting around since 2022, and I wanted to mention it in a blog post I’m working on. However, this book is large (10x14" according to Amazon), and while the scans online are acceptable quality, I thought a book so visually interesting and important deserved a super-high-resolution scan. So here is the series of false starts I went through to prepare them for distribution.

Github stats

MOP3

Mastodon is a decentralized social media platform. It is similar to platforms like X, but instead of users connecting to servers run by one organization, users connect to one of hundreds of servers, which pass messages between themselves. Because of this topology, it is often referred to as “email for social media”. The usernames also help this, being the format @nkizz@tacobelllabs.net. Because of this, local retro-computing enthusiast Foone Turing posted that she wanted the metaphor to be made real, and to use Outlook Express 4 to browse it. I thought I could make it happen. I also happened to be looking for a tool to learn Rust with, and so MOP3 was born. It is a program that can speak POP3 and SMTP (two protocols used for receiving and sending email respectively) and translate those protocols to reading and posting to Mastodon. The project turned out great, and got more users than expected. The feature list came to include

CondWand

Under the “why don’t more people talk about this”, the amount of ML inference that can be done locally on even pedestrian smart phones is truly impressive, and a field that I don’t think enough software developers are taking advantage of. This was the focus of a course I took in Spring 2023: ELEN 6908-Embedded AI. The final project was to design an embedded AI project, and I took inspiration from a project I had attempted and failed at years before. I played in our concert band from 4th grade through high school, and so was pretty familiar with conducting methods. I thought it would be cool to use the accelerometer from a Wii Remote to conduct and set the time of music. I’m not sure how I didn’t know this had already been done in Wii Music, but oh well. However, my coding skills weren’t up to the task, so I put the project aside. The development boards we were given for class had accelerometers, which gave me the idea to do it with AI. The first step was recording data. I strapped an Arduino BLE 33 to my wrist, and conducted for two minutes at intervals of 5 BPM from 60 to 120.

Atlas Cover Page

Spaces and Research

Universities are like tiny sovereign countries. And like any country, there are constantly warring factions within the structure vying for space, money, and social capital. One of the notable ones at Columbia University is GSAPP, or the Graduate School of Architecture, Planning, and Preservation. This is a surprisingly independent school that has some amazing visual branding. A few of their classes are offered for cross registration, and at the recommendation of a friend, I enrolled in A4407 - Methods in Spatial Research. This course covered two topics. Technical GIS system usage in the form of asynchronous tutorials (EXACTLY the way I want to learn, and rare at Columbia), and cultural usages of maps. The final project of the class (which was half a semester - I’ve never heard of another class that does this) was an atlas, with all the assignments put together. The two highlight maps for me was the map of California’s Central Valley (having grown up there I know that very few people realize how incredible California’s agricultural diversity is) and the Pizza Hut-Taco Bell project, due to the completely silly way I found it (extracted every Pizza Hut/Taco Bell location from an offline Open Street Map archive, then ran a O(n^2) algorithm to find any closer than 50 feet from each other).

XBAND running

XBAND Trials

The XBAND was a third-party modem produced by Catapult Entertainment for the Super Nintendo and Sega Genesis in the mid-90s. It enabled multi-player support over phone lines by being placed in between the game cartridge and console. The service has been shut down for many years, but has recently been revived by hobbyists. I worked with a group trying to improve service quality. To understand what we did, you need to know a bit about how the service worked. Alice tells her XBAND that she wants to play online. The modem dials Catapult’s phone number, and establishes a brief modem connection, where news and mail is exchanged, and Alice’s phone number is registered as looking for a game. Her cartridge then ends the connection and hangs up. Bob selects he wants to play online. His cartridge performs a similar connection procedure to Alice, but since Alice is currently waiting for a game, the central server gives his cartridge Alice’s phone number and instructs it to dial out. His cartridge then hangs up the connection, and calls Alice’s phone number. Alice’s modem answers the call, and the two modems establish a connection. This peer to peer structure has a few effects.

Steamed Hams still

Steamed Hams

This one is going to be tough to explain. In 1996, the American TV show “The Simpsons” aired an episode “22 Short Films about Springfield”. The title is a reference to Thirty Two Short Films About Glenn Gould, and the episode is a loose (loose) parody of Pulp Fiction. 20 years later, one of the longer segments which came to be known as “Steamed Hams” became a meme on Youtube. I have a few theories about why this happened, mainly that it’s an incredibly short self contained story, that has the over-the-top line delivery and framing of a very short film, but with the narrative authority of a show like The Simpsons. and it’s funny. Steamed Hams memes take the source material and modifies it in some drastic ways. Searching “Steamed Hams But” on Youtube will give you an idea.

Entry Cart

New Beginnings

In 2020 I participated in the Small File Film Festival, presented by Simon Fraser University. The thesis of the festival is that all submissions must be under 5 megabytes. A few years prior, I had pursued a business idea of selling albums on Gameboy Advanced cartridges (it fizzled out after I got banned from Tindie, SAD). Through this, I had encountered METEO, an incredibly unstable Windows XP program that converts video files into ROMs playable on the Gameboy Advance. I assume this was sold along flash carts to compete with the PSP. It’s never a good idea to pick the medium before picking the message, but that’s never stopped me before. One of my favorite albums of that year was BUY NOW by Eyeliner, a super unique sound. Track 9, Chit Chat, always sounded like the theme to the end credits of a game, and the duration is about what fits on a cart with reasonable compression. So I decided to make a compilation of game endings set to this, on the original hardware. So I assembled a bunch of longplays of GBA games (my favorite was this Spiderman game, where the devs photoshopped themselves into stages, wonderful), and picked out the best points. I edited it all in native resolution, because adobe premiere is fine working at 240x160px. After putting some filters to compensate for compression, I generated a GBA ROM from the video file, which was WILDLY over 5 MB. Turns out the weak CPU of the GBA (along with being a sketchy program from 2004) meant that the bitrate for even a 240x160 video was pretty high without really compressing it. After an afternoon of changing parameters, I got it under 5MB, although at a lower quality than I expected. The artifacting kind of defeats the purpose of using GBA games as the source (I could’ve used any). In a perfect world, I would’ve extracted the sprites from each game, but that would’ve been far too intensive.

Class Act Logo

Class Act Android App

After a thrilling win at the 2017 Maine App Challenge, Team Redundancy Team was ready to return to attempt another victory. The idea we came up with was Class Act, which consisted of the following tools Alarm that turns off on snow days and delays when there is a delay Assignment calendar that helps people keep track of all of their assignments from Google Classroom or teacher Web sites Study guides, both from other Web sites and written by ourselves to help students study for hard exams and enrich themselves beyond high school curriculum Extracurricular board, to provide students a forum to coordinate extracurricular activities We made it using a similar tech stack of Android/Firebase/Material design. It ended up being a little less compelling than Permit Log, I believe mainly because the ideas either relied on network effects we had no hope of creating, or were used to infrequently that it wasn’t really worth it. Plus third party alarms on Android are a special kind of hell, and I don’t know how those apps do it. The video however, as always, kicked ass. In the end we got third place, which I think we were all pretty pleased by.

Phone Opened Up

Cellular Rotary Phone

I completed this project at roughly 14 and it was my claim to fame for a while after. I had been exposed to rotary phones during one of Maine’s very common power outages, since our cordless phones didn’t work through a power cut. The three components of the phone were an Arduino Pro Micro, which interpreted dial/hook voltages, and coordinated calls an Adafruit Fona 2G, an amazing board that is basically a Nokia 3310 on a breakout board. It broke out speaker/mic pins, and had a serial interface. It’s sadly been discontinued with the phase-out of 2G, and nothing VoLTE has really replaced it. a Sparkfun WAV trigger, for playing the ringer sound effects. It is basically a board that will play short audio effects when a pin is triggered. This project originally used schematics from an ancient Sparkfun to generate a voltage to use an actual ringer (this project has been done a few times by other folks. Convergent evolution will get you every time). However, my electrics skills/equipment were woefully unprepared, and I kept burning out H-bridge chips. The WAV trigger connected to some salvaged laptop speakers did the trick.

MarshwoodWX layout

MarshwoodWX Weather Station

I was president of the Marshwood High School Science Club from 2015 to 2019. This may sound impressive, but it was more of an excuse to reserve a room after school for me and my nerdy friends to hang out in on afternoons that we didn’t have math team practice. Our one club responsibility however, was management of the Marshwood Weather Station. A few administrations before us, the science club had purchased and installed a Davis Vantage Vue weather station, and got it installed on the roof.

Permit Log logo

Permit Log

Tyler Technologies in Maine sponsors an annual event called the Maine App Challange. Brian Austin, Noble Mushtak, and I participated in the challenged in 2017 and 2018. Our initial app was called Permit Log, and it was our most successful, winning first place and having over 2000 active users. Google Play Store listingMaine has the strictest teen driving laws in the country, requiring 70 hours of logged driving on a lerner’s permit before gaining a license. I have no idea why this is. I constantly forgot to update my paper log, so it typical digital transformation fashion, we made an app. The UI was pretty simple, with just a start/stop button that allowed you to record the properties of the drive, and export it at the end.


Mia Ava Brooke Philo Tris Maxine query.44203.online — Δ-44203 Adryd/Ari Hunter Julia Izzy 88x31

Using the Chirpy theme for Hugo.