Force Upgrade Verizon Galaxy Nexus to 4.0.4

There’s a new OTA update that’s been dropping for some people on Verizon, but not everybody. I didn’t feel like waiting, so I decided I wanted to do it manually. I have reposted the directions I found online to do this process. NOTE: This is ONLY for Verizon LTE Samsung Galaxy Nexus phones running 4.0.2. This will NOT work if you are running a previous build of 4.0.4. By doing this, you accept all responsibility for anything that may happen to your phone. Read On →

Google Code Jam Qualification Round 2012 Solutions

So yesterday I had a few hours free and decided to try the annual Google Code Jam qualification round. Typically, the questions at this stage are fairly straightforward and most people get them. We only needed 20 points (out of 100 possible points) to qualify, which equates to solving the small instances of two problems or both the small and large instance of one problem. I was able to solve three problems (small and large) for a total of 60 points. Read On →


I saw this a while back and thought it was worth posting. Here’s a complete implementation of NFA (non-deterministic finite automata) in Haskell:

Read On →

Google App Engine + Google Voice + Google Talk

The Premise The Google Voice application on iOS is fairly good, but imperfect. For example, it doesn’t allow the user to not display a message preview in notifications (such as the lock screen) and kills unsent text in the input box. I also wanted to consolidate my communications into one portable protocol that I could use on a variety of clients. The most popular solution to this problem is to re-route Google Voice texts through XMPP to Google Talk (or technically any other XMPP communication either). Read On →


It’s been many months since I’ve posted here, due mostly to an extreme influx of work from classes and my jobs. But that doesn’t mean I’ve given up on this blog! Rather, I have a huge number of updates, which I will only describe in short detail for now. In no particular order: After working at the Summer School in Theoretical Computer Science at Princeton, I went to one more conference the week after the school closed out. Read On →

LHC@home 2.0

I finally had a bit of spare time today, so I decided to join the LHC@home program. For those unfamiliar, it’s basically a way for the researchers at CERN’s Large Hadron Collider to utilize the processing capabilities of thousands of computers distributed across the globe to crunch out all the calculation that need to be done. As you might expect, each time beams are collided, there are several terabytes of data created per second and it is the main task of the physicists at CERN to sift through the endless volumes and look for evidence of a conjectured, yet not-yet-seen particle called the Higgs Boson. Read On →

Approximation Algorithms Workshop, Princeton 2011

This past week, I’ve been kept busy by attending a workshop on approximation algorithms, hosted by the Computational Intractibility at Princeton University. The particular workshop is this one , the purpose being to recap the last decade of advances in this field and to set the direction for the future. It was a five-day workshop with something like thirty speakers in total, with talks ranging from 35 minutes to an hour. Read On →

My Favorite Vim Plugins

It’s been a long time since I wrote about Vim. In this post, I just wanted to give an example of the plugins which make me love Vim as much as I do. On a foreign machine, I certainly prefer Vim over any other command-line editor, but since I’m so used to my settings, I am usually pretty slow at getting (back) used to vanilla Vim. One of the greatest strengths of Vim is well known to be its extensibility. Read On →

Tasky: A CLI Google Tasks Client in Python

I’ve been looking for a nice and fast Google Tasks client for a long time. There do exist a lot of them but none that I have encountered matched what I was looking for in terms of functionality and ease of use. Given that I have a bit of free time this summer, I decided to write one myself. This task would have been really hard and clunky a month ago. Read On →

The Art of Donald Knuth

The other day I had a few extra minutes before heading off for work so I decided to take a trip to my Engineering Library to check out a book I wanted to study over the summer. The book was called Pattern Recognition and Machine Learning by Christopher Bishop. It’s preparation for a class I’m taking next semester called Advanced Probabilistic Modeling. Anyway, they didn’t have it. So instead I just figured I’d kill some time by checking out the usual sections of the library. Read On →