Andrew Jenkins' blog
Andrew Jenkins

My Bioinformatics Algorithms Setup

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...