Welcome to my personal page! While I do blog, I won't quite call it a blog anymore since I am not a prolific author and because I plan on including links to projects and other work that I do.
Recent Posts
C++ gives us precise tools for managing the ownership of objects, but when it comes to the transitions between raw storage and live objects, there’s a lot to be desired.
Following on my earlier post about
the many little C++ papercuts
that we all deal with everyday, comes std::string_view and says “hold my beer.”
After nearly 30 years of C++ development, you’d think the little papercuts would stop bothering me. But sometimes you hit one that’s so perfectly illustrative of the language’s occasional blind spots that it demands attention.
Today’s frustration: std::array<T, N> lacks an assignment operator that lets you pass in a std::span<T, N>. It’s a small thing, but it is incredibly frustrating.
If you’re reading this post, you’re probably a software developer trying to work as a consultant or, more generally, a knowledge worker who trades expertise for money. Like me, you probably spent years honing your technical skills, perfecting your craft. Then you read a couple of books about negotiation, felt like you learned what you needed and you were off to the races.
But let me tell you how skipping 30 minutes of corporate due diligence and a bit of extra one-time work cost me $20,000 and taught me more about business than a dozen MBA courses.