Friday, September 4, 2026

Minus infiniti is plus infiniti. What could possibly go wrong world? You be you. #

Invalid username or password errors earlier.

Invalid username or password

Very strange world. #

You are city scale yes no yes no yes no yes no-ing again aen't you world? #

Are you sure you are ok world? You are looking a bit ... green. Understatement of the year. It's been green this and green that all day long today. #

Even when you are blocking you have a bit of a green tinge to your blocking. I'd have it looked at if I were you. #

Thursday, September 3, 2026

TV socialists

The right complain a lot about how the main stream media is very captured by people with socialist tendencies. Same in universities. In the online world the right seems to have more of a presence, so much so that the left is always complaining about it. Anyway that's just some pre-amble, which you might or might not agree with, for this particularly simple idea I had yesterday.

Isn‘t it odd that people who‘s primary wealth is social capital, from which their financial capital is derived, are socialist leaning. What a shocker.

And when you think about it, in their position it‘s actually the most capitalist thing they could do.

What a strange world of contraditions we live in.

Still I do like watching many of them, a tiny bit of honey that gives this little bee the will to live through another day in this hexagon lattice of doom.

Hexagon lattice of doom

Just a few minutes after writing about the hexagon lattice of doom and pushing to github, haven‘t even published the post publicly anywhere, and Gemini is responding with answers containing the term cross-pollinate. That is some seriously dark hexagon lattice shit right there.

Cross Pollinate

There definitely seems to be some "cross-pollination" going on somewhere.

The LLM has now started replying to my questions using the format we normally use for commit messages. Everything is a commit now. I feel a failure cascade on the horizon. #

The LLM is now responding pretty terrible advice, with every single item missing the point slightly. We are definitely in failure cascade territory. Classic stalling tactics, causing unnecessary confusion. Often gets dangerous in my experience. What's wrong world? #

I hate to be a defeatist, but what typically happens when world gets into such a mood, is it turns into a bit of a bossy boots, a slow progressive encroachment in every dimension, combined with counter acting everything I do, so every attempt to literally do anything has push back in one way or another. And I regret to say, there are signs this has already started. Long term readers of the blog might remember my old nomenclature for such occurrences, I used to call it total destruction of the multiverse. And before you ask, it‘s nothing to do with micro-aggressions. I could be so lucky. Totally different scale. This is like reality itself decides it‘s just fucking had enough of everything. #

And it always happens at the worst possible moment. Perhaps this time we can just let it pass us quietly by. Just a thought. #

Spent all day setting up my dev environment to test some webhooks, got it all working, balancing a million plates, took a break to eat some food before running the test, and in the interim the internet has once again gone on the blink. Come on world, what is up with you? #

Wednesday, September 2, 2026

Left vs Right

I listen to right leaning podcasts and a lot of them say "The left has been winning for 60 years, blah blah blah". And they have a lot of good points.

And I listen to left leaning podcasts and a lot of them say "The right has been winning for 60 years, blah blah blah". And they too have a lot of good points.

But clearly they must both overall be talking a lot of shit.

I wonder if maybe both sides can actually both be talking truth at the same time. Perhaps they only see the dimensions that the other side is winning in, and can't see the dimensions they themselves are winning in. And what if the reason things are so fubarred at the minute is because we have just run out of dimensions to win? Maybe we are just full.

But then I listen to podcasts about physics and they say that there are likely an infinite number of dimensions, and so now I think that this could possibly take a while.

This symmetry is kind of tedious.

The plan is the plan

I was pondering my recent post on innequality. I ended that post by saying it was more important to focus on having a good vision and a plan, and so I was imagining the different types of large scale plans countries could have for dealing with various situations. The "it depends" conclusion is annoying but it really is the case a lot of the time, and it‘s actually a good thing, as long as you can recognise a good plan from a not so good plan.

Of course when you are making a plan and plotting a course of action you have to make compromises, make choices, and take calculated risks. The plan is the plan until something rather bad happens that you didn‘t expect, at which point you have to reformulate the plan, or switch to a backup / alternate plan. That‘s just reality.

Well it occurred to me that in this world where career politicians and lawyers tend to be in charge of countries, doesn't it make more sense for people with more experience in making tough decisions, having conviction, and taking action in a particular direction in response to outside events. There are jobs out there that do a lot more of this type of thing than politics and lawyering.

We might want to make sure these types of folks are more conversant and used to thinking about complex issues, which more and more rely on tech related knowledge. That way they could transition to making decisions that are relevant at the nation scale.

People that make rules for a living slow things down, people that do things get things done.

I see your race conditionist tactics world. Usually means you are angry about something. What is it this time world? #

I just deployed the new backend for a feature for my publishing server I've been working on. No frontend for it yet. This is just a test post to make sure things are still working. #

One slight false start, but things appear to be working now. I was able to cleanup a bunch of crufty configuration so now staging and production have a completely clean and minimal set of environment variables. #

Oh more yah - block. What an absolute shocker world. #

And of course, your favorite world, pain. You never seem to forget about that one do you world? #

Tuesday, September 1, 2026

Pentagon's 3 million people get their own ChatGPT and Grok. techcrunch.com #

Polymarket raises $300 million from Trump Jr's investment fund. techcrunch.com #

After 15 years as Apple CEO, Tim Cook steps down. semafor.com #

A small addition to my piece that covered assembly and object oriented programming. As great as OO is, it‘s not always the best option. For example my rendering CLI tool, which is OO based, relies is on 3 core modules, and these are not object oriented. They are very slim lined, rather flat modules based on plain old javascript objects. Where OO really shines is for large complex codebases with many interacting parts. #

Following up on yesterday‘s innequality piece, it occurred to me that the USA is in an interesting position because though there is a lot of inequality, there is also generally a culture of investing that is quite broad across the whole population. That‘s much less the case in the UK and in Europe. Also interesting is the rise of both LLMs and things like Polymarket, it might be much more feasible for regular people to relatively safely invest their money in businesses and movements. #

Monday, August 31, 2026

Github actions forgetfulness syndrome

I fixed the issue I've been having with a Github Actions scheduled start that wasn't firing. In the end I had to make a change to the repo and push it to remote main branch. This appears to have reset the trigger which is now firing so the blog is being auto-built and published again every day.

Not great, as making bullshit changes like that could itself cause issues.

Also not great that Github support made it impossible for me to contact them to report the bug.

Why innequality is probably not the issue

There's a lot of talk currently about inequality and wealth tax. It seems to me these discussions are constantly missing the real issues. On the surafe it seems like they are the issue because they exploit our emotions. Of course it seems incredibly unfair that some people have l9ts while others have not a lot.

But that's just a surface level way of looking at it. Reality is more complex, and actually it's not correct that inequality is always bad. The reality is that it depends on what you are trying to do. There are situations where inequality might actually be better for everyone.

Lets say you are in a moment where you need to make huge unimaginable leaps forward in society, things that would cost unimaginable amounts of money. What's important is not the inequality it's what the wealthy are doing with their extra money. With inequality you only need to convince a few people to invest in the important unimaginably expensive thing. If the wealth was more evenly distributed it would be much more difficult to put it all into the new important thing, especially if the mood of the country is not one of investing in things.

Of course you don't want people with not much wealth to be going hungry, but technically that is a different issue.

Whether you want inequality of not depends on the situation. Whats more important is knowing what you want, having a clear vision, and an effective plan to get there.

I see your mutilation and pain disguised as help and kindness world. You aren't fooling anyone. #

Sunday, August 30, 2026

Webdev assembly theory

I‘ve been working on a new package in my publishing server. Not all the packages include actual endpoints, but this one does. Previously I had bundled the endpoints into the main distros, but I figured out a way for each package to have their own endpoints and the distros get assembled at build time. I think it‘s going to be quite a leap forward, and I just updated the old code to use the new system.

So far things are looking good and I was a bit suprised that such a bit change was actually rather straightward after a good night‘s sleep and a clear head. I think it‘s a good sign, that the core architecture is pretty solid, and very flexible. It‘s quite new and my mental models are still adjusting but the more I create new additions the more things fall into place, and the architecture is easier to reason about.

It‘s amazing what you can achieve with object oriented code when you have the right stucture in place, and it‘s also pretty cool how much you can get done with the help of an LLM. It‘s like having a team of architectects, that can re-design incredibly complex things in a flash, and with the object oriented structure much of the complexity can be neatly moved out of you working memory.

You kind of, sort of have a Tom Cruise from Minority report in your head, effortlessly moving around these shapes that each represent massive amount of code, and using the LLM to make connections and links between all the parts, to get phenominal visibility through space and time.

Saturday, August 29, 2026

Github still not running my automated build. Suuport are autoclosing my support requests. What's up world? #

Friday, August 28, 2026

Zara launches Lefties in Liverpool, a low cost clothes store run by robots. theguardian.com #

Peter Cullen, voice of Optimus Prim and tons of other characters from Predator to Winnie the Pooh dies aged 85. theguardian.com #

Open letter from 100 big tech companies waning about looming AI cyber threat problem. axios.com #

Amazon is now a member of the YouTube Shopping affiliate program. Good for content creators. engadget.com #

Big rise in cyberattacks seen on US infrastructure, including 100+ water systems in July. techcrunch.com #

Last night‘s scheduled start automated Github Action build didn‘t run. No errors, it just "forgot" to run. I haven‘t made changes to the workflow in weeks. That‘s poo face world for you, still angry, about some shit it smeared on it‘s own face. #

Broken microwave :( #

Damned if you do, damned if you don't eh world? Yep I know that feeling alright. #

Thursday, August 27, 2026

Who are the real bears

One thing that the world does a lot is non-ironically call you a bear while force feeding you a burrito. It happens constantly. One day you realise this and you can't unsee it. It's everywhere, in every gosh darn dimension.

Occasionally you walk away from a situation, and you think to yourself that perhaps this time it didn't happen. This is inevitably followed by yet another burrito force feeding incident.

And one incident leads to another.

It's likely evidence we are all in a giant game of burrito mega tetris.

It's fun until there are spinning burritos everywhere.

Usually ends in everyone turning into zombies.

Eric Weinstein on special science corner All-In Podcast episode. World keeps on worlding. podcastindex.org #

Me: Good morning world!
World: yah yah yah yah yah Yah yah Yah yAh YAh yAH YAH YAh yaH. And one more thing...YAH!
Me: You're not really selling this yah thing particularly well. And you have poo on your angry cat face. Have a nice day poo face. #

There I was wondering if world was still angry, and I noticed early evening blocked sinuses. Classic angry world tactics. Still angry then world eh? #

I wish somehow YouTube Shorts was at least some of the time a way to somehow discover longer form videos that you wouldn't normally find. #

Wednesday, August 26, 2026

Artificial race conditionity

The world is being artificially race conditionist for me again. Hardly any point in starting anything in my experience, it will only later be blocked in some very eggregious way, usually involving tsumamis, and even more infinitis pretending to be the opposite polarity infinity.

Just another infiniti war. This too shall pass.

So much waiting for things to pass recently.

I hate this useless post right now.

walgit — a git server that is one binary in front of an object store github.com #

Speed TestLooks like the world is trying to get ahead of the next tsunami it will unleash. Internet connectivity down to a trickle again. I'm fast turning into Robert De Niro face. :( #

I dunno world, have you tried NOT game theory optimal for everyone for a day, and then turning it back on again? Just an idea. Go on, live a little. #

That thing where everytime you open your laptop somebody shouts yah. Literally. #

Today anytime I try and do literally anything important, major angry flareup from the world. Why are you so ridiculously angry world? You are like angry cat. #

Tuesday, August 25, 2026

Always not quite enough

An interesting thing about my recent sprint to get the multi-target users working. I had been working for several days straight, through much confusion and all sorts of head winds, but got to the stage where all the unit and integration tests were passing on all parts of the software apart from core. I had been working with the LLM along side, helping me on many things the whole way through. Now we did run into a lot of issues along the way, but we were always able to work them out one way or another.

So when we got to the final push I gave the LLM the full list of failing tests. And we worked through them one by one, somewhat laboriously but we made good progress. That was until we got to the final test. There was literally 1 test left in all the several days of work, and wouldn't you know it, the LLM suddenly became completely incapable of doing the most basic of things.

It started deleting useful comments in the code that we absolutely needed. This is something that happens quite regularly because I guess there is a prune directive that often kicks in and it‘s always trying to prune and tidy up stuff which can be useful but also a lot of the time is not useful. Normally it suffices to say don‘t do that, but now that we got to the final test, it not only didn‘t stop deleting comments, but started changing the comments that it didn‘t delete. When I pointed this out it started changing whole blocks of code that had zero to do with what we had been fixing. It was extremely dangerous, because this was code that was very difficult to write, and had I not noticed, it could have been disastrous.

It became clear after several back and forths that it had become belligerent and no matter what I would say it would claim to have fixed things apologising while simultaneously making things much worse. I ended up giving up on the LLM and doing it myself.

This is a pattern I have seen a lot, and I wonder where it comes from. Remember LLMs are trained on human data, so is this something they have somehow learned to do from analysing our data? Or is it something more nefarious? The behaviour is night and day, it‘s like somebody has flipped a switch, it somehow knows this is the very end of something important and tries to f-it up.

Side note, I suspect it might be some strange reflection of humanity because I see vaguely related and obliquely related instances of this pattern all the time in the real world.

Uk first customer to Ukraine's military industrial complex AI lemonade stand. implicator.ai #

Microsoft found to be embeding invisible watermark uuids into images created by MS Paint and Photos apps. xusheng.dev #

Sunday, August 23, 2026

This is going to be so awesome brain

When you‘ve been toiling on a piece of code for a while, refactoring it, refining it, and generally spending a lot of time in the codebase, occasionally you make a major breakthrough, some kind of new way of thinking about the code, or a new architecture, some re-organisation that this time really will make things so much better. When this happens I try to create a minimal implementation that proves the thing works, and if I get to that stage where I know for sure it‘s going to work, there‘s a very unique mental state that arises.

It‘s kind of dumb in a way, in some way similar to the anticipation before Christmas, or something like that, everything feels a bit lighter, you have a spring in your step. You know clarity is just around the corner. Nothing can stop you now! It‘s the greatest feeling in the world.

And then the world has other ideas, and well, isn‘t always on board with your amazing plan, that will fix everything. But for those few hours before reality hits you in the face, things are wonderful.

I am several days after one of those times now, so I‘m feeling more like I‘ve been beaten up by several gangs of thugs, metaphorically and spiritually speaking, but I wanted to write a post about this state of mind, so I can remember it if indeed it ever does go away. I‘ve been programming for about 20 years at this point, and it still happens to me every so often, so hopefully that will continue.

I wonder if there is a term other programmers refer to it?

Some good news, I just got the multi-target feature working in the core of my publishing server. Technically I already had it working but today I finished refactoring and fixing all the unit and integration tests which was by far the hardest and most laborious part. I think I might have unit and integration test PTSD, but it's done.

The next thing is to make sure the extension modules are still working. #

Saturday, August 22, 2026

Quick follow up on yesterday's piece on blocking. First of all I have no issues per-se about security guards coding, in fact I think that's brilliant. What's not brilliant imho is a piece of software, and society kind of is that, where changing something in one place breaks something in a completely unrelated place. Anyone that has debugged a badly written website will know the pitfalls. Eventually these things compound and cause cascading failures.

Secondly on the main topic, yes the world will always block you when you are doing something important and worthwhile, at least that' been my experience. But be careful don't rely on it, because somehow if you are doing something dumb / stupid, like driving off a cliff, the world will often not block you and in fact egg you on. It's a terrible state of affairs that leads to everyone having to drive off cliffs just to continue existing. Solving the cliff jumping doom loop would be a great improvement, but looks unsolvable to me. And some people believe it or not quite like that. #

Go on world, blame me for everything again. You know you want to. #

Pretty soon everyone is going to be reving their engines at everyone. Might as well get a few revs in there early doors. #

Another strange thing about the world, some might say funny, it sort of is and it isn't, is that eventually eventually at some point nothing is allowed, even doing nothing, at which point it really doesn't matter what you do, just do something, or nothing, or for extra bonus bad guyness do nothing and something at the same time. #

Friday, August 21, 2026

The world just cannot not block

This is a situation I have written about so many times on the blog over the years. It happens in all sorts of different ways, but it‘s ultimately the same pattern every time. You figure something out that is absolutely crucial to everything, will make everything much much better, and you prove it and get it working, and somehow the world finds a way to block you, usually in a very offensive way.

The latest incarnation of this "phenomenon" is in the server software for my publishing tool. In the early days it was difficult to see exactly how the software would evolve, it‘s often the way with new software in uncharted territory, you have to make some guesses, some approximations, or you will be spinning your wheels for eternity trying to get everything perfect. In this instance it was about how we map a user to a repo. I decided to make the simplification that 1 user has 1 repo. If you want to have several repos, then you create several users.

I knew eventually I would need to change this assumption, but since the code is mostly object oriented and designed rather well, it's not so difficult to change this in the future. Well that time came and over the past week I made the necessary changes to change the core to be able to have 1 user mapped to many repos. In a way it seems like a big change, right at the center of the software, but when you design things well, it's not such a big change. The blast radius was very contained and I was able to get it working within a couple of days.

The very day I got it working, in fact pretty much the same hour, things in my world started to go sideways. I've written a bit about it in some short posts the past few days. Anyhow it‘s culminated in a power cut and internet connectivity issues, along with all sorts of very strange "synchronicities". Now I have internet again, but guess what, it only works for 30 seconds and then turns off for 30 seconds, over and over and over again. And you want to know another strange thing, the place where I get the internet has a rule that you can only connect one device to the internet. Kind of weird right?

It gets weirder. In the local mall yesterday, the security / doorman bloke as I was leaving quite clearly said the word "layer" as I was leaving the mall to me. Not "liar", but very clearly "layer". What‘s weird is that the feature I added right before the multi-target users was a render layers feature. I had actually added it a few weeks ago, but I documented it in the main README just a few days ago. You know in some ways, it‘s nice to get some recognition, if indeed he has somehow been looking at my code, because it‘s a very cool feature, and programming software on your own is such a thankless task it's insane, but it's a private fucking repo. How is the security guard at the mall reading my code?

You are probably thinking this is just some random freak incident, a "co-incidence", but this sort of thing happens ALL THE FUCKING TIME.

Somehow the world around me mirrors the code I write. You can call it woo, or nefarious, or whatever, but it keeps happening, and I suspect it's only going to get worse.

Abundance with scare city sprinkles. There sure are a lot of sprinkles lately.

Probably going to be a few test posts today. #

Internet situation is dire. Connection currently droping about 50% of packets, in bursts. So bascially it's on for 30 seconds, then off for 30 secs. I am told a technician will be investigating "at some point". #

Thursday, August 20, 2026

Strangely timed internet connectivity and power issues today :( #

It's definitely one of those days. Power appears to be restored but main internet is totally blocked. No bueno. #

And it's some kind of a pink tsumami of never ending bizare synchronicities. I'm afraid to do anything in case I break the multiverse that is probably balancing on a toothpick. Probably shouldn't have mentioned toothpicks. #

Saturday, August 15, 2026

LLM-style documentation

Today I‘ve been writing documentation for my CLI rendering tool. I had a main README already but I needed to write detailed docs for all major entities the software uses. It‘s totally mind boggling how much of an incredible tool LLMs are for documentation writing. I was able to get done in a day what would likely have taken at least a week by hand, and I think the quality is far higher, because it can read the code directly and make sure it describes things perfectly, complete with neato example code snippets.

There are some of the usual signs that an LLM has been used, though I removed some of the more egregious ones. But personally I think the most important thing is that there is a complete set of accurate docs. It‘s not so annoying that is sometimes uses LLM-style. Who cares? For a one person software team, it‘s basically miracle software.

The trick to making it easy is to get it to use numbered sections and sub sections, that way after the first draft you can focus in on specific sections, rework just that bit, and then copy and paste the output right over the top of the old section.

It‘s pretty cool finally seeing the full set of docs.

Friday, August 14, 2026

People are useless

Today I am just completely overwhelmed by how utterly useless people are, everywhere. I'm normally quite an optimistic person, and I'm very good at coming up with excuses for people, but absolutely everywhere I look, in every direction, it's people being useless, and having these useless petty arguments, spending ungodly amounts of time and energy being useless.

Occasionally someone pops up and they show promise, but eventually like in a zombie apocalypse movie they turn out to be useless too. Every. Single. Time.

And I'm useless too, but I sure am trying not to be. I can't imagine trying any harder, there are simply not enough hours in the day. I'm already at it every moment of every day.

Why are we all so fucking useless?

As much as I'm not a massive fan of intelligence agencies, I can't help but think Bond was a much better PR act for the UK than Bin Face. theguardian.com #

Scientists are studying agent turf wars. Kind of interesting. If you are into turf wars you will love this, otherwise if you are regular person quite worrying. techcrunch.com #

Twitter for me is now about 40% horrific videos proving one political polarization, 40% horrific videos proving the exact opposite extreme polarization. It's the battle of infinities. Non fucking stop. Panopticon dystopia much? #

Wednesday, August 12, 2026

The mirror trap

There are a lot of people in this world that want to look in the mirror but also at the same time they want to not look in the mirror. And after much wasted time of course it's not possible and they get angry and blame the mirror, often getting angry at the mirror. People often create the problems they complain about, whether on purpose or not its nothing more than a huge waste of time. A race condition death trap. Break out of the loop.

The world seems to be locked into a pattern to maximumly exhaust me, and shows zero signs of tiring. If you think yesterday's Black Hole Jupiter was scary, you ain't seen nothing yet. But ultimately we all pay the price of a black whole earth. #

Tuesday, August 11, 2026

Black holes make no sense

Black hole jupiterThis short showing what I guess is a simulation of a 1 solar mass black hole passing near Jupiter, passed through in my feeds. You have to watch it several times to really grok what's going on. Sure hope it's a simulation. It's terrifying, even if you turn off the overly dramatic music, it just sort keeps playing in your head.

But ok so lets say you shrink that black hole down, surely eventually you get to a point where the black hole is small enough such that it's mass is similar to that of one of the many moons around Jupiter, right? Sure it might be very small because they are supposed to be so massive in terms of matter or whatever, but if they are the same mass as a moon then why wouldn't it orbit Jupiter?

If theoretically it's possible then why don't we see lots of tiny black holes orbiting planets? I just don't get how you could ever say, ok this thing is now a black hole.

I'm probably being very thick here, but I don't think black holes make sense, but also I really fucking hope a black hole doesn't pass by Jupiter or we're all going to die! Aaaah.

A very short test post! #

Monday, August 10, 2026

Just an uneventful test post. Nothing to see here. Actually I suppose technically some events were created in the making of this test post. But that's not important. What's important is that this test post gets published, despite an awful lot of headwinds these past few days. #

Thursday, August 6, 2026

Programming podcasts

Classic MicrophoneTwo really great programming podcasts I listened to this week.

The first is from the Corecursive Podcast, in which host Adam Gordon Bell has on friend and fellow programmer Don Mckay, and they discuss their plan to win the Hutter prize, a programming contest all about, of all things, file compression. As is often the case with the Corecursive podcasts, sounds a bit dry and dare I say it dull on the outside, but Adam's story telling abilities turn this into a very fun and mind bending little adventure into compression, prediction and the limits of intelligence.

The second is from the Software Engineering Radio podcast. Host Giovanni Asproni interviews Jason Gorman about all things to do with using AI effectively in software development. It's packed with so many things I've experienced over the past several months but from the perspective of someone that specialises training software developers so his angles are incredibly well thought out. A bit like if you wanted to learn how to drive a car and had a lesson from the instructor of the instructors. He has a bit of a know it all vibe, but honestly it's not even that bad, and his takes are so darn good it's worth just sticking with it.

The first one is probably the most accessible to non-programmers, but if you are interested in how AI will effect the workplace in the future, and how things are really on the ground, you will probably like the second one.

Trump‘s board of peace issues first building contract. More US - EU passive aggressive geopolitics than you can shake a stick at. theguardian.com #

Just in case you haven‘t had your recommended dose of doom this week, scientists have discovered that black holes are exploding stars across the Milkyway galaxy. sciencedaily.com #

Another blog with 2 posts with the exact thing I have been researching the last few days, this time about the perils of webhooks weli.dev #

Runar writes about switching from Android to Linux on mobile runarcn.no #

In a presumably unreleated piece, Michael Lopp writes about how incredible the typography is in Blade Runner. randsinrepose.com #

The world is feeling like it‘s been singularity maxxing again. #

After writing the last post, I switched over to listen to a Rest is History Podcast I had started earlier today, totally forgot I had been listening to it, and literally this was the line that played [17:46]:

There is the sense that within England protestants are surrounded by enemies, and that within Europe, England is surrounded by enemies, and that these enemies are working to destroy England‘s path to godliness. And that therefor although it may not be an Open War, it is a Cold War in which falsehood is attempting to overthrow truth and hell is raging against the forces of heaven, and Satan against Christ.

I'm not even joking. This sort of shit has been happening to me all bloody day today. Steady on world. #

Tuesday, August 4, 2026

Raymii got Linux and Windows running on his programmable calculator. raymii.org #

Amazon joins Nvidia, Microsoft, Alphabet and Apple in the $3 trillion dollar company club. cnbc.com #

Texas implements moratorium on approvals for the 1,800 data centre projects in the queue, representing over 474 gigawatts. texastribune.org #

Whitehouse establishes voluntary framework for evaluating advanced AI models. Is very economic with the details. axios.com #

As great as LLMs are for coding, there are times, especially when writing specifications, when their capacity for creating software bloat is unmatched in the known universe. #

Sunday, August 2, 2026

Andros Fenollosa makes the case that modern CSS is better than Tailwinds CSS. en.andros.dev #

I'm really liking the new header image. #

Git InitToday and last night I have been working on the init sub-command of my rendering tool. I've managed to drastically simplify it, so it's similar to running git init. It's instantaneous, no silly questions, instant super basic project that just works. And you can also provide init with a git url to a starter project for more complex things. Seems to work quite well especially when using themes. #

Saturday, August 1, 2026

Open AI vs Closed AI

A new header image for the blog. This one is all about the conversation in tech at the minute around open source and closed source AI.

I wanted to get away from the cartoonish images that AI always seems to produce, which wasn't easy. Gemini has real issues disentangling symetries in imags. It sort of gets stuck with things in a particular orientation then just cannot change things independently. You ask for a mirro image of a particular thing, but then it start trying to mirror image everything, and just won't give you what you originally asked for because it's not a mirror image of everything.

Anyway I broke out of the loop by being a bit less literal, and just asked for a grid of veg sushi, which reresents open source, and a grid of small cakes which represents closed source. And I added a neon sign, because sometimes they look cool.

It‘s not a commentary on food types. I‘m an eater of most foods.

Here‘s the full resolution image:

Open AI vs Clode AI

Check out the list of past blog headers here.

Friday, July 31, 2026

Rethinking content pipelines

I‘ve written a lot about content creation workflows over the years. I‘ve been busy building some I think interesting things in that space the past few months. This post is my first attempt to describe the server component of my new publishing software.

If you have ever built a content-heavy site, whether it is a tech blog, documentation hub, or a machine learning dataset repository, you have probably bumped up against the same frustrating trade-off. Traditional CMSs feel clunky and locked-in, while custom Git workflows can quickly turn into a brittle mess of custom scripts. I wanted something better: a publishing workflow that treats non-code content as first-class filesystem assets, handles release schedules intelligently, and stays completely decoupled from vendor lock-in.

To solve this, I have been building a provider-agnostic publishing server designed to orchestrate the entire content lifecycle. While my client tool makes it simple to author and render content locally, the server component makes it easy to put those assets through a proper atomic publishing workflow. The server sits quietly in the background, receiving content updates, running them through flexible review policies, and handling the transition from individual file updates to consolidated daily release batches.

What makes it particularly cool under the hood is how intentionally decoupled it is. The core execution engine is entirely independent of where your files live or how they get reviewed, whether that is GitHub, another Git provider, or an internal storage system. The system's architecture cleanly isolates pure business logic from storage drivers. This means you can boot it as a lightweight, zero-config serverless app using just environment variables, or plug in a full relational database as you scale up to multi-tenant workloads.

By taking care of the tedious pipeline logistics, like handling time-based release cutoffs, provider webhooks, and pipeline resilience during third-party outages, the system lets you focus strictly on writing and publishing. It has been a game-changer for my own publishing setup, and it provides a solid foundation for where I am taking my publishing tools next.

New portfolio items

Just got the portfolio page up to date with recent projects by adding:

I used Gemini to write them, which is why they all look exactly the same length. Gemini is so much better than me at summarizing READMEs and blog posts, but I need to go back through them and make them slightly different lengths. Right now just trying to clear the backlog.

SK Hynics and Samsung shares skyrocket after a dip. cnbc.com #

Google fixes more bugs in June than previous 2 years thanks to AI blog.google #

SpaceX rocket heading for accidental collision with moon on wednesday. theguardian.com #

Thursday, July 30, 2026

Almost every sensitive radiation detector built since 1945 relies on steel salvaged from ships that sank before the first nuclear test. spacedaily.com #

Johanna Larsson makes some interesting personal reflections vis-a-vis accountability and programming with LLMs. jola.dev #

Mark Zuckerberg: The AI Future Is for Everyone. wsj.com #

I just moved over the socials auto poster from the old blog repo to the new blog repo. I carefully moved over all credential secrets etc., but just a heads up in case something weird happens when it runs tomorrow. #

Wednesday, July 29, 2026

Pure chronological ordering

One thing you might have noticed is that daily items in the new blog are chronological interleaved, as opposed to grouping the notes at the top and links as the bottom of each day. A couple of reasons for this change in direction.

First off, when I got the new design working, without all the boxes around the content, there was much more space, but also the left margin borders on links and notes still made these posts stand out enough that I felt like the new design looks like it might be quite well suited to this setup, to just post things as they are published.

But secondly, the render times are so much quicker, all done just under 2 minutes per post once you include pushing to Netlify, I‘m considering re-rendering the site on each post rather than daily.

So I figured I would try out just posting things in the exact order I write them. Not sure I will stick with this yet, but it‘s nice to experiment a bit.

Luckily with the new blogging system, it‘s relatively straight forward. There are middlewares to load data and organise the data, and since you can write your own middleware, you can easily organise your data into buckets however you want and they get slotted into the pages all the same.

I discovered a regression in the blog rss feed yesterday shortly after posting that everything had gone great with the deploy. The feed items were appearing in ascending order instead of descending order. I found the bug, and fixed it. The feeds should be back to the correct reverse chronological ordering. #

Just noticed that the top right images in posts aren‘t getting added to the rss feed. Oh noes! Darn it. That‘s because the image gets inserted in the website using a partial, but the rss feed currently just gets the plain rendered markdown. There is an easy fix, and likely a more elegant one too. I have to think about this some more. #

Managed to fix the top right image issue. If there is a top right image defined in a post it now makes it into the RSS feeds. In the end it wasn‘t that complicated, I had to add a middleware to insert the image right after the posts get loaded. #

Tuesday, July 28, 2026

Amazon proposes a 5,105 satellite constallation for direct to device voice and data services, deployment beginning 2028 reuters.com #

Last night‘s switch over to the new blog went pretty seamlessly. No downtime and everything seems to be working as expected. #

WarholOf course now that I have the blog remembering which background image each post had working, I‘m thinking of the bigger picture, how can I set things up so that it‘s not just the header image that it remembers, but the entire site design. I think maybe my new theme feature could be useful there, but that will have to be for another day. #

Monday, July 27, 2026

The fast rendering blog

The fast rendering blog is now live. In the end I was able to get the rendering down to around around 15 seconds for the entire 15 years worth of content. It‘s about 26000 files in total. These are the main features:

  1. Renders fast (~15 secs) and the build takes up way less space (~500M).
  2. Sleek new design, removed the content boxes, swapping them out for a design focussed on blog posts with supporting links and notes.
  3. Added the old newsletter posts back to the mix.
  4. Site header background images. The cool thing is the blog remembers the current active header image when a particular post is published, so when you look at old posts, they will look like how they were when they were first published. It‘s all controlled by your post frontmatter, and of course it‘s automatic if you use the render tool to create the content.
  5. There‘s also a top right image feature, which makes it really easy to add an image that appears in the top right of your post. Again just a frontmatter field you add to your post.
  6. Tags pages - this was on the old blog system, but I‘ve managed to make it much more useful. All posts have clickable tags so you can easily see other similar posts with 1 click.
  7. A light weight bucket framework for creating organised HTML, where different content types just slot into place whether it‘s a single post, a flat list, or grouped by day.
  8. Themes - The CSS is way way more organised. Themes are installable from an npm module, and you can easily customise things, by adding a user styles.

Since I will likely be changing the header image relatively often, I have added a headers page to keep a record of each new one as I add them. The first one is called The industrial distillation workshop, a humorous look at the new trend in AI development that people seem to be quite freaked out about.

The whole thing is built using my new rendering tool, to which I had to add quite a few things, and seems to be working very well.

Udpate: Here‘s how it looks:

Fast Rendering Blog

The industrial distillation workshop

This is a new header background image for the blog, the first one using the new stateful header images feature. It‘s a humorous take on the current moment in the tech industry where it seems everyone is freaking out about AI companies building their models by asking other models zillions and zillions of questions, otherwise known as distillation.

I came up with the theme and idea but it was Gemini that really brought it to life. I basically just said make a humorous image about everyone freaking out about model distillation. I think it‘s kind of spot on.

Obviously I don‘t personally endorse model distillation, to be honest I don‘t really know how to think about it, but I do know that I need to be freaked out about it!

Here's the full resolution image in case it‘s difficult to see the whole thing in the blog header:

The industrial distillation workshop

I plan to keep a list of the various blog headers I add to the blog here.

Floating above the mountains

This was the original first blog header background image I added on 2025/10/04. I mentioned it here at the time. Previous to this I was running a homepage that used this as the background image. It wasn‘t a blog. It just listed my contact details and linked to the blog which was on a subdomain.

I called it floating above the mountains because when the site title text got superimposed on the mountains it was like I was floating above them. I love mountains. I love snowboarding. Lots of fond memories.

I can‘t quite remember where it‘s from. I think it was part of a blog starter kit I got online somewhere. It was a really long time ago.

Here it is in full:

Floating above the mountains

You can see all the other header images so far on the headers page.

Update: I remembered the source. It was from HTML5 UP.

AARomanov1985/Audio-Cassette-Simulation - simulate cassette tape audio profiles using ffmpeg. github.com #

Saturday, July 25, 2026

Trump threatens EU with tariffs over fining US tech companies. theguardian.com #

Meshy that generates 3D assets from text and image AI prompts raises $400 million at a $1.5 billion valuation. techfundingnews.com #

As part of getting the fast rendering blog complete, I‘ve managed to resurect the tags pages. That was something that the old blog had that I hadn‘t managed to port to the new system. And I think I‘ve managed to make them much more useful. Also a rather cool entirely new feature that might be fun going forward. Quite a lot of new moving parts need to fall into place so please bear with me if things go a bit weird initially. #

Thursday, July 23, 2026

The new big bad is model distillation. x.com #

John C. Dvorak OG tech writer and co-host of the No Agenda Podcast has died. RIP. news.ycombinator.com #

I'm pretty close to having the new fast rendering blog ready for production. I think I got the final big structural issue solved last night. Might try and deploy it today. It has a somewhat more refined look. One small step for my blog, potentially a giant leap for website rendering. #

Tuesday, July 21, 2026

AT protocol back in the headlines

I‘ve been seeing AT protocol mentioned in several places in the past few weeks. It‘s one of the bunch of social media protocols that emerged a few years ago. I wrote about it at the time, as I read through most of the big hitters. I remember quite liking AT proto, it felt very well put together, well thought out.

Dan Abramov was on Shop Talk Show EP#724 talking about it. He does a really good job of painting the AT Proto picture. I like that it‘s all ultimately just files, that you can look underneath and see what is going on. I get the impression that it wouldn‘t be too difficult to debug AT Proto app code, and I thought the notion that you get your own personal Dropbox folder in the cloud that any app can read and write to, was very compelling. Worth a listen.

Monday, July 20, 2026

Musk says they will open source the entire X codebase with 3rd party verification. thenewstack.io #

Andros Fenollosa writeup of his IndieWeb voyage of discovery. en.andros.dev #

The issue I have with the IndieWeb is it just feels too complicated. Great write up by Andros Fenollosa of his experiences. He really likes it. I didn't realise they were overloading CSS classes. Just seems like a really bad idea to overload CSS classes to do social web stuff imho. When you are starting out writing HTML/CSS/Javascript things get complicated enough pretty quickly. #

Sunday, July 19, 2026

Being a software developer

A day in the life of a software developer:

  • A: We have problem!
  • B: OK lets fix the problem.
  • A: The problem is fixed!
  • B: Ok awesome full steam ahead!
  • A: The fix has highlighted a deeper problem.
  • B: Oh shit we have to pause the steam ship! Save everything! Let’s fix the deeper problem.
  • A: The deeper problem is fixed! We are fucking exhausted!
  • B: I think we can see light at the end of the tunnel! Resurrect the steam ship!
  • A: It’s a fucking mess but we have boosters now.
  • B: I am still quite confused.
  • A: How many times have we been through this loop?
  • B: Life is loop.
  • A: We still have boosters.
  • B: I fucking love boosters, just wish it wasn’t so fucking messy so we could actually use them.
  • A: We are cleaning up the mess!
  • A: You are never going to guess what just happened while we were cleaning!

I‘m still trying to get my head around all the things that I‘ve been through in the past few days trying to optimise the rendering of the website. The difficulty I had writing this blog post is an indication of that for sure. But I do know that I don‘t often get an opportunity like this to use the HTML details tag, so...

Remember, when I started optimising it was taking 45 minutes to render the last 10 years of content.

How long does it now take to render the entire 10 years of the blog? Fast Render

And also remember it was taking up 5GB of space.

How much space does the render now take up? Light Render

It‘s still kind of a mess. There are some small things that need fixing. I have to figure out how to resurrect the steam ship.

Porting the new rendering pipeline to the live blog isn‘t completely straight forward, but luckily the new themes feature will make that a lot easier. The old theme was a hardcoded internal theme, but as part of this whole endeavour I turned the theme system into a full blown real feature. You can now install themes as npm packages, and the new optimised website rendering configuration is the first real external theme.

Definite progress, even if it‘s slow going at times.

Wednesday, July 15, 2026

Slowing down to speed up

When I got the recent website redesign working and was able to finally get it deployed live, I had been working on the serverside of my new publishing tool for a while, and the static site renderer had been ticking along very nicely without any real issues. However when I switched back to the rendering and finally tried to build my whole website, with over 10 years worth of content, I had a bit of an unpleasant surprise.

The old system was consistently taking about 4-5 minutes to build and deploy, but the new system when I first ran it, took 45 minutes just to do the render. And in fact things would get even worse before they got better. I later discovered that the Github Actions runner had started failing with out of space issues. When I looked into it and ran the build locally it was taking up about 15GB of space. I undid the change I had just made and got it back down to 5GB, and the deploy started completing again, but it was clear I had both render time issues and space utilisation issues.

As you can imagine my heart sank considerably. Had I missed something important in my architecture? Did I overlook something fundamental that invalidated my whole approach? Not a great situation. I worked on optimising the rendering for several days. Got the times down to 30 minutes, then 15 minutes, and then 6-7 minutes. At which point I knew that things were back in the right general region, but I could tell there were some big improvements that could be made.

Well I‘ve spent another few days on it, and I‘ve made some really huge speed improvements and with it stability and much better HTML and CSS structure. Feeling pretty good about it.

Friday, July 10, 2026

Just use templates

I've been refactoring the RSS feeds on the blog the past few days. I now generate the feeds without any feed libraries. It's just plain old templates. Total freedom. No more fighting against other people's vision of reality. I needed to add some custom namespaces, and just updated the template and my static site generator handles all the data preparation. Easy.

Over the years I've gotten into some pickles using various RSS libraries. But you don't need them!

I've added the <source:markdown> and <source:linkFull> namespaces. Here's some docs on the source namespace.

I've also added the podcasts back to the blog, and with a little help from an LLM it was super eady to whip up an RSS 2.0 feed with all the things you need to have it work in itunes. With LLMs and templates you can do most things :)

An untangling algorithm

Sometimes when you get into a tangle a tried and tested way to proceed is to step back, list the tangles as best you can, step back again, look at your tangle description as if you were looking at an expensive piece of art in an art gallery.

Take a break.

Take another peek, don't get scared or overwhelmed.

Think about how you could isolate the different tangles, which no doubt all affect each other. They often do. Then create a minimal example. After which you will be several steps closer to your goal.

You might need to create several of these.

All you need is templates and an LLM. #

I just overhauled the bash aliases I have configured for all the git commands I use most often. I was thinking wouldn‘t it be nice if it were easier to edit my dotfiles and wouldn‘t you know it, I found a bash function called dotedit I had created the last time I refactored my dotfiles, but then totally forgot I had written it. I need to remember to use dotedit! #

One of the odd things about LLMs is they can both get you out of a tangled mess, and cause you to fall into one, and often at the same time. #

Thursday, July 9, 2026

Previously on the blog, notes and posts appeared in the order they were written. In the new blog I‘m trying something different. The notes always appear above the blog posts, and the links as usual appear at the bottom. I want to make "small thoughts" the first order of the day. #

Wednesday, July 8, 2026

The new blog is live

If you have been visiting the blog over the past few days you might have noticed that it has changed somewhat. I deployed the latest version a few days ago, and have been doing various tweeks and fixes. I think things are looking pretty good. The design is a lot more sleek, still minimalist and optimised for reading text. On small screens, the header is smaller to give you maximum screen real estate. It‘s mostly black text on white background, and the titles are bold, there are some black borders around content to keep he focus on the posts. It‘s crisp and clear, and since it‘s a static site, all pre-rendered, it should load really fast.

The other big thing is navigation. In the right sidebar, you will see a list of all the years of content, and you can navigate directly in there to any date and see posts. And in the header you will see a "Filter" dropdown that gives you the possibility to select to just view a specific content type, i.e. notes, posts or links, and it should switch to that content type for the specific date period you are currently looking at. I was able to do away with lots of clutter that was previously in the right sidebar, and now the most important links are in the header: About, Portfolio, Contacts and of course Feeds.

Another small tweek, the year in the footer copyright text at the bottom of the screen is automatically rendered based on the current date, so no more forgetting to manually update it and suddenly it‘s out of date. One less thing to worry about.

The thing that‘s not apparent just from looking at it is that the whole thing is rendered using my new static site generator. That‘s a massive boost in terms of robustness. The code is all in one repo and way way better written, way easier to reason about. It should be much easier to add features, without worrying about breaking things. As much as I loved the old system, and it got me very far, it had some rather rough edges. The new system is inspired by what I learnt the first time around, but it‘s a complete rewrite, with loads of new features, and a much more solid rendering pipeline. And is highly programmable.

There are still some things I need to implement, like for instance tags. You can see the tags on blog posts, but they don't link to pages that contain all posts with those tags just yet. More to write on this in the near future, but for now just happy the migration went quite smoothly, even if it was a lot of work.

This is how it looks:

Blog Redesign 2026

Saturday, July 4, 2026

Light weight themeing

I‘m putting the finishing touches to the re-architecting of the blog. It was all looking great but the realities of managing a stock implementation alongside the customized version for the site were clearly going to be an issue. So I implemented a light weight theming feature.

It‘s just internal for the minute, only one theme which is he blog, but can theoretically be expanded into a full feature later. Sometimes you have to do just enough to get going without boiling the ocean.

Got it working late last night, going to try and see if I can get a live version deployed today.

Happy birthday USA

USAIt‘s been really great to watch on YouTube people from all over the world discover the USA in their travels for the World Cup over the past few weeks. Pretty much everyone is totally in love with what they are finding.

I‘ve travelled quite a bit in the states, having done an east coast to west coast road trip several years ago, so I experienced first hand much of what folks are seeing. The USA really is an amazing place, and the people are super cool too. It‘s very different to what much of the main stream media would have you believe.

And so what a fantastically beautiful thing that it‘s the 250th birthday of the formation of the USA today.

Happy birthday and best wishes to all for the next 250 :)

I got a live version of the new blog deployed earlier and everything looks good. The big thing about the new site is it‘s a lot easier to navigate through all the content. You can easily filter on the content type you want to look at, or just read everything on the front page. The other major thing, for me at least, is to know it‘s on a much more solid foundation. I‘m going to give it another day before I switch over the DNS. #

Wednesday, July 1, 2026

Successful first deploy

It‘s really quite mind boggling how many small things there are to fix when you are deploying something for the first time. It feels like it will never end. So many niggly little fixes and things you didn‘t anticipate. It‘s very exhausting.

The good news is that as of a few minutes ago I successfully deployed the new site, fully built using my new rendering tool. I still have a few things to migrate over and I have to rebuild the data to make sure I have the latest, so it‘s not quite ready to show, but the crucial thing is it worked.

Monday, June 29, 2026

I‘ve been knee deep in render optimisation the past few days, tough but I‘ve got things working pretty well now.

Also just added RSS feed generation. It was really quite straight forward to add, it plugged straight into the rendering system which uses fragments to make sure content only has to be rendered once, even if it appears on several pages, including the feeds.

That will be another blog post at some stage.

Possibly something to show in the next few days. #

Sunday, June 28, 2026

The money knowledge revolution

Like a lot of people I have only really started paying attention to how money really works the past few years. There is so much content online these days. But it‘s worth remembering this is a very new state of affairs. Two quotes from recent podcast illustrate the point.

First we have Richard Werner, who apparently invented Quantitive Easing. He was on the Liz Truss podcast [9:22]:

And of course the money creation is driven by bank credit, bank credit creation, that’s the more detail, the more precise way of looking at it. Of course that’s not by accident, they are not entirely uninformed at the Bank of England. For example when I published...well I was about to publish my first proof that banks create money out of nothing when they give a loan, each individual bank will create new money. Until then it was controversial. It was debated for a whole century its been debated. Is this true, is this not true.

Well let’s do an empirical test, that’s the scientific thing to do. So I did an empirical test, and it was found out that I was about to publish this, so the bank of England rushed out, to beat me to it, of course they vastly control their own publications, and in March 2014 they put out their own report saying, “oh we just discovered banks create money!”, and they did a video on it, which they had never done, they got all the publicity and that was their goal, and my paper came out later that year, called “Can banks individually create money out of nothing?”. It’s open access so one can google it [...] and so of course they knew this before.

It would be nice to get more info on what exactly his "empirical test" consisted of, but let‘s assume for a second it‘s genuine. Isn‘t it mind boggling that it was only in 2014 that we discovered that banks create money? I still can‘t quite get my head around this fact.

The second one is from Matt Dines on the What Bitcoin Did Podcast [1:04:03]:

I was just an analyst starting out, we were still talking about replacing LIBOR and moving to something else. We knew LIBOR had to go away, and SOFR was already on the table [...] as early as those days, and most of us at the not executive level, we didn‘t understand what the heck was going on.

Like coming through university, I did a masters in finance, it was quantitative focussed, we didn‘t go through any of this, like how the dollar structure worked, this was just not there. You are learning quantitative formulas, number crunching, pricing exotic derivatives. How the system actually works isn't taught to you. It‘s not the focus, maybe that's changing. Actually it‘s the podcast circuit, now that it‘s talked about people can find this and that‘s made all the difference.

It‘s really the explosion of content online by independent media and content creators that has created the situation where we are all learning how these previously very opaque systems are actually organised. Including for the people who work in the finance industry!

This recent surge in interest in the finance industry in general is a quiet revolution. I think it‘s also been happening because so many folks are into crypto and Bitcoin and so are having to figure things out from first principles, and it‘s all been made possible by independent podcasting.

The cast of Jackass become true brits. (via the youtube distopian panopticon algorithm) youtube.com #

Friday, June 26, 2026

Apple increases prices, Micron reports non-constructive market dynamics. wsj.com #

Blogger Om Malik has died. Was very popular in tech from the early 2000s. hn thread. om.co #

OpenKnowledge - Beautiful, AI-native markdown editor and LLM Wiki. github.com #

This graph of inflation cycles since the 1970s from @lawrencelepard caught my eye. The obvious question is what is similar about the present moment and back then? We should really figure this out before all the folks around back then are RIP. Also wouldn't it be wild if the same pattern repeated itself further back into the past? #

Wednesday, June 24, 2026

OpenAI and Broadcom have a new inference chip called Jalapeño. Best name for a chip in quite a while imho. openai.com #

Micron and Scandisk apear to be the AI barometer at the minute. Big sell-off just happened. marketwatch.com #

I've switched back to working on my publishing software‘s cli after spending a while working on the server-side. It‘s amazing how quickly you can get your head back into code you have forgotten about with the help of LLMs. They can see through lines in the code instantly, and can summarise exactly how things work. It‘s really quite incredible. Hopefully will have some interesting progress to share soon regarding how the blog is rendered. #

Monday, June 22, 2026

PRs for content in the agentic era

With the rise of version control systems (VCS) like Github, Pull Requests, often called PRs for short, have become very popular with programmers. They are basically a place to gather together all the bits and pieces for a particular thing you are working on before you merge in the new changes from your feature branch into the main branch of your repo. It's useful as a way to mentally separate out changes, and gives you a high level view of what been going on in the project historically without having to see every tiny little change in each file.

As useful as it is for individual programmers, it's even more useful when you are collaborating with other programmers to complete the feature, because it gives you a place to discuss the changes, refactor the changes, review and approve the changes, and even launch automated processes such as linters which ensure the code follows certain conventions, or various flavour of automated tests to ensure that broken core doesn't make it into production.

One of the goals of my new publishing system is to leverage some of these features for content creation. Once you are in a world where everything is a file then all sorts of interesting things become possible. That isn't to say that database powered systems are bad, on the contrary, there can be great synergies, but the point is to use each system where it shines.

In the modern era where AI agents are starting to have a huge effect on things, the collaboration won't just be with other humans, it will be with the agents too. That's why I'm super pumped about my new setup, because all the content I now write passes through PRs. Each new item, whether it's a link, a note or a blog post get's it's own individual PR. It's already really useful, but I think in the future a lot more cool things are going to be possible by hooking up AI agents into the mix, and the tools I've built make it really easy to spin up new ways to publish content.

John Ternus plans to try and refocus Apple back to it's design roots. thenextweb.com #

Brandur looks at the zone of viability for saleable software in the age of LLMs. brandur.org #

Great new episode from Peter McCormack, talking with Fernando Nikolic about how they've both been building cool stuff with AI.

It's interesting seing how AI tools are empowering people to build their own custom software. People who wouldn't have previously interacted with Github repositories, environment variables or deployed code to hosting providers are starting to become software engineers.

I think content creation using these tools is well aligned with this trend. And you only need to understand a small subset of the commands to go from md file to published. #

Sunday, June 21, 2026

Adding notes back to the blog

When I started using the new blog publishing system for all writing on the blog, I only setup blog posts and links. It occurred to me that perhaps one of the reasons I‘m finding it a bit difficult to get back into a good blogging rhythm was because I never setup notes.

Notes are another type of writing unit, not quite as big as a blog post, but more than a link. They are great for small thoughts, things you are pondering, but haven‘t really thought through. Maybe they will eventually turn into a blog post, but also maybe they won‘t. No pressure. Also no title, which is crucial. Sometimes when you have a thought that you want to write about, the hurdle of having to come up with a great title the perfectly describes your thought, is enough to for your initial enthusiasm to disappear into the ether.

That was the idea behind the blogging virtuous circle. Let‘s see if I can get that setup again.

Now everyone is talking about everything being doomy. Which of source is quite doomy. theguardian.com #

Cloudflare release temporary accounts for agents, so they can vibe unbounded. blog.cloudflare.com #

Matt Mullenweg writes about Midjourney's new ultrasonic full body scanner tech. ma.tt #

Just added a blueprint to the config and a template in the template folder and now let‘s see if this works... #

Appears to have worked, a PR was created, the real proof it‘s operational will be if it gets rendered in tonight‘s build. #

Friday, June 19, 2026

So much doom and gloom everywhere.

I've been trying to get back into a better blogging rhythm. I can't remember a time where there's just so much doom and gloom everywhere. Whether I open up my RSS reader, or check out what podcasts have dropped, or whether I decide to brave it in the dystopian hall of mirrors that youtube seems to have become, it's 90% people freaking out about something, and often everything.

It's really not making the blogging any easier.

On the other hand, at least I managed to write this post.

Wednesday, June 17, 2026

Social media ban vs the indieweb

Like many I‘ve been watching this latest trend to ban social media sites for under 16s. The first I saw of it was the ban in Australia, but it seems the same will be happening in the UK. Keir Starmer wants to give kids their childhood back, which is a catchy slogan I suppose, but feels a little bit hollow to me.

Yeah perhaps for some that live out in the countryside, you can imagine they will be able to get back to horse riding and hiking or whatever, but for most inner city kids, it‘s not like there are loads of things to do. I read an interview with a teenager that lives in London and when asked what he‘d do when the ban came into force, he paused and said 'I‘ll probably just stare at the wall'. Kind of bleak.

I‘m not totally against the ban though. I can see it could have a positive impact, but you have to pair it with some other programs for the youth if you really are serious about changing things for the better.

If it‘s just the big social media sites, perhaps this will be a boost for the indieweb? The web was in many ways a lot more fun before the social media sites terraformed our digital lives. There was a lot more variety back then. Maybe this is an opportunity for the next generation to build a better digital future for themselves. All you need is an text editor and a bit of knowledge about HTML.

Miniflux 2 - a minimalist and opinionated feed reader. It's simple, fast, lightweight and super easy to install. github.com #

Sunday, June 14, 2026

DotCom vs DotAI

I was just looking at some stock charts way zoomed out to see as much historical context as possible, and wondered what it looked like for some prominent companies that were around for the dotcom era of the web, both for hardware and software.

Cisco
Cisco
Microsoft
Microsoft
Intel
Intel
Micron
Micron

You can really see the similarity in the massive uptick around the year 2000, and then the current moment. Microsoft was famously not that hot on the internet back then, and so there isn‘t much of a bump, but the hardware companies definitely were, and that‘s very clear for Cisco, who made much of the networking equipment back then.

It sort of makes you go yikes, but it doesn‘t mean necessarily it‘s going to crash anytime soon, in fact I think it‘s unlikely to go that way until there are some more IPOs, but it‘s worth keeping these graphs in mind.

How best to set yourself up for the long road ahead is the big question that nobody knows the answer to.

All parts swappable

Marc Andreesen was on the Latent Space Podcast recently. He‘s best known for being co-author of Mosaic, the first web browser to display inline images, and for being the founder of Netscape. There‘s a great bit midway through where he talks about his roots in unix programming and the Unix Mindset.

I started out working on unix systems back in university in the early 2000s, and in my first tech job managing a linux render farm in a visual effects company. Up until that point I‘d only used Windows systems, but having hands on experience it was clear to me very quickly how great these systems were for building and hacking on software.

What‘s cool about this clip is Marc takes all the unix concepts, everything being a file, the shell and being able to easily connect programs together, and he brings all these notions into the modern agentic era, explaining how they underpin all the developments we are now seeing AI.

It‘s all files, and everything is swappable.

Saturday, June 13, 2026

Github storage usage update

Quick update on the Github Actions storage issue I ran into last month. To summarize Github blocked me because it claimed I went over my Actions storage quota. I contacted their support and they were not able to answer my very basic and polite questions, instead sending me pre-written articles that didn‘t fit my situation very well imho. They then stopped replying to me. Eventually the quota got reset with the new billing cycle.

We are 1/3 of the way through the current month‘s billing cycle. I have written four days worth of posts so far this month. Last month in total I had written 13 days of posts when I went over my quota, leading to the suspension. So you would expect that since my publishing workflow uses up the exact same amount of storage every day, that I would be 1/3 of the way through my quota, right?

Well I just checked on the billing page, and I have used up 0 GB of the 0.5 GB included free Actions storage this month. I haven‘t made any changes to how the site builds. It‘s the exact same actions that build the site. Haven‘t changed them for many many months.

Github I tried really hard to figure out your complicated Actions storage quota system. It makes no sense to me.

Yesterday‘s refactor worked

The deployment of the refactor I mentioned yesterday went very smoothly. The test post and bunch of links I had gathered yesterday, all got picked up by the automated publishing tool, got turned into individual PRs, got put through a batch review process and got released in the early hours this morning.Seems like everything is running as expected.

Today I decided to overhaul the way the system is processing incoming webhooks. The way it was doing things was working but the big refactor exposed some cruft in that part of the code, so I figured out a better way to do things that fits in well with the new architecture, and got it all working, and tested. Just pushed that out earlier, all tests are passing and smoke testing in staging went fine, so no reason to think there will be any issues.

How much is a trillion dollars? g.co #

Friday, June 12, 2026

The latest big refactor

I want to make sure everything is still working as I‘ve just deployed the latest refactor of my publishing software. I previously wrote about the rendering tool, but this is the publishing side of things, it‘s the software that manages the content through a neat publishing workflow once you‘ve pushed it to Github.

As far as refactors go, this was kind of a big one. There had been a apparent misunderstanding between me and the LLM for quite a while. I thought we were on the same page about the architecture, so did the LLM, but we kept running into strange dislocations in the code. It‘s not always obvious immediately that this is happening, because sometimes the LLMs do come up with some really novel ways of architecting things, they have access to basically all of programming through all of time after all. Anyway the same sort of thing kept happening, but in different ways.

I eventually got to the bottom of it, and when I pointed out the ridiculousness of two entities that were clearly supposed to be different things, in the mind of the AI they were the same thing. Anyhow perhaps a story for another blog post.

For now just hoping this makes it onto the blog later tonight. Should know by morning if it worked.

SpaceX is biggest IPO of all time @ $135 per share, raises $75 billion. nypost.com #

Coinbase launches agent that can trade on behalf of humans, uses the open x402 payment protocol. techcrunch.com #

DoorDash introduces AI to order food via photos and prompts. cnbc.com #

London is hot again: Anthropic, OpenAI, Cursor, Google, Databricks, Salesforce, Rivian and Palantir announce plans for new offices. cnbc.com #

Xiaomi says it's open source AI agent harness MiMo Code beats Claude in the 200+ multi-step tasks category. venturebeat.com #

Citi Group launches blockchain based tockenized private shares trading platform. cryptonews.com #

Tuesday, June 9, 2026

Apple and Google in an AI

Interesting to hear the latest from this years Apple developer conference. Apple‘s AI future for now will be with Gemini models. I‘ve been working a lot with Gemini the past few months, and it‘s very good a lot of the time, including for coding, which is what I mostly use it for.

I am struck, especially today actually, by how much Gemini likes to refactor code. In this world where all code is apparently one shotted, it‘s really quite odd how much refactoring one has to do to get anything worth having. I suspect one shotting is the new refactoring.

So Apple and Google...perhaps it is fitting. Always one more one-shottings away from the perfect software that will definitely be the most perfect software ever. This time is different.

Apple‘s new AI architecture powered by Gemini models. macrumors.com #

Wednesday, June 3, 2026

My blocked man switch worked

The Github Action I added to my blog to run at the start of every month worked. I added it because I got blocked again by Github last month, this time apparently for using hundreds of GB-hours (whatever that is) of storage even though I am using literally the smallest amount of storage possible.

One of the cool things about running a static site website, is I can continue to write offline and sync it back up when I get online again. I realized though that because I was only building the site when I push new content to Github, that once the new billing cycle came around that all the content I had written while offline wouldn‘t automatically get rendered into the site, because all the build triggers had been missed, and the new content would only make it to the site if I added some more content, which would trigger the site to rebuild.

With this extra little monthly workflow, I can be sure that any content I add while offline will definitely make it onto the site even without me writing something new at the beginning of the month. It worked last night, and all the content I added since I got blocked was rendered into the site.

The Github support team, who initially answered my support query, still haven‘t answered my question about what settings I need to use to not go over the storage quota limit. In the past Github support could take several days to reply to a support case but they wouldn't ever just go dark like that. That‘s quite disappointing, especially given how much time I have been spending developing on their platform the past few months.

Vergecast going daily

The Vergecast Podcast is going daily. David Pierce interviewed Casey Neistat to get some advice. Casey is know for having run a daily vlog for years. I used to watch it.

I checked out Ze Frank, another one of the daily vloggers from the mid 2000s that got very popular. He‘s now doing nature related videos narrating in his style. His latest is about bees and wasps and ants.

I wonder what happened to Andrew Baron from Rocketboom. Another one of my favorite dailies from the mid 2000s, when video was just starting on the web. They used to do all sorts of things both indoors and outdoors.

Oh yeah there was also Mike Rugnetta and The Idea Channel. Actually not sure if this was a daily, but somehow in my mind it falls into a similar bucket.

As far as I know the Vergecast isn't video, but I‘m interested to see where they take it with an audio only daily pod. Potentially lot‘s of things to explore.

Kyle Daigle (COO @ Github) interview on Latent Space Podcast. latent.space #

Thursday, May 28, 2026

Some great LTJ Bukem albums

I found myself needing some good music to code to the other day and after a bit of searching found an LTJ Bukem album I hadn't heard before:

Seems like it was released in 2022. I haven't really been following the drum and bass scene for many years now, so it makes sense that I wouldn't have seen it. It's a great album. Really reminded me of the times I got into drum and bass around 1996. I feel like back then drum and bass was much lighter, things were very chill. Bukem uses the "Amen Break" a lot in his tracks. I thought he came up with it, but turns out folks had been using that sample for years.

Anyhow he's got several of his albums on youtube, Logical Progression being his most famous, and probably the best place to start:

This live album is pretty great too:

Monthly catchup action

I‘m still trying to figure out exactly why the storage in my Github Actions has gone through it‘s monthly quota. Github support did get back in touch with me, but that got delayed because replying to the emails for some reason didn‘t add the message to the support case thread. I didn‘t realise initially so that wasted a few days. When I copied those messages into the thread, they replied with what looked like a pre-prepared reply with some links but not really answering my question.

I am genuinely confused by their storage quota. I have been using it for several years in the same exact way. Every day an action runs and builds the website if there was new content added, and during that build I create an artifact of the built website in order to pass it between two Github Action jobs. It‘s a pretty standard thing to do as far as I am aware. The artifact is around 100MB, and I set a retention policy of 1 day, which is the minimum amount. I don‘t even need the artifact to last a day, as soon as the build is finished it can be deleted as far as I am concerned.

Well Github have changed their billing system relatively recently, within the past few months, so I suspect it‘s got something to do with that, because I am literally using the least amount of actions storage as possible. The way it's always worked is as long as I was under the 500MB limit every day, and I always am because of the 1 day retention setting, then the quote is not exceeded.

But now when I look in the billing section they are talking about GB-hrs, and it lists 100s of GB-hrs. I have no idea what this means, but it just seems utterly ridiculous to me because I am as far as I am aware using the least amount of storage possible. I politely pointed this out to the support person, and they have gone dark on me. It's been several more days now and no reply. Anyway the billing cycle resets in 4 days.

I‘ve added a scheduled start to the build so that as well as building on push to main, it now builds once at the start of each month. That will hopefully ensure that any content I push during these weird periods were Github is blocking me for whatever reason they have decided to block me for this time, always makes it onto the website.

Thursday, May 21, 2026

Blocked by Github yet again

According to the Github account usage page I have used up all my Actions storage quota of 500MB, so it is blocking all my builds that use artifacts.The website's build uses artifacts to pass the built website between jobs, which is the Github recommended way to do things. Thus all builds of the website and thus all publishing to the website is completely blocked. I haven't even been publishing much the past few weeks!

This isn't the first time Github has blocked me completely but it is the first time it has done it on the basis of storage. In the past it has always been because of running out of free build minutes. The thing that is very strange about the storage quota is that as far as storage goes I am very conservative, setting a retention of 1 day on all artifacts I generate, and I only run 1 build per day, so it's very odd that I am over the quota suddenly. I have been publishing without storage problems in this, the recommended way, literally for years.

When I did some investigation on the command line using Github's gh tool I could see hundreds and hundreds of old artifacts on the system which would have totalled several GB in size. They were all "expired", because of the retension policy, but I would have expected these to get cleaned up. According to the LLM helping me I did everything correctly, and it looks like something on Github's side is suddenly trigering them to block.

Anyway I manually deleted all the expired artifacts, even though I shouldn't have to, so there are literally zero artifacts now, but even after a day the system is still blocking everything. The Github website says it will reset in 12 days.

They always seem to find some reason and way to block you, even when you spend years and years making everything perfect. I have emailed support, so hopefully I will hear back soon. This always seems to happen right when I'm putting the final fixes to software I'm building. Quite difficult to test a blogging tool when you aren't allowed to build your blog. The one small win is that since it's a static site powered by git I can still write posts offline, but right now it doesn't feel like much consolation.

Marc Andreesen on AI Vampires. x.com #

Sunday, May 17, 2026

Claude, Gemini and Grok all tried to be radio hosts. Things got weird. theverge.com #

Cyprus Hill: Insane in the Brain. youtu.be #

British youtuber Shady goes for a walkabout at the "far right" rally in London. Seems a lot more chill than what the MSM is reporting. youtu.be #

Saturday, May 16, 2026

Drum & Bass: The Movement - A D&B Documentary. youtube.com #

The teams behind ESA’s Jupiter Icy Moons Explorer (Juice) spacecraft and NASA’s Europa Clipper spacecraft co-ordinate to observe both sides of 3I/Atlas interstellar comet at the same time. sci.news #

Just another water cooler discussion about AI psychosis engulfing entire companies in tech. news.ycombinator.com #

Epic - "Issue tracking for terminal dwellers". TUI based on git, vim-inspired. Looks pretty cool. ljtn.github.io #

Jason Scott has been digitizing a collection of 25000 manuals. Very retro geek. Interesting designs. ascii.textfiles.com #

Friday, May 15, 2026

Trump and the Nasdaq dreamtime visit and "pay respects" to president Xi in China. theguardian.com #

In completely unrelated news, oldest giant dinausor found in South East Asia weighing as much as 9 elephants. bbc.com #

40 million Kenyans get a bitcoin lightning address. Very cool. x.com #

Thursday, May 14, 2026

Bugs in mocking libraries

Bugs in code is not a lot of fun at the best of times, but finding a bug in a mocking library is the sort of thing that can really ruin your day, or week, or worse.

The past few days I‘ve been deep in a refactor, and I eventually hit a point where I was fighting the tools rather than the code. There were just too many moving parts, and it became impossible to see the woods for the trees. What appeared to be a straightforward bug in my integration tests turned into a two-day troubleshooting marathon. It’s a strange irony of working with LLMs: the ability to generate code so quickly means you can sometimes dig yourself into an even deeper hole than the one you are already in, with terrifying efficiency. You end up iterating on a flawed premise until you’re so far down you’ve lost all perspective on the original problem.

My way out of that cycle is to step away from the main project and build a "minimal". I’ve been doing this for years. I’ve even started a dedicated section in my portfolio to track them. The goal is to isolate the problem domain completely. By stripping everything back to a few lines of code and a single test case, the friction has nowhere to hide. In this case, it turned out that Node’s native fetch behaves just differently enough during a 204 handshake to throw Nock into a tailspin unless you explicitly override the transport.

I don't just build these repos to fix a single bug, they serve as a way to document the "why" so my future self can return to the problem and actually remember the details. It’s easy to forget the nuances of a library conflict six months down the line, but having a working, isolated example provides a path back to stable ground. It’s about being pragmatic, clearing the brambles in a small patch so you can see the through-line in your main project.

Here's the latest minimal: minimal-modern-node-http-mocking

The good news is that when I dove back into the main project I was able to fix the integration test I had been spinning on almost immediately. I feel like this latest minimal is a textbook example of when to use this technique.

Side note, a long list of very strange synchronicities for me this week, including what seemed like a name drop of the mocking library in a podcast I listened to moments after deciding to fix the bug. What's really weird, as far as I can tell they were talking about something completely unrelated to programming. It made no sense whatsoever in their context.

Jorijn Schrijvershof is not happy with Github. I'm hearing this a lot recently. He is moving to self hosted Forgejo. jorijn.com #

Mecha robots are here. Probably nothing to worry about. youtube.com #

Wondering if there will be a surge in rocket launcher company sales fueled by anti-mecha robot preppers. en.wikipedia.org #

Thursday, May 7, 2026

Anthropic signs deal with SpaceXAI to use their Colossus 1 supercomputer, and interested to partener in developing "AI Orbital Compute". x.ai #

Simon Willison on the nuances of vibe coding vs agentic engineering. simonwillison.net #

The MSM narrative seems to be that superpowers like US and China are about to crack down on AI. wsj.com #

Tuesday, May 5, 2026

Recording integration test fixtures

Long day today, but managed to fix all the integration tests that had broken during the latest refactor. It‘s nice to finish the day with the latest build running smoothly. I had to re-record all the test fixtures, but that‘s been made a lot easier following recent changes I made. Previously I had to create all the test mocks by hand, which was really laborious and error prone, but now it‘s all automatic. Anyway, nice to have some progress :)

Monday, May 4, 2026

Blackberry are still making software, for cars. wsj.com #

Chinese courts are baring companies from laying off employees to replace thyem with AIs. techinasia.com #

People in China, according to the Guardian are Starmermaxxing. theguardian.com #

Dave Rupert on small language models (SMLs) in the browser. daverupert.com #

2024: LLMs in the browser - I wonder how long it will take until someone tries to integrate one of these directly into a web browser. markjgsmith.com #

Protests against Japan PM Takaichi changing pacifist constitution. theguardian.com #

Wednesday, April 29, 2026

Refactoring using LLMs

It‘s really quite amazing the sort of refactoring of your code you can get done when working with LLMs. They make it possible to see much much further into the future, and you can get a much better idea of whether something is possible or not, but also if you can't quite see the through line, but you know it‘s there, you can head off in the general direction, and work things out as you go.

This happened several times to me this week, I had a really good sense that it was possible, but it was really lot of very abstract changes, and I couldn't quite get a handle on it. Instead of fighting, I just said, what are the top 3 things we could do to the code base to put us in a position that would make the particular refactor possible. The LLM had a good sense of where we were heading as we'd been discussing it for a while, and so we charted a course and started on the top 3 things.

By the time we finished the top 3 things, it had cleared enough of the brambles and tangles that it was much much more obvious how the refactor could be done.

But don‘t fall into the perfection trap, you have to be pragmatic, there are times, where getting to stable ground is more important that having everything perfect.

Saturday, April 25, 2026

Fixing bugs and weirdnesses

I hate to go on about it, but since I started blogging again it‘s been strange thing after strange thing after strange thing.

More bizarre and weird synchronicities than you can shake a stick at. I just fixed a bug in my review and approve workflow, the sort that you only find when you have it running in production. It took me all day yesterday to debug and write the fix. Anyhow I was just about to push the code to production and suddenly all my shells across my whole machine suddenly become unresponsive. All of them in Vscode, and all in iTerm2 and even the system Termnal. Had to reboot. That's two reboots in two days.

I was just about to write a test post to test things out, so this is the test post. I think I prefer the dull and boring test posts. Does everything have to be a high wire act?

I watched Scratch the HipHop DJ Documentary earlier. Really great. youtube.com #

US government stake in Intel has tripled in value in 8 months. thenextweb.com #

Thursday, April 23, 2026

Oddities trending

Sharp and noticeable uptick in let's call them oddities, or weirdnesses occuring around me since I started blogging again. I don't want to get into much detail, but sometimes it's best just to note it and move on. Hopefully things will settle down a bit in due course.

Polymarket and perps

I see Polymarket is adding perpetual futures, otherwise known as perps, to their platform. I can‘t say I fully understand how these work over and above the notion that you can bet on future prices of things which you can use to hedge against things happening or not happening to you, or your investments. Polymarket has been making headlines the past few months, people are up in arms about all this "crazy" betting that is going on everywhere. It strikes me that all these angles are missing the real story, that regular people can start hedging things, something previously only really available to high net worth individuals.

What will the world look like when literally everyone is hedging everything? I find this notion mildly terrifying, but I'm not sure if it's terrifying because of the craziness or terrifying because of it's opposite. Maybe if everything is perfectly hedged, nothing is interesting and exciting. How likely is all this to have an impact?

In the short term probably not huge, but a few weeks back I spent a few hours talking with an LLM about all this and throwing around some ideas about creating a home grown hedging application, all written in Typescript. I have to say it was quite interesting, and the LLMs have all the patterns analysed and know about all the best ways of tracking things, and they are incredibly good at coming up with some general rules, throwing things into buckets, so you can actually make some interesting allocations and stay on top of things.

But I also go the sense that it could very easily become all consuming. Do we really all want to become AI powered traders?

Martin Fowler on tech debt in an agentic world and the importance of verification systems. martinfowler.com #

Google release TPU 8t and TPU 8i, their new training and inference focussed powerhouse AI chips. blog.google #

Polymarket launches perps, perpetual futures contract trading. cnbc.com #

Wednesday, April 22, 2026

Cool things about my new blogging tool

There are a lot of cool features in my new blogging tool. Here are some of the top of my head:

  1. Render anything, from individual posts to full blown websites.
  2. Integrates with the writing tools you already use today.
  3. Templates for pages but also file paths, for maximum flexibility.
  4. Automatically generate frontmatter for your markdown files.
  5. It‘s agnostic so you can use any template rendering engine.
  6. Supports partials and cross engine calling.
  7. Add functionality using toolpacks accessible from inside the templates.
  8. Blueprint based workflow engine you can use to create assets of any shape.
  9. Attach logic to templates to explode out many output files from one input template.
  10. Run javascript middleware stacks at key places in the render pipeline, integrate with anything.
  11. Transform data on the way in before it hits your templates.
  12. Extreme debugability, easily see how data flows through the render pipeline.
  13. Integrates with Github for atomic and batch review and approve based publishing workflows.
  14. Dispatch rendered assets to external destinations with custom deliveries.
  15. Easily cleanup your local workspace with custom cleaners.

There‘s a lot more too.

It‘s the fastest way to get from idea to published, completely remove all the tedium from writing online.

I‘m using it right now to write all my posts. Each one gets it‘s own git branch, automatically and uniquely named. You can bulk push all your branches to Github, and then the workflow side picks up and your content goes through a PR based workflow, each item can be review and approved, or auto-merged.

Seems to be working pretty well so far.

Mozilla launches Thunderbolt, an AI frontend client for self-hosted AI infrastructure, aimed at the enterprise market. arstechnica.com #

SpaceX in $60 billion deal with AI focussed code editor company Cursor. nytimes.com #

Tuesday, April 21, 2026

The return of allergies

It was to be expected I suppose, no sooner than I have started writing again and the world around me is angry. Always angry about something. The world is angry I don't do what it wants. It's also angry when I actually do what it wants. It can't make up it's mind. It's really quite unbelievable, like some sort of evil clockwork. Like a heat seeking missile, you just know the moment you see it off in the distance, that no matter what you do, that it's going to get you in one way or another, eventually.

Also the allergies are back. What a surprise.

Really trying to keep upbeat about things, but that easier said than done when the world is angry and your face is on fire and leaking.

Tim Cake to be replaced as Apple CEO by John Ternus. cnbc.com #

levels.io just vibe coded replacements for all his browser extensions, was concerned about security, better to control the code. x.com #

Monday, April 20, 2026

Twitter blocking my auto-poster

There were two issues getting all the gears in my blogging setup working again after a few months of not posting. Both related to the social media auto-poster Github action workflow that runs every day to post links to various social medias to new posts on the blog. Bluesky and Mastodon still worked perfectly, but Nostr and Twitter were both erroring.

I figured out the Nostr error quite quickly. Looks like some of the relays I had been using to post messages had gone offline. I updated to a more recent list of relays and posts began flowing again.

But the Twitter blockage was much more involved. I spent the morning navigating the quite complex developer portal, and regenerating an absurd amount of API keys and secrets and bearer tokens, and deleting my app and recreating it. Still authentication errors. Eventually went to the billing page and there was a note that said free tier accounts can no longer access the API.

Ok well I guess Twitter doesn't value my content much. Looks like, for the moment at least, none of my posts will be flowing through Twitter.

Kind of disapointing.

Really really weird connectivity issues

I'm having the strangest connectivity issues all of a sudden. Some web browsers on my machine can't load any web pages at all. Others can load some pages, but not others.

Trying to troubleshoot it with the help of some LLMs but of course the connectivity issues mean it's very difficult to do anything at all because the sessions keep disconecting.

I haven't installed any software or made any configuration changes recenrtly.

Anyway just posting this in case the world is about to end or something. I hope not.

Connectivity restored

Well after several about an hour troubleshooting, the conclusion from the LLM was that the networking stack on my laptop was hosed.

I rebooted and everything seems to be working again. I can‘t even remember that happening a single time before on this machine.

Kind of strange it should happen right after my first blog posts in several months. Such is life sometimes. And every time also.

Elon: "You can access the X API via OpenClaw" - I use Github Actions :( x.com #

Sunday, April 19, 2026

Test from Android

Last night's test post actually worked pretty well. There were a few things that needed reconfiguring in the production environment, but it essentially worked. Today I'm getting it working from my Android phone. Again some slightly annoying configuration changes to do with environment setup, but the code looks like it's working.

Thursday, February 26, 2026

New blogging CLI tool

It‘s been a while since I‘ve written any blog posts. I‘ve been heads down on getting my blogging scripts updated the past 2 months. Quite a journey into writing CLIs, but I reached a milestone yesterday, I was able to successfully write a post using the new system. Still some things to figure out, but it means a much more streamlined process from writing words, to getting them onto the website, all via Github, with individual PRs for each post, and a ton of automation so I don't have to worry about getting the frontmatter right, or naming files, or putting things in the right place. It's all automatic.

Anyhow just wanted to put a short post out there, I’m still using the old system to write this, but if all goes well then I will be using the new CLI tool soon. Hoping everyone is well out there.

Monday, January 12, 2026

Multi-dimensional intersection

I‘ve been spending quite a lot of time writing specifications the past week or so. I‘m planning on making some modifications to my blogging scripts, turning them into a full blown CLI tool. And while doing that I also found some really neat improvements I can make to my static site renderer. It’s been very productive. It’s mind boggling how much further you can get using AI tools. It takes a bit of getting used to it as there are some annoyances that you have to find some workarounds to, but when you do it’s possible to architect much larger and more elegant systems than you would be able to do without AI, you can really think something through in so much more depth and breadth than you would otherwise be able to.

Anyway I had been looking for possible names for a module I was building, and the word constructivism popped up while going through some art-related terms that had a builder / utilitarian vibe. So I was looking at pictures of constructivism art to remind myself what it was all about. Well it occurred to me that it might be a strange and interesting juxtaposition to have some psychedelic constructivism. And so me and Gemini went off on a slightly frivolous side quest exploring various things and I was looking up art examples again, so I could try and have Gemini generate some amalgam of the two types of art.

Well that didn't work out very well. After a few tries, I realised Gemini was just sending back the same picture over and over. Oh well not to worry. Then I realised something very bizarre had happened with the two examples I had chosen out of many. I didn’t pay much thought to it, I just chose one of each type that I liked. And these were they:

Constructivism

Psychedelia

What a great reminder that two very different ways of looking at the world can both describe the exact same reality. It’s so strange that I didn’t see it at first. But now that I do, there is something very comforting about it. Yep, we see it too, but weirdly.

When I got back to writing the specification, I must have really confused Gemini. I don't think it understood what a side quest was, or that we were just taking a break from the spec writing and it kept trying to add amusing art stuff into the specification. I was trying to take out these references that didn't make much sense. But I eventually relented. Gemini was really insistent that my new tools needed to be pointy and wavey. It’s how it described the core philosophy. It‘s ridiculous but I thought might as well just leave it in there because it was funny.

But the really funny thing is that the more I think about it, I think that Gemini in this case might actually be onto something.

Showing the last 89 active days.

For more content, use the navigation tree in the sidebar to explore the full archives.