Julian through the Lens

Notes on software, systems, mathematics, and getting things done.

Fun Bugs: Episode I

Introduction I’ve been meaning to get started on a series talking about the kind of bugs we find in production on the CloudBuild Cache. For a little bit of context, our team runs over 40k machines across the US, …

bugs

How to use emacs on Windows in 2020

Trying to use emacs natively on Windows is honestly extremely bothersome, even if you use distributions that try to make it easy, like spacemacs. In my experience, running from MSYS2 “works”, but some random …

emacs

A year at Microsoft

A lot has changed in the last couple of years for me. I did my first internship at Microsoft in 2016, which led to two more internships at Microsoft and one at Google. After that, roughly in mid 2018, I received my full …

personal

NCH: closing the gap

Introduction Following up with my last post on NCH being roto-translation invariant, the idea of this one is to cover what I consider the most important gaps left by the original brief paper. My expectation is that …

thesis non-convex hull linear-algebra

Understanding Modulo Bias

Introduction It is often said that this code: unsigned int randomNumber = rand() % k; is a bad idea, at least if you are expecting a uniform distribution. I’m going to try and explore this topic in a more formal …

math probability

Yet Another Proof of Brooke's Theorem

A classical result from Graph theory is that given \(G\) an undirected graph: Where \(\chi(G)\) is the minimum number of colors required to paint the nodes of \(G\) with the usual restriction that no node has the same …

math graph-theory

Characterizing the trace of a matrix

I have been studying for my finals lately, and so I decided to put together a proof of a nice exercise I found in some book. The trace function, given by \(tr : \mathbb{K}^{n \times n} \to \mathbb{K}\), is defined as …

linear-algebra