Martin Leitner-Ankerl
  • Home
  • About Me
  • Keto Calculator
  • Search
Navigation bar avatar
✕

    Martin Leitner‑Ankerl


    Programming, Nutrition, Health, Bitcoin, ...

    Martin Leitner‑Ankerl


    Programming, Nutrition, Health, Bitcoin, ...
    • A Broken Build Is Not a Bad Commit

      I chased a regression through two months of history where half the commits wouldn't even compile. Here's the tool I wrote so it wouldn't happen again.

      Posted on July 8, 2026

      A few weeks ago I hit the kind of bug that ruins an afternoon: something that used to work didn’t anymore, and I had no idea when it broke. Not “yesterday”, not “in that one PR” — somewhere in the last month or two, buried in a stretch of history where the build had also been getting torn up. This is a shared project with a lot of people committing to it, and in that same window a broken third-party dependency had been swapped for a newer version, a compiler had moved, and a pile of little fixes had gone... [Read More]
    • The Web Catastrophe That Kept Refusing to Happen

      I tried three times to prove my old site was a disaster. I lost every time, with data.

      Posted on July 3, 2026

      Back in 2012 I made a keto calculator because I wanted exact macro numbers for my own diet, and all the advice online was too vague. I posted it on /r/keto, people liked it, Google ranked it well, and for years it quietly earned ad money while I worked on other things. It’s a single static HTML page. No backend, no build step, no database. A site like that should basically run forever. [Read More]
    • Comprehensive C++ Hashmap Benchmarks 2022

      Where I've spent way too much time creating benchmarks of C++ hashmaps

      Posted on August 27, 2022

      Post thumbnail
      Post thumbnail
      It’s been over 3 years since I’ve spent considerable time finding the best C++ hashmap. After several requests I finally gave in and redid the benchmark with state of C++ hashmaps as of August 2022. This took much more work than I initially anticipated, mostly due to the fact that benchmarks take a looong time, and writing everything up and creating a representation that is actually useful takes even more time. Thanks everyone who annoyingly kept asking me for updates :wink: [Read More]
    • Kindle Paperwhite Tips

      Some helpful Tricks

      Posted on August 23, 2019

      Post thumbnail
      Post thumbnail
      I recently upgraded from my 8 year old Kindle Keyboard (2011) to a brand new Kindle Paperwhite (2019, generation 10). So far, it is a great upgrade. Here are some tricks that I found useful: [Read More]
    • Hashmaps Benchmarks - Conclusion

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Iterating

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Find 1 -- 1M std::string

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Find 1 -- 100k std::string

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Find 1 -- 500k uint64_t

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Find 1 -- 2000 uint64_t

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Insert & Erase std::string

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Insert & Erase uint64_t

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Insert & Access with Varying Probability int

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Insert & Erase 100M int

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Construction & Insert 1 int & Destruction

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Construction & Destruction

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Hashmaps Benchmarks - Overview

      Finding the Fastest, Memory Efficient Hashmap

      Posted on April 1, 2019

      Post thumbnail
      Post thumbnail
      Table of Contents [Read More]
    • Fast Random bool in C++

      With lots of benchmarks

      Posted on December 8, 2018

      Post thumbnail
      Post thumbnail
      While playing around with fast random number generators, I’ve started contemplating what’s the fastest way to uniformly generate random boolean values. The correct solution is this (never mind the bad seeding of mt19937, but it’s just too cumbersome to do it correctly): [Read More]
    • Visualizing Bitcoin's Unspent Transaction Output

      UTXO in all it's glory

      Posted on September 20, 2018

      Post thumbnail
      Post thumbnail
      About 5 years ago I’ve created a nice graph of all the bitcoin addresses. I got this: [Read More]
    • Free Secure Web: Jekyll & Github Pages & Cloudflare

      Posted on July 22, 2017

      Post thumbnail
      Post thumbnail
      I have just finished moving my homepage from WordPress to jekyll + GitHub + Cloudflare. I must say this is really a fantastic setup! I have multiple reasons for that: [Read More]
    • Older Posts →
    • RSS
    • Email me
    • GitHub
    • Twitter
    • Reddit
    • LinkedIn
    • StackOverflow
    • YouTube
    • Patreon

    Martin Leitner-Ankerl  •  2026  •  martin.ankerl.com

    Powered by Beautiful Jekyll