There is a page in the Hugo documentation
that describes how to use MathJax to embed nicely-typeset mathematics in one’s
For my own site, I took this as a starting point and made a few improvements. Here’s
how I do the math typesetting in this blog.
This is a bug/curiosity in PowerShell that I stumbled upon a few years ago, but never
wrote up. The behavior hasn’t changed significantly in the intervening verions, so now
I’m finally getting around to a quick blog post.
As part of the small minority of devs at my company who primarily run Windows,
I’m accustomed to working around occasional Unix-specific behaviors in our build
and deployment systems. Cygwin makes most stuff just work, I can fix simple
incompatibilities myself, and as a last resort I can always boot into OSX for a
while if needed.
One oddity that took me quite some time to diagnose, though, was Git’s strange
behavior when dealing with files in our repo whose names contained a colon.
This blog started on wordpress.com back in February of 2012, then in November 2013
I moved it to a hosted WordPress.org site here at latkin.org.
WordPress is quite nice, but it seemed like it was a bit heavyweight given my
very basic needs. I’ve wanted to slim down the site and get more hands-on
for a while, now.
Over the past few weeks, I’ve been migrating the entire blog to the Hugo
static site generator. I’m pleased to announce that the migration is complete!
It’s pretty straightforward to do basic benchmarking of a single, self-contained piece of code in .NET. You just make a Stopwatch sandwich (
let sw = Stopwatch.StartNew(); <code goes here>; sw.Stop()), then read off the elapsed time from the Stopwatch.
What about measuring the throughput of a data pipeline? In this case one is less interested in timing a single block of code from start to finish, and more interested in bulk metrics like computations/sec or milliseconds/item. Oftentimes such pipelines are persistent or very long-running, so a useful benchmark would not be a one-time measurement, but rather something that samples repeatedly.
Furthermore, it’s sometimes difficult to determine where the bottleneck in a chain of computations lies. Is the root data source the culprit? Or is it perhaps an intermediate transformation that’s slow, or even the final consumer?