2 September 2024
Refreshing my website
There is the saying that "a builder's house is never finished". I've felt the same way about my website. I spend most of my time working on other people's projects. This is the third iteration of my website. The first version was created in 2010 using Drupal. This did more than I needed and required a MySQL database to host. Because it was a dynamic website it needed frequent patching to keep it secure. Eventually, I replaced it with a simple HTML page that said simply Hello :)
The next iteration was to be a static site using Jekyll. I never launched it, the look and feel of my new templates were not up to my standards. I worked on other projects hidden beneath the surface.
The impetus for the latest refresh has come from my exploration into computational origami. I have been using a different set of technologies, Jupyter Notebooks, Rust, WebGPU, Rerun, Bevy, Unity and a lot of pen and paper as I explore this domain. People over-estimate what they can achieve in a year, and underestimate what they can achieve in five years. I hope that is true. I don't expect my journey to be quick, but I am enjoying it.
This refresh is to allow me to begin to share things I've been working on. When I have to explain a subject it also helps grow my understanding. Teaching is also learning.
There is a lot of little details that can go into creating something new. There is an inertia must be overcome. For example, adding a hero image on the home page is simple conceptually - create an origami swan and take a photo. The photo of the first model was taken at night - you can see the shadows and the orange glow from the kitchen lights. To avoid strong shadows, I made use of a cloudy day to provide diffuse lighting for subsequent photos. Another photo was taken with a red background behind the model, I had red paper at hand and thought the contrast would simplify the job of removing the background. Unfortunately, the red colour bled into the edge. It was subtle, but it irked me.
The sun came out, I tried to create diffuse lighting inside but didn't have the right equipment at hand. So I waited for some more clouds to float by take the final image.
After adapting new templates, configuring typescript, adding Prism, and dealing with a host of odds and ends the first release of this refresh was launched. It feels great to have something out there I can now iteratively build upon. It's not perfect, but I'm happy with the MVP.
Under the hood this site is using Nunjucks for templating and 11ty for the static site generation. This is orchestrated by GitHub Actions. The Vite Plugin is used implement project pages, and yarn workspaces are used to separate the dependencies of different project pages to avoid creating a monolith.