blog

Radios for Robots

April 16, 2024


For when you want your 'bots to roam outside the range of your apartment WiFi.

88x31 Buttons and Network Science

December 26, 2023


Applying principles of network science to those tiny little buttons.

In Defense of Really Long Merge Requests

July 27, 2023


Massive diffs aren't anything to fear.

So, You Want To Stream Lots Of USB Cameras At Once

June 21, 2023


Simple, right? Here's everything that will go wrong.

LDSP: low-level audio programming with rooted Android phones

June 17, 2023


Or, "How I Helped Author A Paper By Messing Around With Build Systems"

How To Reverse an Android App

June 16, 2023


I really wanted to unlock the 🎈 emoji without spending $25

Emulation Project - Call for Collaborators!

November 26, 2022


Something exciting I've had in the works, and how you can help!

Universal Hooks

January 19, 2022


Reimplementing some core React Hooks in userspace.

Building a text processing pipeline with Unified

January 03, 2022


Spellcheck, grammar check, Markdown, HTML, and more!

Tunneling, Routing, and NATting my way to smuggle IPv6 into Northeastern

September 06, 2021


Northeastern's dorms have good WiFi... for most people. But I'll always find a reason to tinker.

PocKey - RP2040, SH1107, and lessons from a failed project

August 29, 2021


I invested countless hours into this project and I have nothing to show for it but a story.

Building My Online Presence

August 26, 2021


For much of my life, my identity has been, for lack of a better word, unstable. This is an outlet for me to keep track of what makes me who I am. It's a place where I can post things that I'm proud of.

5F3759DF: An explanation of the world's most infamous magic number

March 17, 2021


Here's a famous function in the Quake III source code. Can you guess what it does?

How I Use Dokku

February 10, 2021


A one-stop-shop for building, deploying, and hosting apps on a budget.