Our bocce group needs to get out more. Seems like the only time we see any rain is when we organise a bocce session.
At the cafe for lunch. Someone came by and asked if they could put up flyers for their shop. Owner said “yes.”
Should try that someday. Not putting up flyers, but just asking people for something I may want. At worst I get a “no,” which is not nearly as bad as brooding at myself for staying quiet.
Oof, Gruber’s piece on the Siri AI fiasco is quite damning. Understandably so. One thing I’ve heard from Apple pundits all these years is that Apple does not show vaporware. That they have done so probably should shake these pundits to the core.
Needed some passwords generated, and I set about doing something involving Go until I remembered that random.org exists. You’d think that by being a regular listener of the Incomparable Game Show, it’d would come to me immediately. π
Oof, quite tired at the moment. Woke up today with the correllas, which this morning was at 2:30 am.
π How to Work Better
Sage advice from Kev Quirk. I feel like I’m struggling a little at work recently, like things are slipping. Like Kev I can’t multitask, and I know I’ve got to get better at doing a single thing at a time. But unlike Kev, I need to care more about making an effort.
Not sure I’ll ever get used to web forms that don’t have an explicit submit button.
Request to work from home tomorrow has been denied. That means I’ll have to deal with, what someone at work so elegantly put it, “rich people in go-karts driving round in circles.” π
I’d be curious to know why running Golang linter slows my system to a crawl.
π OpenEmu - Multiple Video Game System
I asked in the Hemispheric Views Discord on recommendations of a good emulator of the GameBoy for MacOS. Some members recommended this, which I’ve yet to try out. But it looks interesting.
John Gruber, on the casing of “Internet”:
The Internet is a lot like the Earth. Itβs everywhere. It is our universe, in a sense, from the human-scale perspective. But itβs a unique and distinct thing, thus deserving to be treated as a proper noun. Itβs almost disrespectful to lowercase it, and the Internet is one of the great achievements in the history of mankind.
It’s also grammatically wrong. As my Networks lecturer would say, “the Internet” β the thing hosting the Web that we use everyday β is distinct from “an internet” β a collection of interconnected networks. The Internet might be an example of an internet, probably the prime example, but there’s no law in computer science stating that there must only be one. Anyone is welcomed to make their own internet. No-one will because there are massive network effects associated with network protocols, not to mention the amount of money already invested in the TCP+IP stack. Why do you think it’s so hard getting people to move to IPv6?
That said, the style guide of this site has no hard requirements over the casing of “Internet”, mainly because it’s easier not to press the shift key. π
My reputation for a bottle opener.
A good documentation site generator not come produce documentation, but it certainly helps, especially when tool comes with a nice way to order content or a set of default themes that are easy on the eye. This site is using Hugo which is pretty decent. Yet I’d be the first to admit that it’s not the easiest thing out there. There’s a fair bit to learn about how the content is organise or how to use Go templates to build a layout in order to build something that looks the way you want it.
So if Hugo is not your thing here are some others.
- Astro: I’ve seen a few recommendations for this one.
- MkDocs: This looks to support a simple way to organise content while producing nice looking sites. Includes a “read the docs” theme.
- Mycorrhiza Wiki: This looks good for personal wikis. It may require a server though.
Was looking at how I could add hazards to my Godot project, such as spikes. My first idea was to find a way to detect collisions with tiles in a TileMap
in Godot. But there was no real obvious way to do so, suggesting to me that this was not the way I should be going about this. Many suggested simply using an Area2D
node to detect when a play touches a hazard.
I was hesitant to copy and paste the scene node I had which handled the collision signal and kill the player β the so-called “kill zone” scene βbut today I learnt that it’s possible to add multiple CollisionShape2D
nodes to an Area2D
node. This meant I needed only a single “kill zone” scene node, and just draw out the kill zones over the spikes as children. The TileMap simply provides the graphics.

This discovery may seem a little trivial, but I’d prefer to duplicate as few nodes as a can, just so I’ve got less to touch when I want to change something.
Tried opening my Godot project this morning and was greeted with the following error:

scene/resources/resource_format_text.cpp:284 - res://scenes/falling_platform.tscn:14 - Parse Error:
Failed loading resource: res://scenes/falling_platform.tscn. Make sure resources have been imported by opening the project in the editor at least once.
Failed to instantiate scene state of "res://scenes/falling_platform.tscn", node count is 0. Make sure the PackedScene resource is valid.
Failed to load scene dependency: "res://scenes/falling_platform.tscn". Make sure the required scene is valid.
Traced it back to the technique I was using to respawn the falling platform. Looks like Godot didn’t like the two preloads I included:
# file: scripts/falling_platform.gd
@onready var FallingPlatform = preload("res://scenes/falling_platform.tscn")
@onready var FallingPlatformScript = preload("res://scripts/falling_platform.gd")
This resulted in a parse error and Godot thinking the level scene was corrupted. In retrospect, this kinda makes sense. What I doing was technically a circular dependency, where the scene and script was trying to preload itself. I was hoping Godot was smart enough to recognise this, but I guess not.
So I had to change the respawn code. I modified it to make use the duplicate method. Here’s the revised version:
func respawn():
var dup = self.duplicate()
dup.global_position = init_global_position
# Duplicate also copies the velocity so zero it out here
dup.velocity = Vector2(0, 0)
get_tree().current_scene.add_child(dup)
After some limited testing, this seems to work. One good thing about this approach is that it looks like duplicate copies the script, so I no longer need to do anything special here.
So I guess the lesson here is don’t try to preload the script within itself.
π Ethical Ads
Iβm not likely going to put ads on anything, but if I was, this might be worth considering.
Via: Bluesky
Can plane sleep even be classified as sleep?
Surely it does not meet the international standard for the definition of sleep
I wasn’t a believer until it happened to me once. It was a 10 hour flight traveling from Tokyo to Melbourne (so roughly in the same time zone). Granted I was in premium economy but I managed to sleep uninterrupted from dinner until breakfast, around 7-8 hours. I’ve never achieved that before or since, but I’m glad to know it was possible.
Plenty of people taking advantage of the warm weather and low water level at Pound Bend, Warrandyte today.

“Get out more” goal for March achieved. β
Joined a bushwalking club and went for a hike in Warandyte.