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.

πŸ”— 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.

πŸ”— 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