nobody's blog
blog about my interests and projects
Latest posts
dreams over reality <br>(or, the dangers of magical items)
<code>crystal doc</code> with multiple versions
How to use crystal doc with multiple project versions
Fio: A LEG Ahead
The idea for the project was to take the processor we had made in a class at Tufts in the fall of 2021, synthesize it to an FPGA, write an assembler, and run a basic program on it. This included several steps, from adding new components and testing them, to debugging overall problems that come from synthesizing code which had only been simulated previously, to writing an assembler specifically…
(An Attempt In) Porting QMK to the Razer Blackwidow Ultimate Stealth 2016
Why I'm moving to iOS
The reasoning why I'm moving away from Android to iOS
Using Pathlib with Pain
How to use emoji's as infix operators in Python
ponyo - a framework for ISA simulation
A simulator I wrote for the LEGv8 ISA
logidiff - library and website to determine if two logical statements are equivalent
I developed a tool that determines whether two or more logical statements are equivalent to assist with a digital logic course.
Quick note on capo-calc
I wrote a small Python script for finding the best capo for playing a set of chords on guitar
On the things we have but never use
I have a tendency to collect electronics. Maybe it's a broken controller to fix. Maybe it's an old phone or videogame system to hack. Maybe it's a laptop I only boot up or use every once in a while. Over time, this has accumulated in a sizable collection of everything from videogame systems, to android devices, to audio equipment, to laptop and desktop computers, to microcontrollers and their…
Audio visualizer using an 8 point FFT
Design and implementation of an 8 point FFT utilizing a microphone as input and a VGA display as output as part of a final project for a classE
EccCPU - Error Correcting Code Central Processing Unit
Proof-of-concept CPU where the instructions are hamming codes
Improving netlistsvg
The process for how I fixed some bugs in netlistsvg
Intel 4004 Assembler in Python
An assembler for the Intel 4004 processor written in Python
VHDL PreProcessor in Python
A preprocessor for VHDL written in Python
VHDL block diagrams using netlistsvg
Create VHDL block diagrams using netlistsvg
UnifiedNLP on LineageOS 16.0/17.1
How to get UnifiedNLP working on LineageOS 16.0/17.1
VGA on the Upduino
The goal for this project was to develop a GPU-like core in VHDL for the Upduino v2 and v3. This would include a 60Hz 320x200 or 640x480 resolution output with read/write frame and color buffers, using PWM to increase the color depth. The color buffer would use color cells similar to those of the Commodore 64. However, due to limitations inherent in the Upduino, the full design was not realized. A…
the second best time to plant a tree
It was on a car ride home from school in 5th grade that I asked my Dad what programming language I should learn, due mostly in part to jealousy about a kid my age who had gotten their own app into the iOS app store. I wanted to emulate their success. My Dad recommended Python, and later that week he bought me Beginning Game Development with Python and Pygame.