It was a challenge dusting off my old C programming book and trying to recompile CPU miner from scratch on bare bones code and keeping on the essentials. It was hard work but it allows you to get a deeper understanding of what is really happening under the hood.
Constructing the coinbase was the most interesting part. The most finicky? Working at the byte level, working with little and big endian, and getting every bit exactly right.
It was all command line based and the best part? I actually got it hashing on my Mac. It was about 20Mh/s which would have been amazing back in 2009!