2025 The RSS feed for 2025.

  • 🔗 Blogging expectations

    In my case, it’s true, honestly. I like attention, I want my blog posts to sometimes show up in Hacker News or get shared on big social media sites (despite the aftermath of random people who don’t know me hating on it), I want people to comment on toots linking to my blog posts, I want people to send me an email sharing their thoughts or opinion on it, I want people to contact me on Signal or XMPP and have a random chat, I want to get invited into a podcast despite how terrible my spoken English would be, I want people to know me?

    It’s kinda funny to think how I went through my own blogging journey — such that it is. Honestly, I got into blogging because I too wanted the attention. Seeing all these others online express their opinion and show off their expertise was something that looked like it was worth having. Of course it was never like that at the start, and I had to grow to like writing for myself.

    Although once you find solace in writing only for yourself, you begin to notice that people are paying attention. You do get invited to podcasts, people do reach out to you via email, your posts do show up on another blog or Hacker News. You may even get people at work discover your blog organically1. How do I know? Because all this happened to me. I didn’t expect it, but I was delighted when it did.

    So I think getting into blog writing for the attention is fine. We all want a bit of attention: we wouldn’t be writing in public if we didn’t. But true happiness in the art of blog writing comes from not expecting it. Feel comfortable writing for yourself first.2 Most of your posts won’t resonate with anyone. And that’s fine. As long as they resonate with you.

    Via: Kev Quirk


    1. Well, as organic as one can after visiting your LinkedIn page and following the link you added to your profile. ↩︎

    2. In fact, it’s the posts that you write for yourself that tend to get attention from others. People can smell when a post is genuine, or if it’s a manufactured attempt to go viral. ↩︎

  • Request to add a new acronym to the vernacular: SMQL — Slack Message Query Language. Definition: a query for data from services by asking devs or operators working on those systems to get that data and send it back via Slack messages.

  • Every day is CSS Naked Day if you read your blogs in an RSS reader. 😛

  • Working for a large(ish) company, it’s difficult to know whether users are enjoying and showing interest int the products you work on (usually it’s the opposite, where your attention is needed when things go wrong). So it’s always a delight to see when they do. Makes it worth while.

  • Congratulations to Seth Godin for 10,000 blog posts. A phenomenal achievement. I’m a little further behind myself: this will be post number 2,666, just over a quarter of where Seth Godin is. Seth, I’m coming after you! 😀

  • 🔗 This is number 10,000

    Seth Godin has just celebrated his 10,000th post. What an achievement!

    Via: Manton Reece

  • Spent some time over the last few days working on that Godot game, mainly building new mechanics. This evening I started working on an interceptor, something that would jump out of the quicksand in order to disrupt the player’s jump. Here’s an example of how they look in the test bed:

    And yeah, they’re pretty much a carbon-copy of the Podoboos from Mario. But I think there’s a reason they’re still making an appearance in games, years after their debut in Super Mario Brothers. They’re quite a versatile enemy, making jumping challenges a bit more interesting than just seeing whether the player the clear a gap. Plus they’re reasonably easy to make.

    Another mechanic taken from Mario was a switch that revealed coins and tiles for a limited time. Hit it once and the child nodes of this “timed_limited_visible” scene are displayed and activated for 10 seconds, before they disappear again:

    Much like the blue P switch this mechanic takes inspiration from, the switch can only be activated once. So it may be only useful for bonuses and areas the player can afford to miss.

    I had to do some special handling for nested TileMap nodes, since the player could still collide with them even when they’re hidden. How I solved this was nothing too spectacular: basically I just walk the child tree looking for TileMap instances, and when encountering one, just enabling or disabling the first layer:

    func _show_and_activate_children():
        visible = true
        process_mode = Node.PROCESS_MODE_INHERIT
        for tm in find_children("*", "TileMap", false):
            tm.set_layer_enabled(0, true)
    
    func _hide_and_deactivate_children():
        visible = false
        process_mode = Node.PROCESS_MODE_DISABLED
        for tm in find_children("*", "TileMap", false):
            tm.set_layer_enabled(0, false)
    

    Building these elements was fun, but the main problem is that I’m struggling to come up with a centrepiece mechanic for level 2-1, something that defines the level in some way. I have an idea for level 2-2 — this world is set in a desert so I’m hoping to introduce a thirst mechanic — but level 2-1 I’m hoping to keep relatively plain so as to avoid overwhelming the player with too many new things. The fear is to avoid making it little more than what the player encountered in world 1: a series of jumping puzzles over pits. Sure, that’s pretty much the entire game in a way, but some variety would be nice.

    I’m hoping one of these mechanics could help here. I guess I’ll find one once I’ve start seriously building the level.

  • Blessed be the Mail.app View menu and the option to hide the useless Apple AI priority messages. My Inbox is now slightly more sane.

    Auto-generated description: A computer screen displays a dropdown menu with various options such as Show Tab Bar and Show Priority, against a background of tall trees.
  • 🔗 Power users need love too

    Completely agree with Matt here, and not just about Apple. App developers too should think of the needs of the more advanced users, despite taking up a smaller proportion of the user base. Very few users stay beginners for ever. Your best ones, the one’s that keep coming back, are likely going to know your app inside out. It’s worth building features for them.

  • Airing Of Draft Posts

    A collection draft ideas and reflections, amassed over the last year, highlighting a mix of topics ranging from technology insights to personal musings. Continue reading →

  • 🔗 Anime.js: JavaScript Animation Engine

    This looks really interesting. Should look more into this.

  • I just learnt that Nintendo is requiring at least 50 hours of game play on the Switch before one can preorder the Switch 2. That’s a pretty clever way to avoid scalpers. I approve, despite not qualifying.

  • In a world where every cafe opens at 8:00 on Sunday, the ones that open earlier are guaranteed at least one customer. That customer has two thumbs, and is using them to type up this post on a phone.

  • 🔗 CSS loaders and Spinners

    A page of pure CSS loaders and spinners. Click on each one to get the source. No GIFs required.

  • If maintaining code is harder than writing it the first time, maybe Perl had the right idea all along. Just write it once. Then when you need to change it, delete it all and just write it once again. 😀

  • On Go And Using Comments For Annotations

    Some thoughts of whether Go should have a dedicated syntax for annotations that comments are currently being used for. Continue reading →

  • 🔗 Celebrating 50 years of Microsoft

    A nice retrospective on Altair BASIC — Microsoft’s first product — from Bill Gates. And quite a flashy page as well (maybe a little too flashy: it wasn’t really possible to select text). No spoilers, but it’s amusing to see them pull the same trick with MITS and Altair BASIC as they did with IBM and DOS.

    Via: Manton Reece

  • This week’s earworm: Chronology, by Jean-Michel Jarre. 🎵

    Quick review Chronology, by Jean-Michel Jarre (1993). Rating: Liked it. Review text is as follows: I probably like this album more for the memories of when I play it: day-trips just outside of Woodend. But there’s no denying that it’s still good music to listen to.
  • It’s telling that the word “stupider” is growing in our lexicon. I’m all for language evolving, but seeing this is just making online reading “painfullier” (10 points to anyone that gets this obscure ‘90s reference).

  • My trumpet playing skills are what got me into the strings section. 😄

  • Free B-movie idea: you have a large multi-national company, like one of the large tech coorporations. One day, the CEO is away for an extended period of time. They might be on leave or something, but it’ll need to be for a few weeks or more. During that time, a new hire that looks exactly like the CEO begins working there. They start doing their medial tasks until one time during lunch, one of the executives mistakes them as the CEO, and starts asking for directions about company strategy, etc. Well, you can probably imagine how it goes from there.

    Maybe give it it title like “The New Hire” or “The New Job”1 or something, and boom! You’ve got a blockbuster summer hit on your hands. “Fun for the whole family.” 😄


    1. Both of these are already the titles of real movies so maybe not these. Honestly, must be super hard for producers to come up with original titles these days. ↩︎

  • 🔗 512 Pixels: A Fresh Coat of Paint

    Stephen Hackett’s new site looks quite nice. Although I didn’t mind the orange, he’s right about the blue. I do wonder about using “Source Sans 3” for the body text; not sure it’s quite my cup of tea. But the rest looks quite nice.

    Via: Mastodon

  • The Switch 2 looks pretty exciting. If I were ever to spend money on a game console, I’d probably go for this.

  • Tina Arena is a really underrated artist. Her music is really good.

  • Started working on world 2, and one of the main mechanics of this world: quicksand. It won’t kill the player directly, but it will make it difficult for them to manoeuvre, and getting too low could cause death. Might be one of the more annoying mechanics in the game, but that’s kind of the point.