-
🖼️ Gallery
Morning In Sherbrooke
A visit to Sherbrooke in the Dandenong Ranges on Easter Monday included a walk along the falls track, a sighting of a Superb Lyrebird, and a brief exploration of Alfred Nicholas Memorial Garden. Continue reading →
-
🔗 You don’t have to be a “content creator” to have a website
Dang, I want us to start putting our personal website URLs in our lanyards when we go to conferences instead of social media handles! What is the difference between a personal website that doesn’t have “content” and a social media account where there aren’t many posts anyway? The only thing in common is being reachable.
Yes, this! Ditch all those social media handles which seem to go out in style quicker than dress fashion (anyone still posting their Twitter handle on badges, at least without being embarrassed?)
-
Hanging with Rico. He’s got a habit of overpreening, which is why he looks a little shabby.
-
On the subject of names of social media sites:
-
Does anything good come from revenue shares from social media sites, like Facebook or Instagram? I’m not a user of either platform but I get the sense that those programs are more likely to promote plagurism and AI slop.
The only one I see having any success is YouTube. Granted there’s plagurism and AI slop there too, but others seem to have an easier time making original content and making a living from revenue shares doing so. I subscribe to several channels that get a large proportion of their income this way.
I’ve not heard of any original content creators on Facebook or Instagram doing likewise, at least via recommendations from those outside the network. And less said about Twitter’s (I’m not calling it that letter) efforts here, the better.
-
One of those articles to bookmark should CSS clip-paths or shapes need to be important to me in the future.
-
Made some more progress on that Godot game. I haven’t gotten any further with the first level of world 2, so I’ve been spending much of my time making mechanics. One of them was the slow moving “level 2” mechanic that I stole wholesale from Super Mario World. That mechanic, despite it being frustrating to speed-runners, was always slightly interesting to me. To have areas of a level become accessible or hazardous just due to a layer of it oscillate up and down, it promised to make for some interesting timing challenges. At least in theory.
Portion of the new level showing all three new mechanics. I decided to put that theory to the test, and start work on one the later levels. And despite being a little skeptical about whether the mechanic could carry through a level on it’s own, I came up with one that I’m reasonably happy with. The mechanic is introduce slowly, and in a rather non-threatening way, proving the player the means to get to higher ground. This leads into the second half, which will be a long underground section which will ramp up the difficulty by introducing the risk of getting crushed or missing platforms.
To compliment this is a new enemy that rushes the player. The player cannot do anything to defeat this enemy: combat is not really a thing in this game. All they could do is evade it before the enemy gives up. I am reusing the same “green slime” sprite for this but I’m hoping that the differing animations provide some hints of how this enemy’s behaviour differs from that of the simpler one.
Finally, it was time to consider checkpoints. While the first few levels were too short to justify adding them in, this one is just that bit too long without one. And given the difficulty ramp-up in the second half, having the player go through the slower first half every time they died would probably lead to frustration. So checkpoints are now a thing. They’re not free — costing 5 coins to activate — and they are sometimes mandatory, blocking the player from progressing until they pay the toll. But I think their presence helps with eliminating the areas of the level that would just be boring to play through again and again.
So yeah, I’m quite happy with this level. And I’m also happy in realising that I’m not bound to building this game in the same progression that the player will experience it. It’s better sometimes to just work on the areas that you’re ready to. I mean, it’s sounds obvious to say that now. Not sure why it took me this long to actually do so.
-
Some more #big-spending going on around here with the arrival of my brand new TV… remote control. 🤑
Yeah, I finally got a replacement remote control for my TV. And honestly, doing so was a long time in coming. The old one (right) has been failing over the last few years: with certain buttons, particularly Power and Enter, requiring significantly more force that others before responding. About a month or so ago, the Power button stopped functioning completely, and the only way I could turn the TV on was to use the Netflix button (making that button useful for the first time in years) and quickly switching to AV 2. That, plus the volume, were the only buttons working by the end.
-
Ooh, how interesting: Vivaldi is offering blog hosting. I hear blogging is all the rage now, so I gave it a bit of a test. And it’s nothing Earth shattering: it’s basically Wordpress. But it’s interesting seeing Vivaldi do this.
-
I haven’t tried this myself — I don’t have an Sqlite DB handy — but it looks to be interesting.
Via: Simon Willison
-
🔗 Introducing Kermit: A typeface for kids
“A typeface for kids.” Hmm, I’d probably opt with a better tagline, as I’m suspicious of anything that claims that they’re an X for kids, as it tends to imply that it’s of lesser quality than it would’ve been if it were for adults. That unfair thought aside, it’s a font designed around helping those with undiagnosed dyslexia, and that may not take to reading. So the motivations are sound.
Looks like a pretty nice font, too. Sort of understated fun.
-
Python, ES Modules, Deno, JSR all feel like justified forks to me. They attempt to move the status quo forward in significant ways. And yet every fork is justified. They all happen for good reasons. This doesn’t change the fact that the costs of forking are high, very high.
It’s extremely hard to change an ecosystem, software or otherwise; and you’re most likely going to kill it in the process if you try.
Via: Jim Nielsen
-
🔗 AI 2027
Well, that was… interesting. And terrifying. Bookmarking this for 2 years into the future, to see how it’s all going.
Via: Manton Reece
-
Here’s a life hack: if you’re listening to a podcast, but not paying attention, and wishing you were listening to something else, stop listening to the podcast and listen to the other thing.
Amazing, I know. Subscribe to my newsletter for more amazing life hacks. 😜
-
Got a bit bored today. Fortunately Acorn comes with an eye-dropper and Galvji, the closest to SF Pro I had available to me.
-
It kind of blew my mind that this currency exchange rate “API” is nothing more than just some static files on a CDN, along with a cronjob that updates them daily. I guess it’s technically still an API. If the interface is stable, then there’s no reason why it needs to be backed by a database.
-
It’s amazing, when you consider the vast computing resources that AWS has, that it still takes tens of minutes to deploy several lambdas at once.
-
Fixed spelling of canceled
My last commit message. With the linter requiring US spelling for all code artefacts, I never had more of an urge to put scare-quotes in a commit message as I do right now.
Despite this, “I before E except after C” is pretty universal.
-
On time arrival at Albury, NSW.
-
At “Broady 3,” waiting for the XPT to Albury. 🚂
-
🔗 But what if I really want a faster horse?
Overall, consistency, user control, and actual UX innovation are in decline. Everything is converging on TikTok—which is basically TV with infinite channels. You don’t control anything except the channel switch.
This… “trend,” let’s say, is bad. I’m seeing it myself: media consumption apps are turning into glorified magazines, trying to push you to consume media they think you might be interested in (or have an incentive to have as many people as possible consume), rather that what you actually want to consume. That get’s buried in carousel that you need to scroll to, or search screens populated with random junk until you start typing in full what you want to watch. It’s awful, and it makes these apps unusable.
Via: Pixel Envy
-
Received another toy the other day: a new Keychron keyboard. It’ll take me some time to get use to the keyboard layout, and I’ll miss the numeric keypad; but it looks, feels, and sounds great. It’s also my first external keyboard with Apple keycaps: all the ones to date had Windows keys.


-
The weather is stubbornly refusing to turn autumnal. Fortunately the trees are happy to oblige.
-
That small lizard that occasionally gets inside my house is back. Got a bit of a surprise when I saw it in the hallway today. It ran as I reached for my phone to take this picture.
Oh yeah. Tip to tail it’s probably just larger than a finger.
-
New Desk Chair Day
About the new desk chair I bought that arrived today. Continue reading →
-
Does Vivaldi Mobile for Android have GIF support? Yes… I guess? Not entirely sure who’s asking. Or why. Are these the same people who want to know if Vivaldi has paid stickers or file sharing support? Is this for a hypothetical messaging app?
-
The epic feature branch rises again. Like a phoenix. A large, complicated phoenix; one that doesn’t get on with the other birds and is difficult to catch when it needs to be put back in its cage at the end.
-
I’m liking the idea Matt Birchler has with consolidating all the little web utilities he’s built into a single app. I’m wondering if I should do likewise for the random things I’ve built, like the world clock and two letter country code list. Cut down the number of subdomains I’m using.
-
I learnt something about myself the other day: I will shun a piece of software that has dates in the American format —
mm/dd/yyyy— and won’t allow me to change it. The worst of this was Roam Research, which used that format in note URLs. No one wants that format in something that can’t be changed.Stripe is another one. Don’t use this date format in your event logs. It’s confusing as heck. I was troubleshooting something and for a moment I thought events were happening on the 4th of July, until I saw the year 2025 and realised “no, they happened on the 7th of April. It was just the crappy American date format.” Ugh!
-
🔗 BBC News: Official Themes by David Lowe
Good sounding theme for the BBC News.
Not for nothing, I’d like someone to release the themes for the ABC News as an album. I do know someone did a remix of one of them so there’s probably an album out there.
-
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
-
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! 😀
-
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
TileMapnodes, 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 forTileMapinstances, 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.
-
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 →