• Slippery when wet.

    Auto-generated description: A wet floor caution sign stands in a tiled underground walkway with puddles on the floor.

    Seriously, watch yourself when walking through that subway on a wet day. That tiled floor is treacherous.

  • I was reading through the feeds in my Feedbin account a couple of weeks ago, as one does, and a passing curiosity grabbed me: when did I actually sign up to Feedbin, and what were my first subscriptions? I’m not sure if it’s possible to get this information from the frontend, but it turns out you can get it from Feedbin’s API. So I plugged in my auth details and took a look.

    Screenshot of the response of Feedbin's subscription API, showing entries for Marco.org, Daring Fireball, and Six Colors

    My first two subscriptions were back on 24 May 2017, for Marco Arment and Daring Fireball, although I’m sure there were others that I’ve since removed. I’m taking that to be the date I actually signed up to Feedbin, and I suspect that these two were part of collection of feeds that I moved from older RSS reader I was using at the time1.

    I won’t go through every subscription I have but I will point out a few interesting ones. For instance, I thought I subscribed to Manton Reece much earlier, but apparently it was only on the 6th March 2020. I subscribed to Seth Godin on the 8th December 2020. And the latest subscription was added only a few weeks ago, on the 10th of November of this year.

    All up, I’m currently subscribed to 64 feeds. Now, if only I could remember how I discovered these feeds.


    1. That was hand-built, and I should dig it out and see if I can get it working again, just to remind myself how it looked. I do know that it used Google’s Material design language. ↩︎

  • Delta of the Defaults 2024

    It’s a little over a year since Dual of the Defaults, and I see that Robb and Maique are posting their updates for 2024, so I’d thought I do the same. There’ve only been a few changes since last year, so much like Robb, I’m only posting the delta:

    • Notes: Obsidian for work. Notion for personal use if the note is long-lived. But I’ve started using Micro.blog notes and Strata for the more short-term notes I make from day to day.
    • To-do: To-do’s are still going to where my notes go, which is now Strata. Although I’m still using Google Keep for shopping lists.
    • Browser: Safari’s out from all machines. It’s Vivaldi everywhere now. Except iPad, where I don’t have a choice.
    • Presentations: Believe it or not, I haven’t had to make a presentation since last year. I am still paying for iA Presenter, and despite some thoughts, I think I’ll continue to use it for future presentations. I should also add that I’m using iA Writer for prose writing, not that I do much of that either.
    • Social Clients: Still Tusky for now, but I’m wondering how long it’ll be before I install a BlueSky client too.
    • Journalling App: I didn’t include this in last year’s list, but it’s worth mentioning here as I’ve moved away from Day One to a home grown web-app, similar to the one built by Kev Quirk.
    • POSSE: Micro.blog, EchoFeed. Also a new category, now I’m doing this a bit more nowadays.
    Continue reading →

  • Wish Go had Java’s :: operator, where you could convert a method into a function pointer with the receiver being passed in as the first argument. Would be super useful for mapping slices.

  • Upgraded my work laptop to Sequoia. “Love” the experience that this new version provides, especially the mouse-and-patience exercise I get in the morning. 👎

    <img src=“https://cdn.uploads.micro.blog/25293/2024/cleanshot-2024-11-26-at-07.30.252x.png" width=“600” height=“541” alt=“Three permission requests stacked up, with the top one displayed asking if an app called “Obsidian” can find devices on local networks, with options to “Don’t Allow” or “Allow”.">

    That said, I wonder why Obsidian needs to find devices on the local network. Or is this just a thing that Electron apps need to do to function? Just part of using Chromium as the rendering engine? 🤷

  • 🧑‍💻 New post on TIL Computer: Don’t Use ‘T’ RDS Instance Types For Production

  • Looking for my next project to work on. I have a few ideas but my mind keeps wandering back to an RSS reader for Android. I read RSS feeds quite frequently on my phone and Feedbin’s web app is great, but I think I prefer a native app.

    I just need to get over the hump of setting up my Android Studios. There’s something about starting a new project there that just sucks the life out of you.

  • I wonder if anyone can get anything out of Fandom these days. I went to it yesterday for something, and it was so full of ads that it was barely usable. Got out of there as soon as I could. Didn’t spend a second longer than I needed to. I certaintly wouldn’t choose to casually browse that site.

  • Playing around with some possible UI design choices for that Android RSS Feed Reader. I think I will go with Flutter for this, seeing that I generally like the framework and it has decent (although not perfect) support for native Material styling.

    Started looking at the feed item view. This is what I have so far:

    Auto-generated description: A smartphone screen displays a Flutter demo app with a list of text items including an example domain, a note about using 'T' RDS instance types, and a comment about a blog post.

    Note that this is little more than a static list view. The items comes from nowhere and tapping an item doesn’t actually do anything yet. I wanted to get the appearance right first, as how it feels is downstream from how it works.

    The current plan is to show most of the body for items without titles, similar to what other social media apps would show. It occurred to me that in doing so, people wouldn’t see links or formatting in the original post, since they’ll be less likely to click through. So it might be necessary to bring this formatting to the front. Not all possible formatting, mind you: probably just strong, emphasis, and links. Everything else should result with an ellipsis, encouraging the user to open the actual item.

    Anyway, still playing at the moment.

  • 📺 House of the Dragon: Season 1 (2022)

    Title: House of the Dragon Metadata: Season 1 (2022) - Ryan Condal Score: Good Review: Ah, nice to be back in Westeros again. I was late to this, but people said it was good, and they were right. This was an enjoyable watch. Stunning cinematography and sound design. The acting was decent, although maybe a little too dramatic. And the plot was excellent. I can understand and believe everyone's motivation, and it didn't descent into fan service (it would've been so easy to have Mr. Stark show up for no good reason. I'm glad they resisted). Looking forward to starting the next season.
  • Looking At Coolify

    While reading Robb Knight’s post about setting up GoToSocial in Coolify, I got curious as to what this Coolify project actually is. I’m a happy user of Dokku, but being one with magpie tendencies, plus always on the lookout for ways to make the little apps I make for myself easier to deploy, I thought I’d check it out.

    So I spun up a Coolify instance on a new Hetzner server this morning and tried deploying a simple Go app, complete with automatic deployments when I push changes to a Forgejo repository. And yeah, I must say it works pretty well. I haven’t done anything super sophisticated, such as setting up a database or anything. But it’s almost as easy as deploying something with Dokku, and I’m please that I was able get it working with my Forgejo setup1.

    Continue reading →

  • Now this is cool: Hetzner has opened up a region in Singapore. The tyranny of distance is starting to abate.

    Screenshot of Hetzner server location, showing Singapore as an option.

    Ooh, but it’s a fair bit pricier. €8.14 /month for a 2 GB RAM, 40 GB SSD server with 2 VCPUs. In every other region this is €4.24 /month.

  • Oof! Warm weather usually means flies, and there are a lot of them this morning. Been doing the Aussie salute during my entire walk.

    Pro tip: if you’re on a walk, don’t be afraid to leave files on your back. They’re going to be there anyway and it’s better they’re there rather than in buzzing around your face. And don’t worry about appearances. Other walkers would have them too.

  • I’m enjoying House of the Dragon, but many of the characters suffer from “vox epica” syndrome. They speak in monotone, with long pauses between sentences. Obviously to underscore the drama, but it takes me out a little. Regular people wouldn’t talk like this.

  • Heard the fans on my work M1 MacBook Pro for the first time. I guess constantly generating as many JWTs as you possibly can for a whole minute would do that. 😛

  • This week’s earworm: Electric Light Orchestra, especially Livin’ Thing. 🎵

  • Kind of ironic to think that you spend so much effort working on a blog, only to be spending most of that time in the CMS admin section, rather than the blog itself. Or at least that’s where I find myself most of the time.

  • Currently trying to do a web search to find where the logs are for a piece of software that predominantly deal with logs. You can imagine how fruitful the results have been so far. 😀

  • Heed the advice of Jim Nielsen and watch out for websites that ask you to enable notifications to “prove you’re not a bot.” It’s usually just an attempt to push spam. Had to walk through turning this off for someone when they started receiving ads via notifications from some crappy site.

  • 🔗 Thought Detox

    Someone on Micro.blog posted a link to this little web-app years ago, where you can write your thoughts and they float away into the ether, never to be seen again. I didn’t grab a link to it at the time, which I regretted. Well, I’m not making that mistake twice.

    Via Anil Dash

  • 🧑‍💻 New post on TIL Computer: Feedback Of Conditional Updates In PostgreSQL

  • A good indication of how busy the work week is is the number of biscuits packets I bring home with me, rather than eat at lunch time. We’re at two packets this week.

    Two individually wrapped Arnott's biscuits packets are placed on a green and grey bench.
  • It’s come to the point where my inability to approach or talk to people might start affecting my career progression.

  • At the station. A Mernda train came and went. Next one rocked up a few minutes later, another Mernda. “Another Mernda?” Not unheard of to have two consecutive trains for the same line. But it’s also not unheard of for me to completely miss my train because I wasn’t paying attention. 😄

  • The house guests have returned. Rico is settling in quite well, considering it his first time here. 🦜

    A cockatiel with a yellow face and grey body is perched on a cage, while another white cockatiel stands in the background.
  • One of those days where I doubt my ability to do this job. 😞

    “Also one of those days where I doubt my ability to spell properly.” That’s what I’d be saying if I ever believed my spelling was ever good. 😜

  • Thought we were done with the swoop-o-meter for the year, didn’t we. Well, I guess there’s a little more spring left to go. That’s 5 noisy miners now. 👷‍♂️

  • Smack bang in the middle of the automation smiling curve for my current task. 😩

    A meme  depicting a smiling curve graph illustrates the relationship between problem size and satisfaction. The left size says 'Job really small. I'll just do it manually.' The right size says 'Argh, too big. I better automate.' In the centre is an arrow pointing to the lowest point on the curve with the annotation 'Automate half the job, but then realise it's probably quicker to just finish it manually.'
  • I’ve been waiting 5 minutes for the work VPN to log me in, and I’m still waiting. I guess the VPN client slept in today.

    Oh, it just timed out. Must’ve hit the snooze.

  • Spent the morning upgrading my self-hosted Forgejo instance to the latest version. I started 30 minutes before heading out the door to an event, which is “always” a great idea. 🤦‍♂️

    After removing the repo managed version of Forgejo, which never worked for me, I was able to download and install the latest Debian package. I did have to uninstall the previous version first, which was a little terrifying. I did create a Hetzner snapshot before I started, just so that I can revert back to a working version should I screw everything up. Fortunately I didn’t need the snapshot, but I did need to move “app.ini” out as installing the package would’ve overwritten it and apt was refusing to proceed.

    I eventually got the packaged installed and Forgejo running again. Fortunately everything was still there when I check the frontend. But when I tried doing a push, Git was throwing an error indicating that it couldn’t find the repository. I was unable clone any repos either, either using SSH keys or HTTPS.

    I not entirely sure what was causing this issue. It may have been the move of “app.ini”. I did this as root, and maybe Forgejo, which runs in a jailed account, had an issue with reading or writing to that file. I changed the owner back to “forgejo” and also went through the the pre-update actions upgrade guide, and either one of those must’ve fixed something as Git started working again.

    Anyway, I now have an updated version of Forgejo running. And despite the weird Git thing, it went relatively smoothly. But there are a few lessons here: always read the upgrade guide, and don’t do something like this minutes before you need to be somewhere else.

  • It’s done! Cyber Burger, the Pico-8 arcade game I’ve been working on for the last few months, is finished and can now be played online in a (desktop) browser. Check it out here.

  • Now that my 1Password subdomain woes with Android Vivaldi has been tamed, it’s time to turn my attention to Safari:

    A password manager pop-up displays a list of saved password suggestions for the same domain, with no subdomains, 8 times.
  • In this world of micro-services and Kubernetes, it was nice to be working on a system built as a monolith running in a plain old EC2 instance. But recently, during load testing, the service we’ve been working on as been showing signs of stress — timing out, maxing out the CPU — and it’s become clear that scaling up has taken us only so far. So now might be time to rearchitect this into micro-services and move it into something like Kubernetes. This was probably always going to happen. I’m just glad that it’s happening now, rather than before it was necessary.

  • I’ve been spending so much time on this tool to generate a report I’ve been asked to produce, and it’s super overdue. The funny thing is, if I delay one more week, the report would be trivial to produce, and the tool will become unnecessary (the tool’s almost finished too).

  • Listening to this part of HV got me wondering if the secret to punctual trains is just a whole lot of them. You’re less likely to do something to delay a train — like hold the doors open — if you know the next one’s only a few minutes away, and will arrive on time. One builds on the other.

  • Okay, so apparently I held out for exactly 1 hour and 15 minutes, as I’ve just opened a Bluesky account1. The reason is that some old Twitter accounts have moved over there instead of Mastodon. I get a lot of enjoyment from those accounts and it’s good to see them still posting.

    I do wonder where they moved their old Twitter archive. A tweet of theirs I linked to as a shortcode broke this blog for a time when they deactivated their Twitter account. I do hope they either POSSE or PESOS with a domain they control so I can fix it (they’re so close: they’re using a domain for their handle, all they need to do is setup a website).


    1. All posts on Bluesky and Mastodon go through here first so you don’t need to follow me there if you follow me anywhere else. ↩︎

  • Wondering if I should open a Bluesky account. Do I need another service to look at every day? Am I desparate enough for “moar reederz” to set up another POSSE channel? It’s tempting. Will hold off for now, but who knows how long I’ll be able to maintain my willpower.

  • Someone at work found this blog. Apparently they found a link to it on LinkedIn. Probably should get that fixed. 😜

    (Hi, K.K. 👋)

  • Behind the MAS.

    Large letters TMAS mounted on a bridge structure appear reversed against a cloudy sky backdrop.
  • I was not expecting tense to be a stumbling block with writing design proposals that’ll eventually become documentation. I’ve been catching myself writing in the future tense — “this service will do this” — instead of the present tense — “this service does this.” This is probably a habit I formed while writing design proposals to be reviewed, only to leave them be forgotten once they’re approved.

    I’m trying to avoid that here, and although the use of present tense instead of future tense might seem like a small thing, I think it’s a very important one. Once the design is approved and realised, what will be will eventually become what is, and I want to make sure the reader gets that, and keeps it up to that when the design changes. Using the wrong tense here would just signal to the reader that the document is just a proposal and is no longer relevant. And when that happens, it’ll never get looked at again.