Range-based for loops make C++ code safer and more concise. Here s an example using a std::vector of Song objects. You can and should enable your own container-like classes to support range-based for loops. Just add begin() and end() Continue reading
This year I became a convert to donor advised funds (DAFs). Here s why. We love to give to our favorite causes. It s common for us to sell ETFs or stocks and give the proceeds away. We ve avoided giving stock directly Continue reading
In a recent project, I had two overloaded C++ resize() methods in a templated class. The first method called the second: This all seemed reasonable until I noticed that the first resize() always creates a temporary T object, but that Continue reading
A four character code is a sequence of four bytes, typically ASCII letters, used to identify data formats. FourCCs originated at Apple, but they ve been used to interchange data across operating systems for decades. For instance, Windows audio files (.WAV) Continue reading
The 6Ps is a useful framework for tackling problems and crafting durable solutions. The 6Ps are Premise, Purpose, Principles, Priorities, People and Plan. J Allard introduced this approach at Microsoft in the 90s. His framework didn’t include Premise, so it Continue reading
I ve been interviewing a lot of software engineers lately. I typically start my screen with a question like Give me a two minute overview of your career. The goal is to give the candidate some time to settle their nerves and Continue reading
At the recommendation of my current manager, Laura, I read this article from James Everingham, the head of engineering at Instagram. It s an accurate description of my management philosophy. The gist is that managing by interjecting your views into the conversation Continue reading
I love single character code changes that generate massive performance improvements. Unreal has had static code analysis passes not too long ago. It s surprising that SA didn t identify this issue. It s also unlikely that programmer code reviews would have detected something as tiny as a Continue reading
It was the summer before 4th grade. Jimmy Carter was president. Apple Computer had just incorporated, and the Atari 2600 video game console had been released, but personal computers were still a novelty. I wouldn t use a PC for many more years. Continue reading
One of the challenges in game development is pre-computing static lighting. Emulating photons bouncing around in a virtual environment can require legions of compute cycles. This process is called baking. The end result is a lightmap, a compact data structure that represents the way Continue reading