Long Form Posts The RSS feed for Long Form Posts.

  • 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. Continue reading →

  • Cropping A "Horizontal" PocketCast Clip To An Actual Horizontal Video

    Finally fixed the issue I was having with my ffmpeg incantation to crop a PocketCast clip. When I was uploading the clip to Micro.blog, the video wasn’t showing up. The audio was fine, but all I got for the visuals was a blank void1. For those that are unaware, clips from PocketCast are always generated as vertical videos. You can change how the artwork is presented between vertical, horizontal, or square; but that doesn’t change the dimensions of the video itself. Continue reading →

  • WeblogPoMo AMA #3: Best Music Experience

    I’m on a roll with these, but I must warn you, this streak may end at any time. Anyway, todays question is from Hiro who asked it to Gabz, and discovered via Robb: Hiro @hiro@social.lol @gabz What’s the best music-related experience of your life so far? 2:40 PM • November 1, 2024 (UTC) Despite attending only a hand-full of concerts in my life — live music is not really my jam — I’ve had some pretty wonderful music-related experiences in my life, both through listing to it or by performing it. Continue reading →

  • WeblogPoMo AMA #2: One Thing I Wish I Could Change About Myself

    Here’s my answer to another question asked by Annie for WebogPoMoAMA. This was previously answered by Keenan, Estebanxto, Kerri Ann, and Lou Plummer: If you could instantly change one internal pattern/thing about yourself, what would it be? My answer is that I wish I found it easier meeting new people. Not only am I quite introverted, I’m also really shy, and I find it extremely hard to introduce myself to new people in social situations. Continue reading →

  • Phaedra, The lmika Track Arrangement

    I recently learnt that the version of Phaedra I’ve been listening to for the past 15 years had not only the wrong track order, but also the wrong track names. This is not entirely surprising, given how this version was… ah, acquired. But after learning what the order and names should’ve been, I think I still prefer my version. And yes, that’s probably because I’m use to it, but if the official album were to have these names and this order, I think it would actually work really way. Continue reading →

  • My Favourite Watch

    Seeing all the nostalgia for digital watches of the ’90s and early 2000s, following the release of retroest desk clock shaped like a large Casio digital watch, it got me thinking of the watches I owned growing up. I started off as a Casio person but I eventually moved on to Timex watches. I was pretty happy with all the watches I owned, but my favourite was the Timex Datalink USB Sports Edition, which stood head and shoulders about the rest. Continue reading →

  • Why I Keep Multiple Blogs

    Kev Quirk wrote a post yesterday wondering why people have multiple blogs for different topics: A few people I follow have multiple blogs that they use for various topics, but I don’t really understand why. […] I personally prefer to have a single place where I can get all your stuff. If you’re posting about something I’m not interested in, I’ll just skip over it in my RSS feed. I don’t have to read everything in my feed reader. Continue reading →

  • On Panic, iA, and Google Drive

    I see that Panic is shutting down their Google Drive integration in their Android app, much like iA did a few weeks ago. This doesn’t affect me directly: even though I am a user of both Android and Google Drive, I regret to say that I don’t use apps from either company on my phone (I do use a few things from both on my Apple devices). But I do wonder why Google is enacting policies that push developers away from using Drive as general purpose user storage. Continue reading →

  • Passing

    Three nights ago, and two months before her 94th birthday, my Nonna, my maternal grandmother, suffered a stroke. She’s now in palliative care and there’s no telling how much longer she has left. Over the last few years she was slowing down, yet was still quite aware and was able to do many things on her own, even travel to the shops by bus. She had a scare over the weekend but was otherwise in reasonably good health. Continue reading →

  • Tools And Libraries I Use For Building Web-Apps In Go

    I think I’ve settled on a goto set of tools and libraries for building web-apps in Go. It used to be that I would turn to Buffalo for these sorts of projects, which is sort of a “Ruby on Rails but for Go” type of web framework. But I get the sense that Buffalo is no longer being maintained. And although it was easy to get a project up and running, it was a little difficult to go beyond the CRUD-like layouts that it would generate (or it didn’t motivate me enough to do so). Continue reading →

  • Micro-fiction: Get A Horse

    Trying something new here. I came up with the concept of this short-story while riding home on the tram yesterday. The rest of it sort-of fell into place when I woke up at 5AM this morning, unable to get back to sleep. Hope you enjoy it. Josh was riding the scooter on the city footpath, not trying super hard to avoid the other pedestrians. He was going at a speed that was both unsafe and illegal, but it was the only speed he knew that would prevent that horse from showing up. Continue reading →

  • Select Fun From PostgreSQL

    Using PostgreSQL these last few months reminds me of just how much fun it is to work with a relational database. DynamoDB is very capable, but I wouldn’t call it fun. It’s kinda boring, actually. Not that that’s a bad thing: one could argue that “boring” is what you want from a database. Working with PostgreSQL, on the other hand, has been fun. There’s no better word to describe it. It’s been quite enjoyable designing new tables and writing SQL statements. Continue reading →

  • Rubberducking: Of Config And Databases

    It’s been a while since my last rubber-ducking session. Not that I’m in the habit of seeking them out: I mainly haven’t been in a situation when I needed to do one. Well that chance came by yesterday, when I was wondering whether to put queue configuration either in the database as data, or in the environment as configuration. This one’s relatively short, as I was leaning towards one method of the other before I started. Continue reading →

  • About Those STOP Messages

    John Gruber, discussing political spam text messages on Daring Fireball: About a month ago I switched tactics and started responding to all such messages with “STOP”. I usually send it in all caps, just like that, because I’m so annoyed. I resisted doing this until a month ago thinking that sending any reply at all to these messages, including the magic “STOP” keyword, would only serve to confirm to the sender that an actual person was looking at the messages sent to my phone number. Continue reading →

  • My Home Computer Naming Scheme

    I enjoyed Manton’s post about the naming scheme he uses for Micro.blog servers. I see these names pop up in the logs when I go to rebuild my blog, each with a Wikipedia link explaining the origins of the name (that’s a really nice touch). Having a server or desktop naming scheme is one of those fun little things to do when working with computers. Growing up we named our home desktops after major characters of Lord of the Rings, such as Bilbo, or Frodo, but I never devised a scheme for myself when I started buying my own computers. Continue reading →

  • Go Feature Request: A 'Rest' Operator for Literals

    Here’s a feature request for Go: shamelessly copying JavaScript and adding support for the “rest” operator in literals. Go does have a rest operator, but it only works in function calls. I was writing a unit test today and I was thinking to myself that it would be nice to use this operator in both slice and struct literals as well. This could be useful for making copies of values without modifying the originals. Continue reading →

  • A Follow-Up To Mockless Unit Testing

    I’m sure everyone’s dying to hear how the mockless unit tests are going. It’s been almost two months since we started this service, and we’re smack bang in the middle of brownfield iterative development: adding new features to existing ones, fixing bugs, etc. So it seems like now is a good time to reflect on whether this approach is working or not. And so far, it’s been going quite well. The amount of code we have to modify when refactoring or changing existing behaviour is dramatically smaller than before. Continue reading →

  • On the Easy Pit To Fall Into

    From Matt Bircher’s latest post on Birchtree: One of the hard parts about sharing one’s opinions online like I do is that it’s very easy to fall into the trap of mostly complaining about things. This is something I also think about. While I haven’t done anything scientific to know what my ratio of posting about things I like vs. things I don’t, I feel like I’m getting the balance better. Continue reading →

  • A Tour Of My New Self-Hosted Code Setup

    While working on the draft for this post, a quote from Seinfield came to mind which I thought was a quite apt description of this little project: Breaking up is knocking over a Coke machine. You can’t do it in one push. You gotta rock it back and forth a few times and then it goes over. I’ve been thinking about “breaking up” with Github on and off for a while now. Continue reading →

  • Zerolog’s API Mistake

    I’ll be honest, I was expecting a lot more moan-routine posts than I’ve written to date. Guess I’ve been in a positive mood. That is, until I started using Zerolog again this morning. Zerolog is a Go logging package that we use at work. It’s pretty successful, and all in all a good logger. But they made a fundamental mistake in their API which trips me up from time to time: they’re not consistent with their return types. Continue reading →

  • A Bit of 'Illuminating' Computer Humour

    Here’s some more computer-related humour to round out the week: How many software developers does it take to change a lightbulb? Just one. How many software developers does it take to change 2 lightbulbs? Just 10. How many software developers does it take to change 7 lightbulbs? One, but everyone within earshot will know about it. How many software developers does it take to change 32 lightbulbs? Just one, provided the space is there. Continue reading →

  • Asciidoc, Markdown, And Having It All

    Took a brief look at Asciidoc this morning. This is for that Markdown document I’ve been writing in Obsidian. I’ve been sharing it with others using PDF exports, but it’s importance has grown to a point where I need to start properly maintaining a change log. And also… sharing via PDF exports? What is this? Microsoft Word in the 2000s? So I’m hoping to move it to a Gitlab repo. Gitlab does support Markdown with integrated Mermaid diagrams, but not Obsidian’s extension for callouts. Continue reading →

  • My Position On Blocking AI Web Crawlers

    I’m seeing a lot of posts online about sites and hosting platforms blocking web crawlers used for AI training. I can completely understand their position, and fully support them: it’s their site and they can do what they want. Allow me to lay my cards on the table. My current position is to allow these crawlers to access my content. I’m choosing to opt in, or rather, not to opt out. Continue reading →

  • Thinking About Plugins In Go

    Thought I’d give Go’s plugin package a try for something. Seems to works fine for the absolutely simple things. But start importing any dependencies and it becomes a non-starter. You start seeing these sorts of error messages when you try to load the plugin: plugin was built with a different version of package golang.org/x/sys/unix Looks like the host and plugins need to have exactly the same dependencies. To be fair, the package documentation says as much, and also states that the best use of plugins is for dynamically loaded modules build from the same source. Continue reading →

  • Word Cloud

    From Seth’s blog: Consider building a word cloud of your writing. Seems like a good idea so that’s what I did, taking the contents of the first page of this blog. Here it is: Some observations: One of the most prominent words is “just”, with “it’s” not far behind. I though it’s because I started a lot of sentences with “it’s just”, but it turns out I’ve only used that phrase once, while the individual words show up around 10 times each. Continue reading →