Recent Posts
Ring Buffers Are Cool
Ring Buffers Are Cool
I’ve kinda really gotten into Ring Buffers. It’s such a simple data structure yet there are a million ways to optimize around it and also, it’s still so massively useful. Kind of reminds me of the situation with B+ Trees or LSM Trees except that Ring Buffers are way easier to grasp. Here is a pretty simple introduction into Ring Buffers: Data Structure and Algorithms: Ring Buffer. I do like the Python version because we get pseudo-infinite read/write pointers due to Python’s int implementation, though typically a uint64 is more than enough. Here’s my Python verison:
Projects List!
Projects List for Sep 24, 2025
Here’s what I’m currently working on as of September 24, 2025!
Kittochi
I’m making a Tamagotchi-like game: Kittochi
It’s super early in the process so a lot of features haven’t been implemented yet, but I’ve got a lot of the core systems done, e.g. gameplay loop, sprites, data structures. I’m building this with THREE.js which I’m very new to, and Typescript.
Printed Tasks
I’m continuing to work on my Printed Tasks project: Printed Tasks
Adventures With Tensorflow: Titanic Competition (Part 1)
The Magic of Machine Learning
From an outsider’s perspective, machine learning looks like complete magic. I initially wanted to get a surface-level understanding of how it all works by watching a few Youtube videos on the topic but it was difficult to get even a blurry picture of what was going on without some hands-on learning. So I decided to watch a full class on Udemy instead. The result? I accidentally developed a major passion in machine learning (oops). So here’s a quick overview of my current adventures with Tensorflow as I attempt to put my current knowledge to use on Kaggle’s Titanic Competition
More
ServiceNow: An Infrastructure Engineer's Journey from Skeptic to Advocate
All PostsAugust 2020
Things I just realized I’ve mostly forgotten about: Linux Networking
Trying to get two VPNs working together on the same Ubuntu system was a (relatively short) journey. I still know all the basics and whatnot, but I used to have all of the ifconfig commands memorized. Adding a default gateway, for example, used to be a common task for me back in the “old-school” days of being a Linux sysadmin. I had that command memorized. I knew how to read a route table! The move to Docker containers and AWS has rotted my brain. It’s also a testament to Docker that its networking Just Works in most cases. It’s also scary because running Docker on a system is dangerous since it, by default, modifies iptables to expose ports to the world (0.0.0.0). I wonder what other scary Docker things I’m missing as a result of forgetting how Linux Networking works.
Vim
vim Things to Remember
This is for vim stuff that I frequently have to Google for.
Copy output of shell command to file
This is done with:
:r !ls -1
Yanking and deleting properly
When trying to delete something and then paste, it’s best to use a dedicated register for yank instead:
"ay
and then paste with the register:
"ap
There’s also a separate register specifically for yanking:
"0p
December 2019
Python things
Python is my main programming language.
Async/await
- How to use these
- How do they work under the hood
- How to mess this up badly
fastapi
- How to use this
- How it works under the hood
- How to mess up longin/security
- How to deploy this to Google Run with Cloud SQL, AWS EC2 with Aurora PSQL, IBM?
- How much more complicated does adding a proper SQL make this deployment, vs using SQLite
- Gitlab automatic deployment and unit testing with every commit
Distributed Systems
Reading this book, notes go here.