This post describes my setup and workflow for completing the Bioinformatics Algorithms online courses, based on the book by Compeau and Pevzner. Course Introduction Bioinformatics is computing a...
C++ with Plots in Jupyter Notebook
Jupyter Notebook is one of my favorite programming environments. It feels like a combination of a REPL (read-eval-print loop) and a scientific notebook. It rewards literate programming: you invit...
A Beautiful Explanation of TCP Fairness
I want to share one of my favorite visual explanations of a somewhat complicated process. As soon as I worked through this myself, I instantly understood what was going on, and it has stuck with m...
Prolog and Lying Animals
This is a brief tour of a programming language called Prolog, built around a “Knights and Knaves” problem. This is a logic puzzle where you’re on an island with 8 animals; each animal is either ...
The "show justin-bieber" command
How could you prove someone stole your source code? In 2014, Cisco sued Arista for stealing Cisco source code. Arista’s counterargument was that they didn’t steal the source code, but they did ma...