Nicholas Ham

Personal site of Nicholas Ham. I hold a doctorate in mathematics from the University of Tasmania, during which I had Desmond FitzGerald and Peter Jarvis (Google Scholar) as advisors.

Among other open source projects, I develop a non-opinionated high-performance web development framework Nift.

nift logo

On top of completing a mathematics major during undergrad, I completed majors in analytical economics and applied computing. I also contributed to designing and building an international programming competition sponsored by Google, and have experience teaching both mathematics and economics classes at the undergraduate level.

I enjoy playing around with generative art (examples) using an existing image or video as a canvas along with opencv to access the RGB values at each pixel, coding c/c++ to generate frames using various of my own algorithmic techniques along with custom RGB↔HSV conversion algorithms (none of these work correctly), then combine the generated frames using ffmpeg, so basically like this with a sprinkle of this. The algorithm is actually pretty simple, it just discretises a parameterised ellipse with the number of points equal to the desired number of frames, then for each frame and pixel translates the hue value by the distance from the point on the ellipse to the pixel modulo the number of hue values (360).