ABOUT

Kelly Norton is a software engineer living in Surf City, North Carolina. He holds degrees from Georgia Tech's School of Electrical and Computer Engineering and from the MIT Media Lab where he studied under John Maeda. He has co-founded a couple of companies. Most recently, Fullstory, where he works as a Software Engineer. He also co-founded Connexxia LLC in the early 2000's to help universities effectively recruit high school seniors through online social engagement. He spent six years at Google, working on Google Web Toolkit, Speed Tracer, Google Chrome and other cool stuff. He worked on Etsy's product search and he also spent nine years building MailChimp where he was a Distinguished Software Engineer. He was a key member of the team that grew Mailchimp to over $1B in revenue before it was acquired by Intuit in 2021 for an astounding $12B. Honestly, he really just likes to build things.

JOURNAL

Recently someone shared a link to a Javascript quiz that asks various questions about Javascript's infamous quirks. One of the questions required that the reader have basic understanding of floating point rounding. This is not a problem unique to Javascript and I attempt to explain why.
How many bits are set to one in a bit string? It’s a problem that pops up in a number of areas: bitsets, cryptography, error correction, and most of all interview questions. This problem is also known by many names: hamming weight, population count, popcount, sideways sum just to name a few. I recently revisited this problem in the context of writing a simple bitset and found myself falling down a rabbit hole when I tried to answer the question: how is std::popcount implemented in C++20?
A thing I learned recently is that constexpr and consteval, in modern C++, are more powerful than I orinally thought. While I never write C++ professionally these days, I recently ported a sudoku solver over to modern C++ and eventually realized that I could compute one of the static data tables at compile time using plain ole C++ code. This is a post about that.
This post is just some fascinating (or quite boring depending on your perspective) minutia that arises in the handling of time and timezones in programming. This deals with a little corner that exists in almost every time library yet I’ve never had much reason to explore it. That little corner is daylight savings time transitions.

PHOTOS

Mastodon