Apr 20, 2025 · 8 min read
On Dedekind —
An extended quote from John Stilwell’s Elements of Algebra, p. 35-36:
“[Gauss’s] Disquisitiones became the bible of the next generation of number theorists, particularly Dirichlet, who kept a copy of it on his desk at all times. Dirichlet’s lectures became a classic in their turn when edited by Dedekind as the book Vorlesungen über Zahlentheorie. The first edition appeared in 1863 (four years after Dirichlet’s death) and the book gradually changed character as Dedekind added appendices in subsequent editions.
Apr 12, 2025 · 5 min read
Analyzing "Objection Funk" —
I wrote this on 2025-01-29. My friend Alex Irpan has inspired me that it's possible to mix serious and meme content on the same blog. So I'm returning to blogging with a serious take on a stupid topic.
Apr 12, 2025 · 1 min read
LeetCode Interview Prep —
This is a backfill note from 2019-09-09. In 2019, I mentored a college student who was applying for computer science internships. I helped source LeetCode problems that I thought were interesting; here is the list I came up with.
Apr 12, 2025 · 1 min read
Motivating Problems in Math —
This is a backfill note from 2019-07-28. The idea is, what are mathematical achievements that are useful for motivating the study of mathematics?
Sep 19, 2022 · 3 min read
A Regularization Proof —
Investigating behavior of a function minimum as we add regularization.
Feb 4, 2020 · 1 min read
On NumPy Multithreading —
Two notes. First, numpy supports multithreading, and this can give you a speed boost in multicore environments! On Linux, I used top to verify that my numpy was indeed using multithreading, which it was. Second, multithreading can hurt performance when you’re running multiple Python / numpy processes at once. I was running into this issue, and got significant boost by limiting the number of numpy threads per process, in my case using import mkl; mkl.
Oct 25, 2019 · 1 min read
Fast Hierarchical Clustering Using fastcluster —
Do you use hierarchical clustering packages like R’s hclust or Python’s scipy.cluster.hierarchy.linkage in your workflow? If so, you’re using an \(O(N^3)\) algorithm1 and should switch to the fastcluster package, which provides \(O(N^2)\) routines for the most commonly used types of clustering.
fastcluster is implemented in C++, with interfaces for C++, R, and Python. In particular, the Python interface mirrors scipy.cluster.hierarchy.linkage, and the R interface mirrors stats::hclust and flashClust::flashClust, so switching over is a no-brainer.
Sep 28, 2019 · 4 min read
Software Engineering Tools Across 4 Languages —
It’s been two years since I started blogging, as well as two years since I started my PhD in the Oxford Statistics department. While it’s been several months since my last post, I hope to get back into sharing some shorter posts and ideas going forward.
To get myself writing again, I thought I’d broaden the scope of my posts beyond statistics and machine learning. In particular, over the past two years, I’ve found myself getting more interested in abstract math as well as software engineering.
Jan 22, 2019 · 9 min read
Subtle Observations on Range Queries —
For my current research, I’ve had to read Kelleher et al.’s excellent msprime paper (2016) for simulating genetic sequences under the coalescent with recombination. A small trick that is used in their algorithm is the data structure of a Fenwick tree or binary indexed tree. Since I also have a side interest in competitive programming (mainly through USACO and Project Euler), I took a bit more time to learn this data structure.
Oct 24, 2018 · 8 min read
Missing Heritability and Microaggressions —
Missing heritability is like microaggressions: many seemingly insignificant effects can add up.
Two weeks ago, as I was taking a journey back to London Heathrow / Oxford, I came across a small connection in a journal article and a podcast. It was a nice moment of seeing two ideas click together.
The podcast, which came second, was an episode of Nomad, a British podcast discussing Christian faith outside the institutional church.