RSSAmplifier

Blog

project c190

localhostRSS feed ↗10 posts

Latest posts

Math on the web feat. Joy of Cryptography

I’ve recently been reading Joy of Cryptography by Mike Rosolek, and realized I could probably use some formal proof-writing practice, given that it’s been a while since I’ve had to write very thoroughly mathematically-sound proofs (Computer science and its consequences). Then, I decided I also wanted to learn how to render math on the web without JavaScript, because it would be cool. Two birds…

Programming and Pro Gaming: Playing SIC-1

Lately I’ve been obsessed with SIC-1, an open-ended programming game where you learn to write programs in the esoteric assembly language Subleq, which only has a single instruction, to perform various tasks. The Subleq language’s single instruction is, as you might be able to guess, subleq—”subtract and branch if less than or equal to 0”. I really like the gamified format because it’s very…

Stopping blocks, clearing rows, and ending the game

Stopping Blocks Clearing Rows Ending the Game Residual Quirks Project Trivia The program code as of this point can be found here. As I mentioned last time, I need my program to be able to resolve the following 3 questions: 1) When should blocks stop falling? 2) When should a line clear occur? 3) When is the game over?

Cleaning and optimizing the program

It’s been some time since I’ve completed the steps of the project I’m about to describe, so, for the record, I am summarizing them here more for the purpose of re-familiarizing myself with my progress rather than documenting something I’ve recently completed. In sum, I improved the program code by 1) reducing the number of stalls in the program by spacing branch instructions apart from the…

Closure

When I started Nand2Tetris, I was determined to understand more about how computers really worked, because I couldn’t help but feel that what I’d already learned was information in significant isolation. Though I had been coding for long enough for it to feel fairly natural, everything in the realm of programming is so abstracted I couldn’t clearly and concretely grasp how the code I wrote was…

Binary search trees, 2-3-4 trees, and red-black trees

“Computer science is no more about computers than astronomy is about telescopes.” —Edsger Dijkstra Introduction The Binary Search Tree B-Trees and 2-3-4 Trees Red-black Trees Conclusion Thank you to Val, Heli, and Damien for beta-reading! Introduction When presented with an overwhelming amount of data, how would you change its structure for ease of access and use? Let me reframe that question in a…

Debugging advice that will save you countless hours

assume nothing isolate and test every step take breaks

How I Study as an Academic Weapon

Note: This article is from early 2025, but I never marked it with an exact date. Also, it’s more about studying for school and exams than it is about how to learn in general, which I believe do not necessarily overlap. General Advice Anything where you do not deliberately force yourself to practice active recall (e.g. reading lecture slides) is not studying and believing otherwise only lulls you…

Spotting patterns and rotating blocks

It’s dangerous to go alone!

Falling blocks, movement keys, and MARS hackfixes

Funnily enough, grinding out MIPS programs for class in the library until midnight last week reminded me that I actually really enjoy assembly language. I would love to know more about it, and reading books only gets me so far, so I thought why not make a game in MIPS as a nice exercise? Snake seemed really overdone, and Centipede seemed a little ambitious, so I went with something I considered…