-
Was not expecting the 10 mm of rain we had last night. Not sure anyone was, not even the Bureau. Put a dampener on my plans. I thought I was being super smart washing my towels in the evening and hanging them on the line to dry overnight so I could use the line for other washing today. Ah well. 🤷
-
Idea for UCL: Methods
I’m toying with the idea of adding methods to UCL. This will be similar to the methods that exist in Lua, in that they’re essentially functions that pass in the receiver as the first argument, although methods would only be definable by the native layer for the first version. Much like Lua though, methods would be invokable using the : “pair” operator. strs:to-upper "Hello" --> HELLO The idea is to make some of these methods on the types themselves, allowing their use on literals and the result of pipelines, as well as variables: Continue reading →
-
My latest YouTube binge has been Drew Gooden, and his videos on YouTube and Instagram influencers and trends: an area of online culture I know nothing about. I’m kinda glad that I stayed well away from that area of the internet. Seems like more drama than I can handle. 📺
-
Getting a new cooler installed tomorrow. The one I have, which I think is as old as the house, is on it’s last legs. It struggles to cool the house, only managing to keep the inside temperature steady if I turn it on early enough, and leaks profusely. I shutter to think what my next water bill will be.
The new unit’s going to be another evaporative cooler. Everyone I talk to tells me I’m crazy, and I should just go with reverse cycle. And I will agree that it’s a bit of a gamble. But it’s worth trying, given the quote I was given and the fact that I don’t have to do any major modifications to the house. If it doesn’t pan out, there’s nothing stopping me from getting reverse cycle later.
I did pick the worse time to do it though: we’re going through a heatwave that won’t break until Tuesday. At least it’ll give me an opportunity to do a fair before/after comparison.
-
No trains today.
-
Can one have a project with a relational database that is deployed early and often, and not have thousands of SQL migration scripts? Seems like it’s difficult to have both. Maybe there’s some way to “roll up” old migration scripts into one nice SQL schema. I guess running them all on a new database and exporting the schema will do that. 🤔
-
🧑💻 New post on TIL Computer: Local Values In Fiber
-
Love how the database methods for the project I’m working on are consistently inconsistent. “InsertPost”, “NewSite”, “AddUser” — only some of the names I’ve chosen so far. Could I, maybe, “infuse” a target? Or maybe even “interpose” a page? How about “stuff in” some styles? Where’s my thesaurus? 🙃
-
Being able to “simply hook-up an interactive debugger” is a capability I wish we still had in this brave new world of micro-services and Kubernetes.
-
Generates an RSS feed of all the toots you bookmark. I’ve been using it these past couple of weeks and it’s been fantastic. Mastodon bookmarks are front and centre now, thanks to them being in my feed reader.
Via Robb Knight
-
UCL: Iterators
Still working on UCL in my spare time, mainly filling out the standard library a little, like adding utility functions for lists and CSV files. Largest change made recently was the adding iterators to the mix of core types. These worked a lot like the streams of old, where you had a potentially unbounded source of values that could only be consumed one at a time. The difference with streams is that there is not magic to this: iterators work like any other type, so they could be stored in variables, passed around methods, etc (streams could only be consumed via pipes). Continue reading →
-
A service I’m partly responsible for at work has had a number of core issues that have been plaguing us for more than a year now. We’ve been making fixes round the edge, but have left much of the core intact, lest it ties us up in a large refactor. Today I got the green light to start addressing these core issues directly. I feel so happy: I get to put away my scalpel and finally take out my sledgehammer.
-
It’s finally happened: the local pigeons have discovered bagels and coffee.
-
Had a go at integrating Keycloak in a personal project. Got to the point where it kinda-sorta worked, but I’m not sure what I’m trying to prove by continuing. That I can integrate an auth service? Well yeah, but it’s a lot of work, and probably not worth it for a project where I’d be the sole user.
-
New ground stickers telling people not to ride on the path. We’ll see how well these work, since the sign has been such a “success”. Maybe the police emblem will help. 😏
-
Okay, I think I know why I stopped playing Wordle.
-
I never imagined that my software development job would someday involve reading legalisation on Indonesian tax law.
-
Galah’s letting anyone who cares to know that it’s on this pole, it’s their pole, and don’t you forget that.
-
Trying out DeepSeek’s chat model. Started with a pretty tame session, but it was something I needed from ChatGTP a week ago. DeepSeek seems to do pretty well here: I like how terse the answers are. I’d be curious to try out the API too.
-
Hitchhiker. One of two today.
-
Finding that styling a page with
min-height: 100vhcauses the need to scroll when I open the page in Vivaldi Mobile, asvhdoes not recognise vertical space taken up by toolbars. What I actually want is100dvh(i.e. dynamic view-height) which does. Found this slide helpful (source and via).
-
This week’s distraction: building a Wordle clone. No particular reason for doing this other than I felt like building one, although I did miss the small time waster of the original Wordle, and watching a game show with my parents that had a similar concept just made those feelings stronger. Main difference between this and Wordle classic: board randomly selects between 4-letter, 5-letter, and 6-letter words; no daily limit or social-media sharing when you guessed the word correctly; and the biggest one: UK English spelling.
Some remarks on how this was built: I used 11ty to build the static site. It originally started as just a HTML page with some JavaScript, but I wanted to leave the option open for bundling and minifying the JS with Stimulus. The dictionary I got from Hunspell, which is apparently the spell checker Apple has based their work on. There is a little bit of Go to filter and sort the dictionary of words. The words are in sorted order for the binary search algorithm to check if a word exists or not. The puzzle order is predetermined and was done by “shuffling” the indices in a separate array. Base styles are, of course, from simple.css.
If you’re interested in checking it out, you can find it here. Just be aware that it may not be as polished as much of the other stuff you find out there. Turns out that I can tolerate a fair few shortcomings in things that I build for my own amusement.
-
“Get out more” goal for January achieved. ✅
Just a small one this month though, as I was a little unorganised: just work drinks and coffee with a team I don’t usually work with. Baby steps I suppose.
-
Discovered new street art this morning. Took a photo of my favourites.
-
Was talking with a coworker at lunch today about his Twich streaming setup, and how he was using Unreal to produce backgrounds that’ll be composited with his webcam feed. He was clearly excited about it all. Streaming’s not my thing, but it was great talking with someone so enthusiastic about doing something like this.