and ramblings.


  • Rust & Wasm CHIP-8 Emulator

    What started as an attempt to demonstrate how interrupts and grayscale rendering works on the TI series graphing calculators turned into a full-blown attempt at writing an emulator that would be runnable in a modern browser using a combination of Rust 🦀 and WebAssembly 🕸. The idea came to me while walking through the Rust + WebAssembly tutorial, where I realized that many of the same abstractions could apply to an emulated system.
  • tbt: Building TI-86 apps on OSX

    Through some backups, I recently re-discovered a folder with some high school/college projects that I thought had been lost to the sands of time. One of them was an early attempt at a small RPG written in Z80 assembly for the TI-86 graphing calculator. I know what you’re thinking – what did I do wrong to be tortured in such a way?
  • Adventures in Rust: CLI

    My second project in Rust is a little more practical than my first (which you can read here). This project involves creating a command-line utility that is able to interact with the Bear Writer application, an OS X app that I use for taking notes, writing blogs, and generally keeping my life organized in a single, cloud-synced place.
  • Adventures in IoT: Dev Environment

    As part of an Arduino hobby project, I wanted to set up a development environment that steered clear of the Arduino IDE and gave me an easy-to-use toolchain that fit in with my existing tools. While the Arduino IDE is useful for simple sketches, once I moved into anything remotely complex I yearned for the features provided by modern day text editors such as Sublime Text or VS Code. This post documents my journey to the almost perfect (for me) dev environment for Arduino and other micro-controllers.
  • Adventures in Rust: A Basic 2D Game

    In an effort to do more fun side projects, I’ve been learning Rust, a wonderful systems programming language developed by the Mozilla Foundation. It’s been a while since I’ve touched a compiled language as my day-to-day often deals with Python and Javascript variants. I was inspired after seeing a lot of interesting articles about Rust usage and decided to dive into learning Rust by creating a very basic 2D game, inspired by the classic Defender arcade game.


  • Text Analysis of U.S. Bills

    As a fun side project, I’ve been gathering data on bills that are going through the U.S Senate. So far, the site itself is a pretty simple web app to display bill status information in an easier to digest format. This is the first step of many in my goal for an in-depth analysis of the different of bills that are going through the Senate (and eventually House of Representatives). Through integration with other publicly available data hopefully we can gather some interesting insights that are not normally readily available to a layperson.
  • Planet Rendering Pt. 2

    A long-awaited continuation of my previous post, in this one we will go into the exciting intricacies of:
  • TBT: Planet Rendering

    Many moons ago, I worked on a college project that required procedurally generating a “realistic” planet in 3D space. The original implementation created a mesh in the form of the UV sphere and then applied a particle deposition to create the terrain.
  • Nets, Branches, and Pipes.

    With all the talk about deep learning and neural networks, I thought it’d be fun to revisit one of my favorite applications of artificial neural networks (ANNs) – dynamic branch prediction.


  • A Journey Through Time

    2015 has come and gone in a hurry and we are already 1/2th of the way into 2016. Reflecting on the past year it seems as if the list of things I wish to accomplish has grown larger and the time in which to accomplish them seems to have grown shorter. Startups tend to do that.


  • We Choose To Go To The Moon

    In an inspirational and aspirational speech to a crowd of 35,000 on September 12, 1962 John F. Kennedy outlined his goals for the nation’s space effort.
  • The Fury In Your Head

    Climbers who lead routes often speak of having good “lead head” (lead as in leader), a mental state that lets you break through plateaus in training or climb challenging routes without that irrationally rational doubt and uncertainty plaguing your mind. There are even classes where the very purpose is to mentally train those who wish to push their limits.


  • Into the Wild

    Amid the flurry of preparation for a new year, I sat down to reflect upon the one that has just passed. Every year I enter the next a little more optimistic and a little more excited. Part of it due to the potential of unknown unknowns (be it good or bad), and part of it due to thought of spending another year with those that I truly care about and those that I enjoy being around.
  • This Side of Paradise

    There would be those who see a lot of glamour in start-ups and the whole concept of entrepreneurship. It is romanticized by the media who broadcasts million dollar valuations and billion dollar acquisitions. And for many, it is the ultimate meritocracy, appealing to those whom other cracies never appealed. The meritocracy was a guarantee that those with the smarts and know-how were adequately rewarded while those who fell short of godliness, failed. It evened the playing field for all, so much so that even the most out of place could still find a place.
  • Define: Command Line

    If you didn’t know, Google has a really useful search feature that allows you to find the definition of any word or phrase when using the define: prefix on your search term. This along with the built-in OSX dictionary provides an incredibly useful set of tools to find any definition as quickly as possible.
  • A Moveable Feast

    Hemingway recalled his experiences as a young man living in Paris as a moveable feast. The people he met, the skills he learned and refined, and the ideas he was exposed to during those times stuck with him until the very end. It molded him into the person he would become.
  • An Unexpected Expected Journey

    For as long as I could remember I have always wanted to create. To create programs, to create art, to create ideas – to just create! And these creations never had to be in any creative or even practical capacity. Hell, they don’t even have to be good or useful in anyway. There lay an incredible feeling of joy in my ability to make something that did not exist before.



  • Academic Posters - Design and Content

    Recently I have been involved in the process of designing and creating an academic poster detailing portions of my research in a manner that conveys it in a clear, meaningful way. This turns out to be very difficult task.
  • 2011 - A Year in Recap

    Another year in closing, another one of those fantastic yearly recaps that I have the joy of writing. If I had these printed, why I could almost hear the sweet crumple crumple as people turn my riveting tales of adventure into a jump shot.


  • Andrew's Fav Music ( 2011 )

    Every December I make a list of my favorite songs from the past year. Or at least I try. My musical tastes are eclectic and sometimes a little quirky which makes creating a list and checking it twice not so very nice. But enough talk! On to the music! Most of these picks were released this year, but there are the occasional that are not.
  • Blog migration

    Recently, it dawned upon me that I haven’t sat down and wrote down anything of substance for a while. Oh sure, there’s the occasional research paper that I spearhead, but that often feels like work. Additionally, I can’t just put it up somewhere for everyone to see while it’s under review. And even after review, who wants to read some random research paper anyways?
  • Mother's Day Anecdotes

    Yesterday, if you weren’t aware, was Mother’s Day. As the years go by I find that my mother doesn’t quite enjoy my hand paintings and macaroni encrusted picture frames as much as she had when I was five. Nowadays I simply opt for her favorite candies, which are so much her favorite that it has become almost mandatory with whatever else I intend to get. This candy has become so prevalent in holidays that I consider it a tax, an ‘Andrew’ tax if you will, that I’ll be paying for years to come due the hassle of raising me.


  • 6-month Update!

    Woohoo! Well it’s been a while hasn’t it? I had such delusions of blogging grandeur, but alas it’s been a good 6 months since my last post. Let’s remedy that, shall we?


  • CSE 167 Final Project - Results!

    After a week of hard work and dedication my partner and I finally completed our final project for our Computer Graphics class. Below is the description we sent in to our professor as part of our project describing what we did.
  • Trees and Penguins, Oh My!

    Update #2 on our CSE 167 Final Project
  • CSE 167 Final Project

    CSE 167 is a course I’m taking this quarter having to do with Computer Graphics. We’ve been working with OpenGL creating cool scenes while learning more about the underlying concepts. It’s loads of work, but loads of fun as well.
  • Multitouch Table Prototype v3

    Finally another update to our Multitouch project!


  • Multitouch Table Prototype v2

    For those who don’t know, I’m currently the President of the Computer Science and Engineering Society here at UCSD. We have multiple projects that we run each year and numerous events (such as programming contests, game nights, etc).
  • Javascript A* Implementation

    So a little background on my implementation (feel free to skip this)….