return 12; // good enough for now


Spent some time setting up a new server which will host media, photo backups, and other servery things. This involved figuring out how to decrypt partitions via ssh and get ZFS sorted.



“I am one of many animals in this world, and in that vast relationship of connections there are so many thousands of ways to be present and to be witnessed, what is my gender to a crow?”


Spending some time thinking about Developer Experience, in particular Platform Engineering. It’s appealing to me because it’s not a tech problem, but an organisational and cultural one. However, it’s one where solutions can be structured around tools. I feel like this pseudo-physical grounding can really help people conceptualise the possibilities much easier than “we need to fix the org”. People often seem totally terrified of fixing the org.


Dropped into Around Gallery, a tiny gallery in Evertone Park, to see double chunky’s works for sale.


Continuing to play with Co-pilot and ChatGPT-assisted coding. This time while writing Go. I was trying to get some tests against a Bubble Tea powered project, but with zero Go experience I had no idea how/what is possible. First I Googled around and randomly tried what looked good only to be tripped up by the compiler/the language itself. Bringing ChatGPT and asking it the questions I was trying to answer took me on exactly the same path. Was cool we approached things the same way though even though neither of us was write. Got there in the end but only after more reading on my part. No lessons learned.



Our 5th wedding anniversary! Life is good <3


“In this context, the defining trait of a village is that it’s group of people where the average interaction over time is with people you’ve seen before.”


Moved my old node library over to use Mocha instead of the ntest. When I first created it I think ntest was the only node unit test runner around. I chose Mocha over Jest cos of reports from folk at work that Jest in later versions of node (14+) is just chewing through memory. I don’t expect to hit those problems, but I’ve never used Mocha in anger so seems like a good excuse to look.

I pretty much abandoned the library soon after I started working there. Not for any reason other than it seemed to drop out of my head. I recently noticed that Github claims it’s used by around 4,000 repos so decided to poke at it again.


Played around with AI code generation for the first time. Using a combo of Github Co-pilot and ChatGPT I was able to start a Typescript project with only 5 minutes of trial and error, rather than the usual 15. We really need better tools.

I then took co-pilot through a quick TDD excercise I’d used while during training new hires in the week before. It’s a joy to use. It didn’t seem to hold combinations of expectations well, but it got the gist of what I was doing and provided good suggestions for first cut tests and code. Looking forward to exploring more.


“The injection-mold and metal die machines can make one thousand toys each minute, but they have no hands, they cannot teach”


Trying to get back into running after only going out once during our UK trip. Finding it hard, VO2 max graphs confirm, so just doing some short 5-6k to remind my body that it enjoys this. It’ll be time to start seriously training for the TransLantau 25 soon I hope it listens.

Listening to the No Silver Bullet episode of the Future of Coding podcast. I previously enjoyed the Programming as Theory Building one and have already happily over quoted from it.

Went to Gif Fest 2023 at the NDC. A really well put together, playful exhibition celebrating animated GIFs.


Spending two weeks in UK. While most of the time has been spent rushing around getting quick glimpses of friends and family that we’ve not seen for months or years, we’ve managed to pack in a lot and even added a few days into Europe.

Towns visited

Things done


Watched the Superbowl in town with friends on Monday morning.

Played with Clerk as a way to document potential flows in a project.

Spent a good four hours getting The Last of Us to run on a PS3 emulator and streaming to the living room under NixOS (settled on RPCS3 + Steam after trying multiple other combinations). However, after playing for 10 minutes Peishan felt so sick from the camera controls that she couldn’t continue. Happy at least to have got controllers wired up to NixOS.


On the back of the recommendation of S02E02 of the Wing Magma podcast I’ve been going through 1001 Albums You Must Hear Before You Die. The first standout track is this live version of Diminuendo And Crescendo In Blue by Duke Ellington. Hearing the crowd getting more and more worked up until they’re almost rioting, it’s impossible to not feel the same enthusiasm. It’s a great piece of jazz history.

Picked at Clojure some more.


Back in Singapore and slowly back to work. I passed the 10% mark on running the (mean) streets of north-east Singapore on CityStrides. Not much of a milestone but it’s been a quiet week.


The two of us stayed in Bali after the rest of the family returned to Singapore. We moved from the villa we were all sharing to Canggu and then on to Ubud. We had planned to spend two days in Canggu but decided to leave early after hearing karaoke late into the night. Fun enough but not the town for us.

Ubud is much more relaxing. This is our third time here together and we continue to love the place.

We had originally planned to try working remotely from here to test the digital nomad waters. However, my current work setup doesn’t allow it. Instead we’re picking at little projects in between the touristing and relaxing. I’m using mine as an excuse to learn some Clojure.


Spent Friday/Saturday/Sunday in Seminyak, Bali. We’re here with family to spend the CNY together. My father-in-law passed away last March and this is the first CNY without him. Celebrating doesn’t seem appropriate (and there are some customs that restrict how one would anyway) so we decided to take a short break. My UK family did a similar thing for the Christmas following my own dad’s death. It prevents you from having to pretend everything is normal as your grief doesn’t necessarily gel with other’s holiday experience.


Went to watch a screening of Class Acts at the National Design Centre. A documentary about the Singapore creative scene in the 90s that covers music, fashion, and art and design. There’s a companion exhibition until the end of January.


Peeped at Singapore Art Week. Highlight was double chunky’s contribution to Kunckles and Notch’s Gachapon capsule exhibition.

We’re starting to use notebooks at work as part of our exploration of some data science tools. How to balance their use without sliding into accidental code hell, while also not just cargo culting existing ‘best practices’ needs some thinking. There’s some real potential though. The Stop Writing Dead Programs talk by Jack Rusher and Clerk bubbled up from memory. More thinking (and doing) required.

New music discover of the week - Cheekface


I continued to refactor my old cellular automata code. This was originally written in 2013 for funs. I was reminded of it when I came across the Recursive Game of Life earlier this month. JavaScript (and my knowledge of it) has moved on since then and it’s been nice to quietly refine it as a way to relax.

We spent Christmas in Bangkok. Highlights were Wat Arun and Salon du Japonisant. I also bought a couple of very cute prints from Playworks in Terminal 21. I liked Bangkok a lot. I’d only been there for a few hours about 15 years ago so this was my first proper visit. I think I’ll try to run the Bangkok half marathon next year for an excuse to go back.

Tried archery for the first time at Salt & Light in Chai Chee.