Having spent years writing C++ multi-threaded applications on Linux, Windows as well as OS/2 (I wrote my first multi-threaded program in OS/2 1.0 more years ago than I care to admit), I learned something recently that surprised me. It has to do with the type of data protection needed when writing to a byte, word, double-word, or quad-word memory address (basically, any cache-aligned value up to 64 bits) in a multi-threaded application.

It turns out that if you’re simply reading or writing one of the aforementioned data-sizes and you happen to be on an AMD or Intel CPU, you might…


As a parent of younger children, many things have become evident to me that I was oblivious to in the previous four decades of my selfish meandering. For example, I truly had no frame of reference for how much free time I had (and conversely, how much time I was wasting) until I had children. I also had little appreciation for the value of money; I used to blow my annual bonuses on transient material things, vacations, stuff I didn’t need, and other worldly things. While I certainly wouldn’t call vacations a waste of time (after all- the memories, positive…

Sean Hoffman

Professional Go Developer, long-time C++ Developer, Christian, Husband, Father

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store