I spent a few years designing new parallel algorithms on a number of supercomputing architectures that I enjoyed immensely, mixed in with my usual database work. I learned a tremendous amount about software design and optimization I probably would have not learned otherwise. There is a lot of knowledge in HPC that tends not to travel beyond that domain. It gave me the &quot;assume you have a million cores...&quot; mindset when thinking about algorithms and data structures.<p>In fact, debugging an HPC code on a Cray machine late one night, staring at large dumps of binary coded hyper-rectangles, was where I first noticed the deep bit-wise patterns in some types of spatial representations that SpaceCurve now exploits. It allows computation on hyper-rectangle primitives to be nearly as fast as integer primitives on ordinary silicon, which was not the case with earlier versions of my work.