Not a beginner — Not a comfortable intermediate — and certainly never done

View my projects on GitHub


  • 21 Nov 2022 » Piano Playing Bird

  • In a group, I designed and built a mechanical piano-playing "bird". It's less functional and exciting than it sounds however. There were much bigger ideas, however plans and extensions were scraped in the interest of time. That doesn't stop the fact that it happened. Watch a video overview of the project here! ... read more
  • 30 Jul 2022 » Dynamical System Modeling

  • I went back to school to study Mechanical Engineering. I took a math course involving transformations and a separate one on numerical solutions. They suit each other quite well so during my winter break I decided to play around and animate some dynamical systems. I derived the equations of motion from Lagrangian mechanics ... read more
  • 08 Jun 2020 » Smart Intersection - A first attempt

  • It’s that unbearable feeling I get when I’m cruising down a highway at 45 mph only to see a yellow light bring me and my nearby convoy to a halt. All so this one dinky Subaru can make a left turn. It hurts because of all the gas we all squandered away to friction and heat to brake, the gas that’s wasted while we all idle, and then more as we accelerate back to speed. I try my best to predict such things, coast when I approach a light from afar (to the annoyance of the vehicle behind me), I even slow my approach to lights when I think I’ll cause a group of cross traffic to stop. The traffic light was invented in 1912. There has to be a better way. ... read more
  • 27 May 2020 » GUI

  • I've been experimenting with adding a GUI to make some of my programs more accessible. After all not everyone is willing to open code and run it in a terminal. I feel this would make a product that can be used by the more general consumer ... read more
  • 03 Apr 2020 » Covid 19 - beyond the exponential

  • PLOT UPDATED WEEKLY. I didn't really want to talk about the Corona Virus. Not because it's a particularly depressing topic to me, but because it's what *everyone* is talking about and epidemiology is not really a subject that interests me. But the media's portrayal of the data as just raw numbers doesn't get a good message across. Further, it doesn't tell us what we should focus on. I hope with this post I can reframe the data in a more enlightening way ... read more
  • 07 Mar 2020 » The Trash Panda - Recycling Made Easy

  • The Trash Panda is a Progressive Web App (PWA) designed to make proper recycling easy and quick. Recycling can be confusing in part due to the variation in local laws. Some areas accept plastic bags in their curbside bins while others do not. Most of us know (or should know) that paint is hazardous and can't be tossed in the trash, but it can be annoying to look it up. Even worse, individuals who over recycle, putting everything even remotely plastic in their recycle bin and so unintentionally make poor decisions ... read more
  • 17 Feb 2020 » Automated Bounding Boxes

  • When it comes to computer vision, it's extremely helpful to have a large sample size of nicely labeled data. A problem arises when you're neither a big tech company with ample resources nor can you benefit from labeled crowd sourced images ... read more
  • 17 Jan 2020 » GitHub Cleaning

  • A tutorial for consolidating GitHub repositories while maintaining contribution history. Reduce your repo clutter and make it appear as if you had setup that directory structure from the outset ... read more
  • 27 Dec 2019 » AI Music

  • This music was generated after about 10 minutes of training on Chopin preludes with an LSTM architecture in Keras ... read more
  • 25 Nov 2019 » Flask Experiments

  • I've been playing around with flask and creating fairly useless flask apps which may come in handy in the future (not the apps, they're forever doomed to be useless, the knowledge gained through making them). Though these apps are small, I have the directory structure set in a way that's useful for larger apps. The purpose of this post is mainly to keep some notes but also serve as a guide for anyone who stumbles across it ... read more
  • 27 Oct 2019 » U.S. Power Plant Predictions

  • I made an interactive plotly dash app that makes decent predictions of power plants in the U.S. based on fuel source (e.g. solar, wind, nuclear, coal, natural gas...), year built, location, etc. Link to the app is within this writeup. Try it out yourself! ... read more
  • 12 Oct 2019 » Mountain Project GPS

  • I frequently go on climbing trips. Many destinations have multiple sub-areas and walls with routes on them. I wanted an easy, no-effort gathering of climbing area GPS coordinates and route details such as difficulty, length and most importantly location ... read more
  • 05 Oct 2019 » Mountain Project Webscraping

  • I've been interested in ways to take my climbing to the next level. This is a very general question, but it all begins with data. This is a story about how I acquired around 3,200 climber profile samples from a popular climbing website, MountainProject ... read more
  • 27 Sep 2019 » Trad Climbers, Sport Climbers and Boulderers:
    An Analysis

  • An analysis of the overall climbing ability comparing random samples of trad climbers, sport climbers and boulderers. Along with what makes one discipline dominate the sport ... read more
  • 15 Aug 2019 » A Failed Attempt to Generate Music

  • I tried to generate midi music with an LSTM neural network and the outcome was disappointing, but valuable insights were gained (later on I managed to successfully make something work) ... read more
  • 06 Jul 2019 » Laptop Theft Mitigation

  • Just when I finally retired my laptop of ~10 years, not 3 months went by before my new laptop was stolen. It was a break-in. The passenger window smashed and my backpack holding my laptop, among other things, was taken. This sucked for sure, however it inspired me to write this series of scripts and protocols so that if it were to ever happen again (to me or anyone), it might be possible to locate (exactly) the laptop even without a built-in GPS, simultaneously gather evidence for the authorities ... read more
  • 01 Jul 2019 » Naive Bayes Spam Filter

  • A multinomial Naive Bayes spam filter. I took a Machine Learning course in college (skipping 9 prerequisites to do so... I didn't study computer science and by this point had been coding for maybe 8 months). Needless to say, I was destroyed and wanted to accomplish a task (that had escaped me at the time) in a way I would be expected to accomplish this in a more "real-world" scenario. Enjoy! ... read more
  • 22 Jun 2019 » Crossfit Webscraping

  • I used to do Crossfit. I was stationed in New York state for post-bootcamp training and we were provided access to the local YMCA. I took advantage of the free membership and followed the 2-days-on-1-day-off regimen as RX'd by the main Crossfit website. I did this for about a year and a half, but it got hard to be consistent when I transferred to a ship. At the time you would log your workouts in the comment section of the post, so I could go back to any date and search my name. I had always wanted to go back and grab off my posts for my own records just in case they were to get archived or something. One day I realized I could automate this searching and that's where this program comes in. ... read more
  • 10 Jun 2019 » RideShare Clustering

  • In my Junior year at UCSB, I joined Music Connection, a club that would get together on weekends to play music to local retirement centers and homeless shelters. The number of members was large enough and their school schedules varied such that each week, a different subset of people from the group would go, so it wasn't the same group each time. To facilitate the rideshare process, we would assign one person to contact everyone on that week's signup list to ensure everyone would have a ride. It can be quite the undertaking for that person to contact everyone on the gig list, find out their addresses, check who's driving, and establish a pickup point. What follows is a means of automating that process ... read more
  • 28 May 2019 » Morse Code Game

  • I don't really know what it was that first drew me to Morse code. I guess I built it up in my head from watching too many movies as this arcane secret language. I tried learning it at two different points in my life, so for whatever arbitrary reason, it has kept returning to my thoughts. It started with a beep ... read more
  • 24 May 2019 » Sorting Music - My First Project

  • So shortly after high school I had an HP laptop (1st mistake) that had suddenly lost its ability to charge. I didn't have very many important documents on it, but I was bummed out that my music was locked away. I had an iPod at the time, and fortunately iPods retain the music as randomized four-letter file names in hidden folders ... read more