Designing a custom Monitored Training Session11 Oct 2017
tf.train module defines a helpful utility function
tf.train.MonitoredTrainingSession that handles a lot of the training boilerplate in an elegant way. Recently, I’ve found limitations in its design, so I decided to build my own version.
A bug hidden in plain sight10 Oct 2017
Last week, I started searching for the origin of an odd bug. It turned out to be one of the more rewarding bugs to solve—unlike a variable misassignment or scoping issue, which might be straightforward (and somewhat mechanical) to resolve after finding the particular place that breaks the system, this bug deepened my conceptual understanding of the system that I had implemented and its underlying components. At least in retrospect, I’m glad I made the initial mistake because now I am woke. Read more
Using Markov chains for basketball09 Oct 2017
The NBA hackathon application process asked a fun question that I got excited about:
Given that the Warriors win a game with probability 0.800, what’s the probability that they play an entire 82-game season without consecutive losses?
Introducing arXivES07 Jan 2017
I’ve been wanting to experiment with Elasticsearch for some time now, and I finally got around to it. Read more
All I want for Christmas25 Dec 2015
A family member pilots passenger aircrafts for a large commericial (and purposely anonymous) airline. His employer provides an online flight exchange portal, which he and his colleagues use to “trade” their randomly-assigned flights in order to vie for consecutive weeks of vacation time. Read more
Making informed decisions on the application layer24 Nov 2015
During the playtest session for our ACM puzzlehunt, I needed a tool to find an undisclosed list of words from the English dictionary in a word search. All of the existing tools required a list of search terms as input, and dumping exhaustive lists of words from the English dictionary usually crashed these applications. Frustrated by the absence of such a basic tool, I decided to build one and investigate the effect of application layer design decisions on network throughput. Read more
Teaching at Stanford Splash!12 Apr 2015
Today I taught M4160: Hacking the Internet at Stanford Splash! I introduced the class to the basics of web development through “hacks” that exploited the DOM, event listeners, and the persistence of chrome extensions. To make it as accessible as possible to high schoolers, the course assumed minimal previous coding experience. Read more