REVITALISING MY WEBSITE

I have been a bit myopically focused on completing my new BIM framework for the past few years, to the exclusion of most other things. However, that seems to be how I get stuff done, and I _really_ needed to get that done. Ten man-years for a software project is not actually that much, but it still takes me ten years. Thus, it's pretty amazing now to be slowly coming out the other end of it. I also have a heap of half written posts about development stuff that I encountered over that time, so my New Year's resolution for 2025 is to revitalise my website, get some posts finished and demo apps released, and then respond to the absolute mountain of messages I have received in the interim.

Introduction

At first glance, this new website may not look all that different from the previous one, but a lot has happened in the web development world since I moved away from Drupal back in 2016. Updating this site was therefore a great opportunity to do a dry run for my new framework website(s), so I really wanted to completely rewrite everything for the very latest versions of Bootstrap , Hugo and (eventually) Vue , a process that took many more weekends than I had hoped.

Apart from adding some new imagery, the main visual changes have been refining the responsive layout to make it work much more consistently across all devices, and the ability to switch between light and dark modes. This meant lots of image formatting and checking by sight pretty well every page.

Not Much Has Changed

Going back through my old posts was actually pretty confronting because I can see so much that I’m still working on a decade later, and so many things that haven’t really changed much. I am still working on generating charts and graphs in SVG and WebGL, still working out how to generate complex geometry and shapes, still working out how to dynamically dimension building elements, still exploding building levels to see the spaces inside, still designing new annotation systems for sensors and fittings, still calculating dynamic daylight levels and shading, etc…

The only consolation is that at least I seem to be getting better at a few things. My buildings now kind of look like buildings and my dynamic analysis is actually pretty dynamic, so maybe there is something to be said for continually iterating on the same things over and over.

Figure 1 - Comparing where I was back in 2011 using Java to explode building levels (left) with where I am now (right).

Background Imagery

With this website update, I really wanted to more concisely convey some of the imagery that rattles around in my head as I work on my BIM framework. Thus, over the Christmas break I experimented with Ollama and a couple of AI image models to see if I could get anything interesting - which led me down some pretty deep rabbit holes.

The first few images were encouraging, so I set about trying to train/tune a model with some of my own imagery. It took a lot of trial and error to get any reasonable representations of architectural science charts and graphs, and even more to get it to orient buildings where I wanted them and in the hand-drawn style I was after. However, as shown in Figure 2, some of its later results were absolutely mind blowing, at least for me.

I know a lot of people will consider these kinds of images just another bit of AI slop. However, they ended up so close to what I was actually after in the first place, and convey so much of what I wanted them to, that I am 100% in on this and they now adorn each page. To see the source image, you can click on the half-round button in the top-right corner of each page.

Figure 2: Some AI hallucinations with hand-drawing high performance buildings.

One of the features of my BIM framework is that it can perform simulation and analysis on curvilinear and amorphous shapes just as easily as on rectilinear and faceted ones. Thus, I even worked on an updated version of my polyhedra generation tool in order to feed in some images of amorphous framed geometry, which you can see hints of in some of these images.

After I had a good range of hand-drawing style images for this website, I tried to get it to generate similar buildings but with the appearance of being assessed or measured. Again, it took a lot of fine tuning but it had a pretty good go as the examples in Figure 3 show. Whilst I absolutely loved them, I can see that they are probably a bit too cheesy and, apart from some pretty wild building shapes, don’t really add anything insightful. Thus, I ended up not using any of them.

Figure 3: Example AI images showing the assessment and analysis of high performance buildings.

For my future BIM website, I wanted similar kinds of buildings but with their surrounding sites shown emerging from the keyboard of a laptop. Again, it took several rounds of iteration and feeding back in a lot of previously generated images, but you can literally see in Figure 4 that it gets better and better with each iteration. Unfortunately the model’s understanding of wind turbines still needs a bit of work.

Figure 4: Some AI images of high performance buildings emerging from a laptop.

Finally, Figure 5 shows some more example images where I loosening the contextual requirements. However, by this time I had fed back in so many previously generated images to get the kind of buildings I wanted that it also retained very similar contexts. At this point the model was getting a bit predictable, so I probably over-tuned it and need to back up several steps if I need more images. I haven’t used any of these images yet either, but I will hopefully find an appropriate place for them at some point.

Figure 5: Later stage AI images showing retained context and a bit of over-tuning.

I had such a great time working on these images that I hope at least someone out there likes them as much as I do.