This blog supports RSS / Atom for your favourite reader.
Visit my Mastodon page for my shorter quips.
-
Square checkboxes: a Gen Z review

visionOS is the first mainstream OS to ditch square check boxes, and the nerdy part of the internet is on fire. I wanted to weigh in.
-
Ultrawide fluid typography

Graphics designers love massive landing pages and huge typography. Here’s how to ensure it’s maximally accessible to users of all screen shapes.
-
A reactive smart home

Event-based programming is known to cause obscure complications in systems design - so why do we expose it to users setting up smart homes?
-
PluginAction sucks (and how to improve it)

You’d assume that, as a plugin developer, I’ve used PluginAction a ton of times. However, they are missing a critical piece of functionality, rendering them nearly useless.
-
Meshy musings

Roblox is getting editable meshes - and that’s going to change the platform forever. Yet, after playing around with DynamicMesh/EditableMesh for a while, I have thoughts.
-
My next Roblox game

Ever since working on Agnosia and Interval, I’ve been burning to make a sequel. I could make it as a traditional game, but I’m somehow drawn to platforms like Roblox. Here’s some thoughts about how I might make it work.
-
Return to office

If RTO was about workers, remote work would be a personal or team choice.
-
math.round considered harmful

math.round(x) is the same as math.floor(x + 0.5), riiiiiiiiiiiiight?
-
Early ruminations on monorepo life

A while back, as part of some broader refactoring, I moved all of the Elttob Suite products into a single repository. Here’s my setup and how it’s working for me so far.
-
How to take your life back from Twitter

It’s been 182 days since I got so pissed off at Elon Musk that I unfollowed everyone and stopped posting regularly. Here’s what I learned about Twitter from the shifts that followed.
-
State of things (Sep 2023)

I’m unmuddling my brain by laying out the status of everything I’m working on, just before I pop out to San Francisco for a bit.
-
The next 10 years, beyond Maids

Maids have been the dominant destruction pattern in Lua(u) for a decade - but new possibilities await beyond them.
-
GitHub reactions suck

Constructive feedback is important, but it’s slipping through my fingers on GitHub.
-
A style update

I redesigned the homepage to make better use of vertical space. Also, there’s a new warmer colour palette and some subtle details added.
-
Scroll wheel UX

My Logitech MX Master 3S had bad scrolling - and it’s not just their weird clunky implementation of smooth scrolling that makes my Surface Precision Mouse weep.
-
Greedy meshing, visually

Greedy meshing blocks in a voxel game doesn’t have to be hard. Here’s a simple explanation for people who prefer seeing how the algorithm progresses.
-
UI layout hypotheses

Presented with wholly inadequate logical explanation - that is, none.
-
Solving Roblox's texel density problem

Lots of people think Roblox’s 1024× texture resolution limit is a problem.
-
Dynamic volumetrics in Roblox

For years, I’ve been looking for a cheap volumetric lighting solution. At long last, I’ve found something that doesn’t just run fast, but looks stunning and runs completely in realtime.
-
Two cyber-social freedoms

There are two cyber-social freedoms: the freedom from platforms, and the freedom from your friends’ platforms.
-
Trying out 'mass-towed-on'

I don’t like Musk, so in an act of self love, I’m gonna start peeling away from their birdsite.
-
The right way to spell math(s)

I’m not a linguist. I don’t care. Someone’s always going to call me out on this and I’m tired of wasting mental energy, so let’s solve it for the last time.
-
Better volumetric light beams

Many Roblox games use a simple Beam texture to add volumetric light beams to lights, but they only look good from the side. I improved them to look more convincing above and below, too.
-
Icon colour systems

Vanilla 3 did a lot of work on icon consistency. However, a remaining issue was that I still had no system supporting the choice of colours for icons.
-
Destruction problems in Fusion

Roblox made two frustrating API decisions that are actively hampering Fusion’s ability to provide a clean way of managing destruction.
-
UI frameworks don't serve designers

The pace of innovation in UI framework design has given an outsized advantage to those who know code. Specialist UI designers have been left in the dust.
-
Optimising SETS for Fusion

I can’t remember the last time I’ve been this pleased with an algorithm.
-
SETS: efficient topological search

I don’t know if this has algorithm has a name already, but a cursory glance at Wikipedia says no. So I’m going to call it subgraph-eliminating topological search (SETS) because I like naming things and I’m too lazy to wade through papers.
-
You don't know performance

When a measure becomes a target, it ceases to be a good measure.
-
Shipping code is fun

Yesterday I brought this blog online for the first time. Today I’ve been filling in CSS holes, fixing bugs and bringing over an old post.
-
So I have a blog now

Twitter seems to be folding in on itself at the moment; might not be a good hedge to keep all my writings on there. I do have a Medium page, but Medium is getting a bad rep due to a few questionable writers on there. So now I’m here.
-
Metatables suck.

You might observe that I try pretty hard to avoid metatables in my own code. Here's every use case I've seen for metatables and why they all suck.