Single-Team AFL Calendar Generator

One of the feature requests for the AFL Calendar Generator I received from @joshgelfand on Mastodon was to only show a single team’s games, rather than all games.

So I implemented it.

BIND Secondary for Active Directory DNS on Red Hat-compatible Linux

My DNS is hosted locally, on-prem, behind a consumer-grade internet connection. When my internet connection at home goes down, my off-prem cloud-hosted servers that rely on my Active Directory DNS can’t communicate with eachother.

Rather than having a cloud-hosted Windows Server installation primarily to host DNS, why not create a BIND secondary that replicates from AD DNS?

AFL Calendar Generator

Do you get frustrated having to go to the AFL app or the TV guide to work out when the footy is on? Every year are you manually entering footy games in to your phone calendar?

Why not do it automatically?

Remember when I was in the App Store?

The Apple App Store turned 15 this week, and I just happened to come across some screenshots of when an app I built was featured in the Australian store.

Moving (back) to Grav

So I used to use Grav on my website a handful of years ago, but I gave it up because I percieved it to be “too slow”. To be honest, that was me just not really understanding how it works. So, when I gave it up I went back to MovableType (yeah–2005 called!).

My MovableType installation is currently running in my home lab, on Windows Server behind IIS, authenticating against my Active Directory and writing to my clustered Microsoft SQL Server database.

Why? Because I could dammit.

But, MovableType is actually a bit shit, and hasn’t really kept up with modern expectations.

10 April 2022: Oops – it looks like commenting was a bit broken thanks to CORS and friends. Commenting is now working again, as expected.

How to create Mac OS X 10.6 Snow Leopard virtual machine in UTM

UTM is a frontend for QEMU that works on Mac and iOS.

I’ve been working to get Snow Leopard running in UTM (by extension, it would probably also work in QEMU, too). Here’s how to do it.

7 March 2023: This is confirmed broken on M1 or M2 Apple Silicon Macs, exhibiting a commpage no match for last kernel panic. I just got an M2 MacBook Pro, so stand by while I test. See updates on the comments.

Transition complete!

Over the past few months I’ve been working to start self-hosting more of my stuff at home. I’ve got myself going with kind of a mini-home lab–more about that in another post.

Anyway, I’ve finally changed CMS, changed web server platform and this site is officially hosted by a computer in my cupboa...

Could this be the stupidest option in Microsoft Excel?

For the past hour or so I have been troubleshooting a problem with a Visual Basic script in Excel. It iterates through PivotItems in a PivotTable:

Set p_table = ActiveSheet.PivotTables("Audit")
Set p_items = p_table.PivotFields("Primary Location").PivotItems

For Each p_item In p_items
    Debug.Print p_item.Name
Next p_item

The for-loop keeps returning items that are no longer in the source data, and I couldn’t work out why. Turns out, there’s an option in PivotTable Options: Retain items deleted from the data source.

Gladys takes over the world

An even more superior dynamic pagination, using Smarty

The Smarty pagination system I demoed previously worked great, but it didn’t cache results. But, I’ve made it better.