Latest Posts (20 found)

Short Reflection on being Offline for 24 hours

There are, I think two reactions to the title of this post. One is to scoff at how short a time 24 hours really is; something barely worth mentioning. But another, perhaps less voiced reaction is to think "wow, I can't remember when I last did that..." When I last did this it was involuntary - I was living in a shack in the mountains and a sheep had chewed through the cable connecting me to the satellite dish, which was in turn connecting me to the web. And so I spent a couple of weekends net-less (with weekdays at a co-working space so I could keep in contact with my client). But I can remember kind of enjoying it, reading things I claimed I would get round to reading but never did, and thinking more deeply. "Maybe I should make it a regular thing" I thought, "just to reset things and get a new perspective...". That was some six years ago, and the most I'd managed since then is maybe an hour of self-imposed internet exile. But things have been building recently. Having a three your old who - while she does enjoy a cheeky music video or three - is nevertheless content to do things like read, draw, and play with blocks through her day made me reflect. How much was she seeing her father doom scrolling with the excuse of "I just need a break"? Why couldn't I be more like her, and how long until she was more like me? I took note of the contemporary moral panic around kids and smart phones, and I deemed it pointless if society at large was addicted; the generation who had chided us millenials for "always TXTing" on our monochrome nokias were now grey, wisened, and often more addicted to contemporary devices than we ever were. But unlike the generations before or after, I at least had partial immunity from remembering old youtube with it's amateur video content and primitive skinner box mechanisms; of having some natural resistance to the more modern and extreme developments of shorts and AI thumbnails. What hope does a child have of resisting contemporary, weapons-grade slop addiction? And so I've spent the last 24 hours cut off from the internet as an experiment. Completely self imposed - just disconnected my devices and set an alarm. Once again I read more, once again I thought more deeply, and once again I liked it. My alarm will be ringing soon and I will be lying if I said I wasn't excited to re-connect. And nor am I trying to say that the internet itself as some wholly negative thing - after all, that's where the things I read come from; the best written material the world has to offer, saved to my machine. And yet despite the incredible upside of the internet, I can't help wonder if my continued resistance against its dark side might require more drastic action. I'd already quit facebook, reddit, lobsters, HN (ok...provisionally) bluesky, several discords, and most recently I'd been off youtube entirely for days. But there's always a hook back in. "I can't quit X" I tell myself, "I've met so many great people... oh what's that, tech drama? Well they surely need to hear my opinion..." My time online draws near. The ever-full needle of stranger's opinions hovers tantalisingly over my swabbed, tensed arm. Still, I like to think I've taken the first step.

0 views

Why I think Rust is Object Oriented

Before we begin, I want to say I don't care that much if you disagree with me. There's no sound precise mathematical definition of Object Oriented, no ISO standard, and no grand arbiter who decides what is and what is not OO (although I believe Casey Muratori may have applied for that position somewhere in his 12 day monologue about the subject). You are unlikely to change my mind, and I am unlikely to change yours, and that's perfectly fine. On with the post! In my heart of hearts, Rust feels like an object oriented language. Practically everything I write in Rust is a datum + set of behaviours intimately associated therewith. I hide my struct fields, give my totally-not-objects equality semantics and string representation. I utilise polymorphism via traits - and while I know that traits are not technically interfaces, that fact occupies the same region of my brain that knows that mandrills are not technically baboons. Almost all my functionality is written in methods, and those methods belong to the data they operate on, in a way that they definitely don't in something like C or OCaml. But what about inheritance? OO-haters often fixate on this as the defining thing about objects, which has always perplexed me. I came up in the JavaMania era and "composition over inheritance" was the accepted wisdom of every programmer who took OO seriously. I scarcely used it during my time in the C# mines. Historically speaking the case is weak as well; neither the first smalltalk, nor the first simula had inheritance. Self was hugely influential (traits originated in Self) and didn't have it either. I won't deny it wasn't a common feature, but it never took center stage in my mind outside the brief "Cat inherits Mammal" phrase we all go through, and it certainly wasn't encouraged in the OO design books I read. So why the disconnect? Why does talking about this not resonate with other Rust programmers? I think because in the Rust culture, "objects" are something very different. They're virtual destructors & inheritance trees. They're a nasty thing C++ had that Rust forwent because dynamic dispatch is slow (except in Zig of course where it's fast now). Of course Rust isn't OO! But for those of us who took object-oriented design seriously, everything you read just reinforced that they're neat little black boxes you call methods on. And of those, rust is full.

0 views

The Insecure Evangelism of LLM Maximalists

I just can't help feeling these training wheels are getting in the way of my bicycle commute.

0 views

Do Files want to be Actors?

Is 1970s distributed systems theory finally meeting 2020s kernel development?

0 views

Does Supply Chain Know what a Blockchain is?

Must the gulf between supply chain professionals and software technologists remain forever vast?

0 views