David Edgar's website

Thursday, 27 March 2025

The Rhuidean episode of Wheel of Time was the only good episode of all three seasons. It was actually really good.

So I expect tonight they will reveal Aes Sedai don’t have toilets, they just go to Tel’Aran’Rhiad and shit in a corner.

Wednesday, 12 March 2025

The Five Stages Of Being A Macchiato Drinker

  1. Suprised upon first sip; they actually made a piccolo.
  2. Knowing when picking it up that it is too heavy; its a piccolo.
  3. Knowing which barista thinks a piccolo is a macchiato and going to another cafe.
  4. Carrying A8 sized infographics explaining the difference between macchiato and piccolo (and cortado).
  5. Switching to short blacks.

Sunday, 02 March 2025

Been working on the blog a bit

In between sessions of Civilisation VII I have managed to do some minor meta work on this here blog. NGL, in part because when I did post the blogging questions post, it revealed some bugs and my friend Kris was quite condescending about it.

So now I have date archives:

Also did some minor fixes to posts added via the micropub endpoint. I misunderstood the spec for the content and name properties, so was creating items without any actual body text. Whoops.

Next step, for full 2000s website-ing, a blogroll

And, as it turns out, Humankind which I didn't really enjoy at first but have figured it out and am putting hours in.

Monday, 24 February 2025

Someone mentioned Elon’s stupid email asking public servants what they had done in the previous week during a management call this morning.

So I referenced the Luigi Mangione joke: Elon asked for five bullets and Luigi said “I’m on it”.

Turns out it can be hard to tell the difference between a crowd not dangerously online who don’t get the joke, or a crowd that thinks the joke is in poor taste.

Sunday, 23 February 2025

A challenge of blog questions

My friend Kris Howard did the blog questions challenge thing. She tagged me at the end. Which is funny, because she kicked off her post with:

Blogging is back, baby!

And I wouldn't say I blogged. But sure, why not.

Why did you start blogging in the first place?

It was early 2000 and a bunch of my friends were already doing it. Sept 11 2002 is the first actual hard evidence I can find in my archives. 1740280020 to be exact. I had some kind of web presence before that. I believe I was on a free virtualhost (something called 'stibs' apparently) running a bespoke engine. That host vanished into the ether and took a bunch of data with it. Before then I had some hand-written html thing that I can barely remember but never the less makes me cringe. But that first post in my extant archives was when I bought my own domain, hosted on a service I paid for, and got enthusiastic.

I said a bunch of friends were already blogging. I met them all through a USENET group, alt.fan.eddings Actually, how about Guardians of the West as that link, endearingly still up after all these years. Not really terrifically in touch with any of them any longer. Some of them I am unsure I ever knew the names their mum knew them by. By Stuart Langridge/sil, Nicholas Avernell, Paul Freeman, Nick Boalch, and Jason Williams. There were a ton of others but time is unfriendly.

TIL I can still remember the name of the python blog engine sil created, Vellum.

I suspect I mostly got into blogging because I had been writing a cringingly bad Eddings fanfic. I'm not linking to it, but I know it is out there still. I lost patience with my inability to write an ending. So I kind of just did a smash cut ending that resolved nothing. And then I had nothing to do.

But we were all very enthusiastic. Nowadays what we were doing was referred to as Indieweb. Along with Simon Willison and Ian Hickson, sil published a spec for Pingback, which I seem to remember implementing while sitting in a school hall on a dance eisteddfod weekend, between Emily's performances. We were doing semantic web shit when semantic web was becoming a concept people recognised. I had opinions on RSS vs Atom 🙄🙄 All very idealistic. Shit went very sideways for all that exactly a year before I started avocadia.

What platform are you using to manage your blog and why did you choose it? Have you blogged on other platforms before?

Hand-rolled. This is at least my fourth hand-rolled engine now. avocadia.net started with a PHP engine. There might have been a cruder (I say that tentatively because I have recently read the copy of the engine I still have and...well, it's something) version before that. I was always evolving it though. So you couldn't really say there was a definitive break.

Before avocadia was hand-written html. After avocadia was a Ruby on Rails (not linking because fuck dhh) version. It was almost your standard second system, but the intention was to learn a web development engine that was becoming fashionable. I was building a template engine as well, ISTR, but it never really worked well. fcgi was tetchy on Dreamhost as well, and RoR really needed fcgi.

Sometime around then Twitter came out. I used to write a lot. A lot of silly ephemeral stuff. I may or may not have had a moment where I realised I didn't like what I was writing. Can't really and it's not like when I just gradually shifted to using Twitter I wrote anything better.

I tried to start again in 2012. That used Octopress and later jekyll (when it turned out Octopress 3.0 was never coming). That trundled along with posts every couple of months for a few years.

A bunch of things seemed to occur around the same time. I got interested in Event Sourcing after a couple of talks I saw a talk at Yow. One by Lee Campbell and another by Sebastian von Conrad . I started becoming much more radicalised and I hated the idea of giving my words to billionaires to use to sell ads. I was very hands off in my day job and I wanted to write code. I had stumbled across Micropub I realised I had completely lost touch with front end development.

So I started writing a headless cms based on an idea that I had worked on in a previous day job. It was going to be the means by which I had my own copy of everything I wrote. It would federate to the jekyll blog, to Twitter, to Mastodon. Bookmarks I created would be federated to Pinboard .

Turned out event sourcing is a terrible DX. Every tiny change took so much faffing about to support. Great idea for some domains; not so great for me. So I ripped it out, but actually what I really did was start a new engine from scratch and rescue anything I could from the wreck of the previous one. It still has no admin interface, so for posting purposes it remains headless. It still federates to Mastodon, because I cannot find the time to sit down and get ActivityPub to work properly. I gave up on the Rube Goldberg chain of shell commands and breathe holding for getting the jekyll blog updated, so now it also renders the posts. On the thing you are looking at now.

Simples.

How do you write your posts? For example, in a local editing tool, or in a panel/dashboard that’s part of your blog?

If it is going to be just a note that I federate out to Mastodon, I write it directly in Quill and it posts to the micropub api. Same for bookmarks.

Quill has a bug. I use a micropub extension to define exactly what types of post my system excepts and what properties each of those accepts. For the notes type it doesn't handle the photos property and doesn't allow me to add a photo to short notes. So I also have an Apple Shortcut for posting short notes with an image.

If it is going to be a longer post, like this thing, I write it in a text editor on my laptop. This is being written in Obsidian. If I want to add images to a longer post I sometimes use some scripts I wrote in Postman to upload an image and get the url back so I can use it in the post. Those scripts started life as test scripts for the micropub API and now live in a collection called 'A Terrible Client'.

If I have to edit a post because I made a typo and I just can't live with it, I use micropublish.net. I don't use it for writing, particularly not if it has images, because it does something weird with photos that I still haven't taken the time to accomodate in my micropub endpoint.

I'll almost certainly never implement the client-to-server version of ActivityPub, even if I do get server-to-server working.

When do you feel most inspired to write?

I almost never write. I start longer posts but even I become bored with myself about halfway through. I post something short intended mostly for Mastodon maybe once a week. And if I come across something written on the web that I want to bookmark, I will create a new bookmark post.

Mostly when I post a short note, it is because somebody did something awful. I am posting something sardonic, something cold and arid and sarcastic, as a defense mechanism. Venting a little bit of rage allows me to maintain the balance between wanting to go to the barricades to destroy all of these awful people and record their last words before we guillotine them, and becoming black-pilled.

Do you publish immediately after writing, or do you let it simmer a bit as a draft?

Just publish it. Nothing I write is going to be made better by waiting. If I do wait, it'll never get posted.

What’s your favorite post on your blog? (sic)

They are no longer publicly accessible on my blog. But I wrote a bunch of 300-word flashfic years ago now. I was pretty happy with them.

I pointedly don't go back to read them because I don't want to find out they were bad.

If I wrote more I'd probably have unreservedly favourite posts.

Ok, it's not entirely true. I don't have links for them all because most of them are in my twitter archive, but most years I write a note on my wedding anniversary riffing on how my wife told me she will be murdering me on our 55th anniversary. Here's this years. Anything involving Donna is pretty much my fave.

Any future plans for your blog? Maybe a redesign, a move to another platform, or adding a new feature?

Yeah, some.

I'll never put comment-support on this. I just don't want them. If I get ActivityPub working I might link back to replies, but I won't display them on this site. I did the whole comment thing in the 2000s and it was a shitshow then. I just don't see the point. I would like to support webmention though.

When I started allowing posts to be rendered on this site, I read back through a lot of them, and it turns out a lot of them are so of the moment that I haven't included any context at all. Like, what the actual fuck was this about? I want to be able to come back to these short posts in the few days afterwards and add some context to them. Just little notes, for myself only, on what I was reacting to.

My dedication to the idea ebbs and wanes with my mood. But I kind of wanted this blog to just be the publicly visible parts of a memex in which everything I read and write and consume is held. I have been on and off enamoured with the idea of digital second brains for decades now.

Perhaps more prosaically though, I would like to be better at design so I could make what you are looking at better. I'd like to rationalise the tag ontology to be more useful to me. I'd like to do things like archives and better slugs (/item/item/fucking-guid, come on, really?). I wanted to do Gopher and Gemini interfaces for the site, because it owuld be funny go hard on dead technology? Might as well throw nntp in there as well. I want to support Tim Berners-Lee's Solid project, because I really want to manage my own digital identity, not just my content. I waver on supporting AT Protocol.

And I want my writing/publishing system to support a lot more density. There's a few links in this post, that I added by hand. I think there should be a lot more. That day job CMS I started re-implementing was intended to take atomic pieces of information and use links and smart collections to build many, context-aware html-based applications. At the time it felt bigger more better than the Web CMSes we were using to do client work. It still does, but I never managed to live up to the dream.

Tuesday, 18 February 2025

Some quantum of context why I would immediately resile from LLM collaborators https://www.miriamsuzanne.com/2025/02/12/tech-ai-wtf/

https://www.theguardian.com/gnm-press-office/2025/feb/14/guardian-media-group-announces-strategic-partnership-with-openai

Subscription cancelled.

Sunday, 16 February 2025

Do they still manufacture iron lungs?

Saturday, 15 February 2025

https://www.abc.net.au/news/2025-02-05/record-numbers-of-nesting-loggerhead-turtles-mon-repos-beach/104895950

When I was growing up in Bundaberg in the 80s you could still pretty much just go down to Mon Repos and walk around amongst the turtles as they were laying and hatching. They locked that down in the 90s, I believe, because turtle numbers were dropping off.

Now record numbers 30 years later. Coincidence? 🤔

Tuesday, 11 February 2025

Civilisation VII

I have played every one of the major versions of the Civilisation series. Hours upon hours lost to a series of choices and decisions. I wouldn't be able to quantify most of them, but Civilization 5 was the one I liked the least and I put 494 hours into that. 3431 hours of my life went into Civilisation 6.

Hi, my name is David and I have a 4x problem.

Civilisation 7 was pre-released on Thursday. Given my established credentials above, you would have guessed I pre-purchased. I have finished my first run through and I have thoughts.

The big change for VII is the concept of Ages. The entire game revolves around them now, in the same way Districts were the pivot for VI. I am pretty sure that if the Ages concept wasn't the first decision Firaxis made, it was the one they tossed out all their previous plans to support. It's trite to say they just ripped off Humankind , but the trends are there and the similarities are striking.

Firaxis like to trot out Sid Meir's Rule of Thirds when their doing PR for a new version:

one-third traditional gameplay, one-third is improved from the last version, and one-third is brand new.

In a small, but-not-really way in Civilisation 7, the first Age is traditional Civilisation gameplay, the second Age is an improved version of Colonisation (albeit more focussed on the home counties still running the New World) and the metaphor/joke falls over in a heap in the third Age but I guess the way the Ages build on each other towards the ultimate victory conditions is pretty brand new.

Each of the Ages is not-quite it's own game with goals to achieve towards the ultimate game victory conditions. So much so you could actually just one Age and have, as a winner, the side that achieved the most on the victory condition being pursued. Those goals track, but morph, through a full run of the game, and in each Age are quite flavourful. For example, in the first Age the Economic victory goal is to have a set number of resource tokens allocated to your settlements. In the second Age the Economic victory is to have settlements in the New World shipping treasure fleets back to the homelands. A culture victory starts with building a number of Wonders, the second Age is earning relics from spreading a religion.

There's a pretty sharp reset at the beginning of each Age. Any units you have are all upgraded are more or less discarded and replaced with era-specific units. I'm still not quite sure how it decides what numbers to give you, if it is a specific mix and number or it is based on what you had at the end of the last era. There's two classes of city now, Cities and Towns. Cities are the first-class, can do everything settlement, Towns are more limited and act more like support. You can upgrade from a Town to a City, but again, at the start of each age, almost all your Cities are reset to Towns.

The Ages are a really interesting attempt at solving two problems: Snowballing and Late Game Grind. There's always been a snowballing problem in the game. Early success and luck for the player (or one player in a multiplayer game) begets more success because that player has more resources to get edge after edge. Firaxis has been trying to deal with that for three versions now. They've not been very successful but a reset serves as a (bit of a) rubberbanding effect, to drag the leader back to the pack. Successes in the previous Age still give you a boost for the next and if you have eaten a big chunk of another Civ's cities you definitely have an edge.

Late Game Grind is the tendency for the late game to shift from a series of interesting decisions to a series of hoops to jump through. The Ages instead give you three reasonably distinct peaks to climb throughout the game before you need to start from scratch again.

Early days and it is in pre-release so there are some ropey balance issues in the game. There are other things I am a bit more wary of. There has been the concept of a worker/builder unit in every version before now. I mean, it's the third X in '4x Game', to eXploit your territory and resources. They're gone. Instead when you grow a city, you pick a hex and lo! it is developed and worked. It takes a lot of micromanagement out of the game, I'm just not sure yet if it takes out too much. Units have been radically simplified. No more rock-paper-scissors balancing of different units being good against each other. Now just an infantry, a more expensive but tougher cavalry, a ranged, and a city-buster siege unit. And three levels of each per Age. So Level 1->Level 2->Level 3 of each class. No differentiation of boats at all. Aircraft got a third class with anti-air, anti-surface unit, and anti-city aircraft. And no promotions for units, but the Great General/Admiral concept is replaced with a Commander unit. That's the one that earns XP and levels up, and Commanders are retained between Ages. And there is an Economic victory. 😬 I've always hated it when the community tried to invent Economic victory types. If an economy is the allocation of limited resources to achieve aims and goals, then every victory type in Civilisation is an economic victory. And usually the community just created shit like 'Own all the money' or 'Own all the resource tokens'. And look, I have a half dozen pages of notes somewhere on an economic victory for Civ 6 that was basically the end of game screen in Civ 1 that showed literacy rates in your civilisation. I was always too lazy to learn enough of the Lua SDK to make it work. So I am wary of this economic victory even if I kind of think they did an interesting solution.

This isn't a review. This is just me rambling on about a new version of the game I like. So I'm not going to score it or anything. It's still a bit messy and it's different and that makes it feel a bit weird and off-putting, but I reckon I am going to get a lot of hours on this game.

Sunday, 09 February 2025

🔖 Learn Shader Programming

Fairly well explained, code-heavy description of building a shader image in GLSL, explained with an example image.

Thursday, 06 February 2025

As I wait in the car repair place for the assessor to tell me how long for the repair, I have developed a theory. Morning television shows are the result of a capitalist conspiracy to make workers regret using leave to attend to their health or other personal needs. “Oh, you want to steal office hours from me just because you’re quote-unquote ‘sick’? Ok, but here’s some Matt Shirvington to keep you company. You’ll do it in Saturday next time, won’t you?”

Monday, 03 February 2025

I said, "I'm not your manager, we're peers, so I do feel a little uncomfortable telling you how to do your job" after I suggested a thing we could be doing together and they replyied it was kind of their role.

They said "Sure, but I do appreciate your greater gravitas" and I was suddenly unsure who they were talking to, that it was the first time I've ever been accused of having gravitas, and that it seemed I had the reverse problem of all those GSVs.

So anyway, I immediately displayed my immense and formidable gravitas by editing my profile in the company Slack.

Saturday, 01 February 2025

"Hey, your feed is not right, recent posts are missing."

"huh, no, they are there in the curl output. And yeah, there in the feed reader, but out of order. I guess a publish date would help."

/me adds what he thinks is the publish date

"Ok, nope, still out of order. And apparently all published right this second."

/me fixes it properly

"Ok, yep. But feed reader is weird because of those posts 'published' five minutes ago. But real engineers test in production, right? 🫤"

Tuesday, 28 January 2025

I nearly got into an argument right before Xmas with work colleagues about Gen AI. I had made some snarky comment and got some pushback that they didn’t understand why I wouldn’t use it because it generates good code if you use it right. I ended up just ignoring the pushback and then the break helped the whole thing go away.

That meant I could avoid getting into the awkward conversation about my reasoning. Because my response would have been that whether or not it is an effective generator of good code is irrelevant to me. My distaste for LLMS are in moral and ethical grounds. The ethics of using a tool built on theft. The morality of using a tool that requires so much waste of water and power in the beginning stages of an existential crisis triggered by climate change.

There’s axiomatically no way to live a moral life in capitalism. So I don’t like to get into that with work colleagues. I’ll tease my friends about their moral failings like working for AWS, but it’s closer to sanctimonious to push that kind of position with people I only know because we have the same employer.

To some extent though I am finding myself the last couple of days wondering how, or if, Deepsink and its apparently significantly reduced impacts in training phase alter the equation for me.

Sunday, 26 January 2025

Today Sussan Ley - and really I should know better because she's nothing but a public funded performance artist/troll at this point - compared "the First Fleet to Elon Musk’s Space X seeking to reach Mars". I recall there was another allegory regarding the colonists coming to Australia. That one also involved Mars, but that one had travel going the other direction and was perhaps a little closer to the mark.

NGL I'm a little conflicted about the lack of local microbes during the actual events.

But also, gee, could you be more obsequious to the Nazi?

Saturday, 25 January 2025

What is the statute of limitations on referring to one side of your house as "So and so's side", the family who were there when you first moved in, even if they have moved out?

Friday, 24 January 2025

I try to use NATO phonetics when reading out codes to the drive through at McDonald’s. Tonight I started with ‘Bravo’, but realised I couldn’t remember what the next letter was so paused and then very sheepishly said ‘potato’.

I think I heard a giggle.

Monday, 20 January 2025

Today Paul Graham issued a plea to the MAGA party to recognise his obsequiousness in the form of an essay on how it is possible to be too anti-racist. I won’t link to it; it’s easy enough to find if you respect yourself so little. But I warn you, an extremely white man is going to tell you racism is bad but nearly as bad as anti-racists say it is.

It’s kind of astonishing both how desperate these clowns are to be allowed into the club and how they clearly believe it will last forever and their words won’t be held against them forever. And yes, and how profoundly cringe they are: https://www.theguardian.com/commentisfree/2025/jan/16/i-knew-one-day-id-have-to-watch-powerful-men-burn-the-world-down-i-just-didnt-expect-them-to-be-such-losers

Tuesday, 14 January 2025

Once is an accident, twice is coincidence, three times a pattern.

On our 5th anniversary D promised me "50 to go." clearly foreshadowing her intent to have me killed in 2063.

And now on our 17th she is telling me I need a will to make sure everything I have goes to the right place.

Chilling escalation.

Anyway, happy anniversary, D.

>