return 12; // good enough for now

2024W34

Getting mildly in to data hoarding. I’ve got a NAS so why not fill it? So many videos/websites that I remember fondly have disappeared which feels like a real loss. I’ve started by downloading videos that still exist or by tagging new ones I enjoy. I’ve been dabbling with ErsatzTV and Jellyfin as a way to surface things I’ve saved.

I had a bit of trouble getting the YouTube metadata plugin to work under NixOS but I got it working in the end.

2024W23

Playing around with Fennel and LÖVE again. Picked up from where I left off but found a flow that works well with hot reloading. Came from this template from TheBlob42 with some inspiration from this Technomancy blog post. Live updating, admittedly mega simple, graphics code as it runs is pretty magical feeling.

Fennel continues to have a nice light feel to it.

2024W21

Unsubscribed from Github Copilot. It’s cool how it can anticipate your needs but when you’re confident of writing code, or gaming something out, the suggestions can be really distracting. Maybe I’ll come back when I’m doing more full-time coding.

Learned about capabilities-based systems from a lobste.rs comment that pointed to this FennelConf video. Neat.

2024W10

Reads

2024W09

Saw Explosions in the Sky and watched Dune 2, both very good. Wrote this stupid thing about waterfall which I think is mostly true, but also funny and quite useless.

Waterfall has never been considered a valid software development methodology. The concept of Waterfall, as applied to software development, was only introduced in a 1970s paper as an illustration that such an approach would be a flawed way to attempt to run a project of its kind. Much like Schrodinger’s Cat, initially a way to mock the Copenhagen interpretation of quantum physics, it is now taught to students struggling for a way to map a deterministic world-view onto a non-deterministic reality. However, unlike physics teachers, which do not actually harm the purely theoretical cat, waterfall project managers continue to wreak havoc and destruction every day.

Reads

2024W07

Writing some Clojure to play around with check-in data from Swarm. The hope is to try and highlight the more interesting things that your friends are up to. Sadly you can’t pull friends’ full history but there’s an endpoint that can grab all your friends’ most recent check-ins, so I’ll just call that on a loop for a bit and see what it gives me.

2024W06

Chinese New Year! Good times visiting or hosting family and friends. A rather packed few days but all enjoyable so any self-imposed stresses were entirely worth it. Cooked General Tso’s Tofu for the family which was well recieved. I’ll add this to the roster of seasonal dishes alongside Christmas’s regular pie to do every year.

Got Pi-hole running on two machines on the local network and for everything on Tailscale. Not sure how much noticeable difference it’ll make. However, seeing all the tracker beacon domains turning red makes me feel like I’ve wrestled back a little bit of control.

Rebuilt Giant Head with a ZFS filesystem so that I can practice backing up snapshots to the NAS.

The genocide in Palestine continues. Feels weird to reference it so flatly in a post where I’m talking about having a nice time with family and dicking around on the computer. But it’s happening, and it’s horrific, and the UK continues to just accept/endorse it at all levels of power. Where do they go from here? All out war all the time? Not even any attempt to pretend there is some moral authority. It was lies before but at least you knew you were being lied to so could understand the power games at play and felt a tiny bit of comfort that they bothered to lie to you. Now it’s just “it’s war and everyone that stands in its way is scum, anyone caught up in it deserves it”. In service of what? Preparation for the next round of resource wars that climate change is bringing? Grim.

Reads

2024W05

Finished Scavengers Reign. Completely worthy of all the praise its receiving. It’s good right from the off but half way through I found myself wanting to just talk about it. Not in-depth analysis, but just to recommendations to folk to go and enjoy the world being created. I’m sad to have left it. The 12 episodes are all that exist and it seems like there’s no outpouring of merch and tie-ins titles that come so readily these days. A shame but maybe also a blessing. Feels somehow pure to keep good things rare and precious.

Reads

2024W04

Tried to collect my thoughts on story points.

2024W01

Got encryption on ZFS working in preparation for photo archival and off-site backup. The ease in setting this up along with snapshotting is making me appreciate ZFS. This is my first time having any real opinion on a file system. Excited to argue with someone about it some day.

Last.fm’s revamp of their listening reports plus Playback 2023 (which sadly isn’t shareable) looks great.

Reads

2023W52

In the UK to spend Christmas with the family for the first time since moving to Singapore in 2019 which was a delight. While in London we caught Stranger Things: The First Shadow and Edward Scissorhands.

2023W45

Visited Hong Kong. Mostly this was to do the TransLantau 25 but we also took a few extra days to tourist and enjoy the place.

Highlights:

2023W44

Horrified at the events unfolding in Palestine and the murderous attitudes of various ruling powers. The idea that the bare minimum of suggesting a ceasefire is now considered beyond the pale, as demonstrated by the British government and media, is sickening. Free Palestine! 🇵🇸

Playing with Common Lisp as an extension to previous experiments with Clojure. Lisp seems nice. I want to live in my own perfect world and write Lisp. Have ended up here after playing with Lua/Fennel and LÖVE, then reading an article about Gamedev in Lisp. Didn’t really get either of these to work in the way I wanted so stepping back to learn Common Lisp “properly” via Common Lisp: An Interactive Approach.

2023W40

Saw Tiny Moving Parts at Hard Rock Cafe in Singapore. A strange little venue, made even stranger by people hanging out finishing their dinner and ignoring the show. Maybe not Hard Rock enough for them. Cool show though. Good band.

2023W34

Covet at *SCAPE. A good few gigs in Singapore this year. Nice to be at shows.

2023W29

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.

2023W28

Reads

“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?”

2023W26

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.

2023W25

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

2023W24

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.

Reads

2023W23

Our 5th wedding anniversary! Life is good <3

Reads

“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.”

2023W22

Moved my old Last.fm 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 Last.fm 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.

2023W20

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.

Reads

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

2023W20

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.

2023W17/18

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

2023W07

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.

2023W06

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.

2023W05

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.

2023W04

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.

2023W03

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.

2023W02

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.

2023W01

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

2022W52

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.