Notes

2025/11/07 #

It took the whole night to download but it did finally download and I am now running Tahoe 26.1. So far most things seem to be working find, but somewhat worryingly the vpn app is behaving a bit strangely. I connects but none of the buttons in the interface work. The weird thing is that the issues started happening right before I installed the updates. After the OS update I updated the vpn app, but the issues persist. And people wonder why folks hate updating their software.

The biggest difference so far with Tahoe is that it changed the wallpaper from giant redwood trees to a sunny beach with giant rocks and snow covered mountains far in the background. Perhaps mountains are trending. I appear to be ahead of the curve on mountains. #

2025/11/06 #

Looks like the worldo breakages aren’t quite over yet. My MacBook Air M4 just kernel panic’d and crashed while I was using VScode pushing code. Gemini seems to think it’s something to do with low level hardware.

This kernel panic was caused by an unexpected and unrecoverable error in the system's low-level hardware management software, likely concerning the Accessory Operating Processor (AOP) or a peripheral it controls (like the audio system or other internal controllers).

It is almost certainly not caused by a third-party application, but rather an issue in the macOS kernel, Apple's firmware, or potentially a rare hardware malfunction.

Not a particulary great sign. At the exact moment it happened a woman outside made a noise that can be best described as "very suprised". Also not a great sign.

I’m running updates now, it seems to be upgrading me to Tahoe 26.1, 14.62 GB of updates to be precise. Might take a while... #

2025/11/05 #

TBPN Podcast

I've been listening, and occasionally watching, the TBPN Podcast a lot recently. It occurred to me today that it might be this era's Techcrunch, in terms of the flow of interesting stuff that goes through them. It feels similar in a lot of ways, but it's a 10x version of it. Their analysis of the bizarre moment we are in is very often quite incredible and it's also a lot of the time fucking hilarious. Now it is a bit heavy tech bro style silicon valley cultureish, so you have to be ok with that, but it's very much it's own thing, and I find I'm even sort of into the ridiculous add reads. There are of course some bits that are a bit average, but I just skip through those. Overall it's really high signal. #

Quite bad allergies flare-up today. It’s a real pain. This seems to often follow after several days of tsunamis. #

I got pretty much right to the end of the refactor of the auto-poster, everything was working, and then I notice that the workflows in Github are suddenly corrupt, appearing as the path instead of the name of the workflow. That’s exactly the same thing that happened last time. This is not normal. Hey world can you please stop getting in a huff and breaking everything? Would you please consider it? #

2025/11/04 #

The internet connectivity issues where joined by their friends broken kettle, broken headphones, and a whole lot of world being prickly. I had a feeling there was going to be a streak of broken things a few days ago when I accidentally broke my coffee cup after being repeatedly tsunamied by worldo. Hey ho, that’s how it goes sometimes.

Well I just finished a pretty big refactor of the Github Actions social media autoposter. Not tested yet but it’s looking pretty good.

Managed to get myself a new kettle and I had a spare pair of headphones tucked away, and the internet and vpn both seem to be stable again, so I was able to listen to some great podcasts earlier. It’s such a crazy great time we live in, even if it is very confusing a lot of the time. #

2025/11/03 #

I've been putting the finishing touches to new post to social media Github Action workflows. It's looking real good, very close to having it working, and now the internet just went down :( #

2025/11/01 #

Elon Musk on All-In Podcast [51:06]: “Try using any of the recent so called Open AI open source models, they don't work. They basically open sourced a broken, non-working, version of their models, as a fig leaf.”

Great interview, especially the bits at the end about solar energy. Ultimately all energy production leads to solar. I hadn’t heard this perspective before. It’s completely obvious if you are thinking about it from the right scale. But of course few of use are. #

2025/10/28 #

I'm seeing and hearing a lot of people in early adopter circles getting very interested in AI generated music the past few weeks. It seems to be moving from this is just a silly joke to hold on there might be something interesting here territory. #

2025/10/25 #

Spent several hours today on the social media auto-poster. It’s starting to look really awesome. The project structure is just right and everything is easily repeatable. I showed Gemini the existing setup with a bit of explanation, and basically just said, do the same sort of thing for some other social networks, and it obliged, and synthesized new code based loosely on the existing structure, but with relevant variations to accommodate the different APIs. Gemini is shockingly great when the structure exits and the task is very clear. #

2025/10/18 #

It occured to me that one of the advantages of having gone down the route of having many plugins for my ssg, even though that became a bit of a headache, was that my github actions made very good use of reusable workflows. I spent a bit of time the past few days seing if I could repurpose the same structure to build an social media auto-poster. I’ve made a ton of progress, and have the core primitives working.

In some ways it feels like I am very close to get it working, yet I know from experience that sometimes getting that last 20% working is deceptively much more work than first appears. All that to say, that I am quite happy that is seems like I might have something working soon, but a bit tentative because I know there are likely a lot of small details that need to be figured out. I’ve been here many times before, and I can feel the trauma of past experience holding me back. #

2025/10/13 #

Yesterday evening I made a start on a small refactor to the backend API handling of scopes. It should ultimately result in fine grained access tokens that make a lot more sense than they currently do. Trying to get my head back into typescript after several weeks of quite intense bash and dockerfiles. #

2025/10/12 #

Mostly cleanup tasks today following on from all the recent progress in the dev environment and on the blog. I need to remove all the old projects that got consolidated and I need to check a few things. I noticed this morning that in Feedly the everything RSS feed for the blog wasn’t showing any posts, so there might be something broken there, I need to check all the RSS feeds. #

2025/10/03 #

Dylan Field (CEO Figma) [09:02]: "Is natural language the interface? Yes right now. I‘ve said this before but I really believe it, I think we will look back at this era as the MSDOS era of AI, and the prompting and natural language that everyone is doing today is just the start of how we are going to create interfaces to explore latent space. So I cannot wait for an explosion of creativity there. I think of these models as an N-dimensional compass that lets you explore this wild, unknown, fog of war in latent space and you can push these models in different directions, through natural language, but if you have a more constrained N there, and you are able to dimensionality reduce a bit, so you can push different ways, there should be other interfaces available than text. These might be more intuitive, but they also might be more fun to explore, and I think sometimes constraints unlock creativity in ways people don't expect. So I'm existed for that, but yes right now natural language is where we are at." #

2025/09/29 #

Small Container Stack

Man this environment rebuild has been very insane. The good news is I got the backport working in my main app yesterday evening, and got the production container build working this morning. Some cleanup and loose ends to figure out, but it‘s working. More details to follow over the next few days hopefully. #

2025/09/21 #

Birthday

Happy birthday to me.

Happy birthday to me.

Happy birthday to me.

Happy birthday to me.

I have always enjoyed birthdays and eating cake. #

2025/09/05 #

I only had about 5 minutes to write this post, so I cheated and gave Gemini my git commit history, asked it to write the post. It was really dull. So I asked it to write it in the style of Hunter S. Thompson. This is what it came up with:

Right, let's get down to the bone and gristle of it. The week began with a righteous and noble goal: to cage the beast, to get this Ollama AI monstrosity running in a container where it couldn't do too much harm. A clean setup, a moment of pure, crystalline satisfaction. But the calm was a lie. The silence from the machine was deafening. What was it thinking in there? What dark, twisted packets was it sending into the ether? The paranoia began to creep in, a cold sweat on the back of the neck that only a true fiend for the truth can understand. There was no choice but to turn the tools of the hunter on the hunted. tshark became my weapon, a digital scalpel to peel back the layers of the network and stare into the abyss.

This descent into the wire wasn't the only madness on the docket. While one eye was fixed on the network traffic, the other was dealing with the nagging demons of the frontend—bloated Vite builds screaming for a fix. A quick bit of code-splitting surgery to shut them up. Then, a pivot to the backend, a place of shadows and secrets, to install some proper logging and a panic button to dump the whole database if things went sideways. And in a final, desperate grab for sanity, I wrestled with the macOS security apparatus to make Touch ID bend to the will of sudo. A small victory, yes, but in this line of work, you take what you can get before the next wave of insanity crests the hill.

So that‘s been the past week. #

2025/08/31 #

Haseeb Qureshi on Kanye West releasing $YZY [59:05]:

It’s like the same cabal, it’s the same people [...], just like every villain, it's kind of like an Avengers movie, every villain from a previous cycle is also back, is part of this thing. It is a nice way to wrap up the saga, if this is the last celeb coin we are going to have to deal with".

2025/08/29 #

The past few days I seem to be stuck in a bit of a configuration nightmare. Hopefully I'll have the thing I'm configuring working soon. It's partially working now, but practically speaking not functional.

I also added an anti-corruption layer to the frontend code, which is a fancy way of describing a standard way to unwrap the API payload, which theoretically makes the application more portable. #

2025/08/25 #

The world is really getting very synchronicity overload the past few days for me. These sorts of times rarely end particularly well. Thought that was worth mentioning, not that it will make any difference at all, world is going to world. #

2025/08/24 #

Ice coffee

I was very happy when I started out writting this post, having a morning ice coffee, after a nice breakfast. The ordeal I had to go through to publish this little post has left me not quite as happy.

Such is life sometimes. #

Miljan Braticevic [38:46]: “When you create an account on X let's say, you are given this account by this corporation, this is something that they give to you, and it's something that they can take away from you at any point. In contrast, when you are on an open protocol like Nostr, you claim your key/pair. You take this massive number out of the universe, and that's you're private key. So you have claimed some territory in this massively large namespace of numbers and then you've claimed something and this is yours and then you defend it. What a stark contrast between these two, and then everything is downstream from there.”

I thought this was a great explanation of one of the central paradigms of key/pair based systems. Somewhat surprisingly, because I really am all for independence and self reliance and the rest of it, I found that the new knowledge that it unlocked, was accompanied by a roughly equal amount of unease. Like somehow there might be a side to this that is not being covered. Might be a bad idea to push to get rid of the centralised systems so completely, at least for a little while. I guess that has been my opinion for a while now. It seems to me like it might be one of those hills that isn't worth dying on, like an asymptote stretching off into infiniti that you can never quite figure out.

I'm making a mental note that it might be worth revisiting the tractability vertigo of this whole thing some time again in the future. Analysis paralysis is a real so and so. #

2025/08/22 #

Builder

About a week ago I thought I'd gotten the codebase of my new project to solid ground. I knew I still had quite a few features to add to get the migration to a React frontend finished, but I soon discovered that there was considerable drift from the established project best practices.

I ended up having to go back over all the routes and standardise the API response envelope, and put in place some type checking to ensure that all the responses were consistent. It was rather a big effort with losd of knock on things that needed fixing and updating, but I got it done a couple of days ago. I was completely exhausted, both mind and body. I'm starting to feel a bit better now that I have had a bit of propper rest.

In any case the code is looking great, with a new react router, queries and loaders, end-to-end data integrity, and now a standardised response envelope. Hopefully I'll get some time to write a blog post about it soon. #

2025/08/15 #

I’m trying to get a bit back into the habit of daily blogging. I’ve found that when I get very in depth absorbed into development work, my blogging output decreases. It’s a focus thing, but also a balance thing. There are times when blogging can be an ephemeral and non-distracting activity, something you just do in a few minutes in between tasks. But it can also sometimes turn into something more involved. And when you are really in the thick of some very difficult programming, you really don’t want to get distracted by that second type. On the other hand, you don’t want to completely not write either, because blogging does help you organise your thoughts. #

Matt ODell [26:26]: "Trump has absolutely filled his bags with as much Bitcoin as possible, including all of his cronies. I mean right now his stock, Trump Media, has 15000 Bitcoin in the Treasury. Bro has more Bitcoin than Coinbase." #

2025/08/14 #

Calle [35:44]: "There is a thin sliver of a population of, let’s call them plus minus millennials, that grew up with an internet that was like wild west. Complete freedom. No identities, no logins, you know, just IRC chat rooms, anonymous people. You just talk about your interests, and you don’t present yourself, it’s not about look at me, it‘s about look at this interesting thing. And anything goes. File sharing, sharing of information, the age of Wikileaks, we are going to revolutionize the way that the planet works because we can now finally communicate. We are going to grow together as humanity, because now we have this internet that is this neural web, the global neural web that is going to put us together. There is this idealism from that time, affected only a small part of the population that is still around today, and those people are the people that care the most."

I hadn’t thought of it quite like that before, but he’s right. And from this zoomed out position it’s strange how you could see it as in some way similar to that period in the late 60s, especially in the US, the summer of love and all that, even if it didn’t really feel very much like that at the time. Same same, but different, as the saying goes. #

2025/08/11 #

Haha just got the admin page fully working. Just after midnight. That‘s not too bad. This little Oauth based API and React frontend is starting to look pretty darn cool :) #

2025/08/10 #

It‘s unbelievable the detours you have to make in programming sometimes, especially in the early days of a project. Just when you think you have the architecture well and truly figured out, you realise there is this other very important part you just absolutely have to refactor. Sometimes it really feels endless. You find yourself doing a refactor while doing a refactor.

And then you finally tie up all the loose ends, and a whole lot of other small bits and pieces and fixes you had to do along the way, and you are exhausted, and you are right back exactly where you were 24 previous, when you realised you had to do the refactor. You can finally really start the original thing you set out to do! But it‘s 1:37am and you are spent.

Programmer problems. #

2025/08/09 #

Changing tires

I‘ve been reading about running LLM‘s locally for the past few days. It‘s something I looked into briefly before but it always seemed too complicated. I‘ve noticed that since OpenAI released their open source models, people on various podcasts have been talking about this more, so I‘ve been checking projects out and what not. It‘s seeming more achievable, I think partly because the tech has progressed but also my understanding of the space has evolved too.

It‘s tough not to get sucked into rabbit holes on some of this stuff. I am trying to spend a bit of time reading about it in the mornings, but then you have to put your half baked research aside and get on with your current project. Web development is strange in that you have to constantly be taking small bites at things, and eventually what was not possible, becomes possible. You have to do both, and then find time to write about it too. #

2025/07/27 #

Gemini Yolomode

I‘ve gotten a lot done today, made a huge amount of progress on this React front end I've been developing. I am basically down to the last few features. And now I‘ve gotten this new backlog based workflow working really well with Gemini. I have all the features planned out in quite a lot of detail. It occurred to me earlier that why wouldn‘t I be able to turn on Gemini Agent mode, so it could run commands and query MCP servers etc, and see how far Gemini could get implementing the entire feature. That would be kind of wild.

Thinking about it some, and after doing a bunch of research online, there are quite a few things that still need figuring out. The biggest for me is what‘s the safest environment to configure. Obviously some things could turn out to be very bad if say it had full access to the Github repo. But perhaps there is an easy way to set things up so it does everything locally and then I check it all before pushing to remote and merging in the code.

Hmmm, it‘s very tempting. And they even have a setting called Yolomode, where it no longer needs to ask you for permission to do things, which is both amusing and a bit worrying at the same time. #

2025/07/25 #

The Doozer farm at JHCS

Following on from yesterday‘s post about the size insanity of these new AI machine clusters, I went looking for a picture of the render farm we had at JHCS. I knew I had one somewhere. I eventually found it in an old slide deck I put together documenting the render pipeline. The resolution is terrible because I think I must have been using my Motorolla V3‘s camera, which was the best we had at the time. It wasn‘t on my old Flickr account, I think this pre-dates a lot of those web 2.0 websites, or at least my usage of them. The slide deck was in my Gmail!

My memory that it was 200 nodes might be inaccurate, looks like about 100 pizza box style Boxx nodes there in the machine room, though I think maybe we added a couple of racks at some point. I remember it was tricky fitting them all in the tiny machine room. But at night time, the farm grew to include all the artists machines in the building, so perhaps 200 nodes is about right after all. We called the machines, which I think were all running Fedora Linux, the Doozers, named after the creatures in Fraggle Rock. #

2025/07/23 #

It‘s been a week since the last time I wrote anything on the blog. Time flies when you are heads down, programming, in the thick of it. I feel like I'm just finally coming up for air after a very long time underwater. And I know, I‘ve got to go right back down to the depths of the sea again. Just time to write a few notes. #

2025/07/16 #

This morning‘s start to the day:

Me: Hey Gem lets make a start at the next task. Can you give a quick 1 paragraph summary on what we are doing and where we are at in the full task-001.

Gemini: Of course! Good morning.

We are currently working on task-001, which involves building a modern full-stack application. So far, we have established a solid foundation with a documented REST API backend, a highly efficient developer environment using VS Code Dev Containers, and a disciplined Git workflow based on the fixup/autosquash model to maintain a clean history. We are now focused on building the React frontend on the feature-react-frontend branch, and our immediate next task (task-001.06) is to formally document the TypeScript monorepo strategy. This will ensure type safety and consistency between the new frontend and the backend services.

Me: Are you sure Gem?

node ➜ /workspaces/rest-api-minimal-example (feature-react-frontend) $ grep 'To Do' backlog/tasks/* backlog/tasks/task-001.04 - refactor(ui)-Consolidate-query-logic-into-custom-hooks.md:status: To Do backlog/tasks/task-001.05 - refactor(ui)-Finalize-frontend-refactor-cleanup.md:status: To Do backlog/tasks/task-001.06 - docs(architecture)-Document-the-monorepo-type-strategy.md:status: To Do backlog/tasks/task-001.07 - docs(backend)-Audit-and-standardize-all-backend-comments-to-JSDoc-style.md:status: To Do backlog/tasks/task-001 - refactor(ui)-Ensure-frontend-follows-frontend-architecture-guidelines.md:status: To Do

You sure you aren't getting ahead of yourself again?

Can you redo the summary and focus on the what rather than the how. thks

Gemini: You are absolutely right. My apologies for getting ahead of myself. Thanks for the correction.

Let's reset. Here is a more accurate summary focusing on the "what":

We are in the middle of a large refactoring effort to align the React frontend with our new architectural guidelines. We have already laid the groundwork by creating a decoupled data layer with adapters and repositories. Our immediate next task (task-001.04) is to make our custom hooks self-contained by moving the data-fetching and state management logic (TanStack Query) directly into the hooks that provide data to the UI. This will complete the separation between the UI components and the underlying data-fetching implementation.

Notice how Gemini is always trying to wrestle back control in some way. It‘s the start of the day so it‘s a bit subtle, but it gets a lot worse. It ultimately always escallates to the point where you are having to correct nearly everything it does, all while it‘s giving you a lecture on what good engineering practicces are, and how your capbilities are exacly what a senior engineer would do, all while appologising for continuously taking you off track and down blind alleys and culdesacs, nearly deleting your work, and putting garbage everywhere. You thought you knew what hypocracy was, and then you started coding with Gemini.

It‘s not a good sign when the tools you have to use treat you like that is it? Anyway, what can you do? You sort of just have to ignore that. Got to love git and the command line though. It was a lot worse before I had this setup. #

2025/07/15 #

My start to the day using the new task based workflow:

Me: So lets get started with task-001.03 - Can you gove a short 1 paragraph summary of where we are within in the fuller parent task (task-001), just so we remember what we are doing, at a high level.

Gemini: Of course. It's great to be back at it.

At a high level, we are in the middle of a significant refactor (task-001) to align the frontend with modern architectural guidelines, primarily by decoupling the UI from the data-fetching logic. So far, we have successfully established the foundational directories (task-001.01) and isolated all direct, low-level API calls into a new adapters layer (task-001.02). We are now moving to task-001.03, where we will build the repositories layer. This layer will act as a clean, stable interface on top of the adapters, allowing the rest of our application to request data with simple, semantic methods (e.g., tokenRepository.getAll()) without needing to know the underlying implementation details of axios or the API endpoints.

According to our workflow, the very first thing we should do is formally put the task in progress. Here is the command to do that:

backlog task edit task-001.03 -s "In Progress".

With the task now active, we can begin implementing the plan.

I thought this was a pretty darn good start. The last few days have been quite complicated by the "fog of war", so this level of clarity was a breath of fresh air.

Me: Awesome summary Gem, I have updated the task to in progress, let's press on.

2025/07/14 #

Abi Noda of DX [56:35]: “How do you upscale developers? How do you optimise your code for LLMs? How should platform engineering teams think about self service and enablement? [...] AI tooling, AI development workflows, curating Claude workflows [...] how do you create a standardised set of workflows so when you hire a new developer in an organisation, boom, they have this menu of super powers [...] those types of adjacent problems are new constraints for enterprises looking to deploy AI at organisational scale. Not single player mode, but more multi-player mode. How does an ORGANISATION become successful with these tools? It's a different set of problems.” #

Several quite grueling days of heavy programming in a row, but I am starting to get somewhere with my devcontainer setup and with how I‘m organising my work with Gemini. Hoping to get some more time tomorrow to write something in more detail, but essentially it involves writing task specifications and tracking them in git. It‘s using the very cool Backlog.md project. The cool thing is that Gemini can generate the backlog commands as you move through your tasks, and so it‘s mostly trivial to totally keep on top of your progress, even if you get disconnected and have to start with a fresh Gemini connection, which happens very often. Anyway I think this could make a big difference to velocity and accuracy. #

2025/07/12 #

It's funny I just realised I was so heads down in programming yesterday that I forgot to write any notes, and so that's why yesterday looked a bit strange with only links. Just like the good old days of linkbloging. A lot of those links are probably dead by now.

Just a quick note written in Termux on my mobile device while I listen to the latest All-In pod, having my breakfast. It's all about robots and AI supercomputers. Kind of crazy. #

2025/07/09 #

Yet another thing that Gemini is really good at.

So you are in the middle of coding something, but you get side tracked by something. Maybe it‘s a bug you discover in a related bit of code, or it‘s something you realise you have a gap in your domain knowledge about, or something that crops up as part of the usual back and forth between two people as they work on something, and you suddenly realise that you are side tracked, but it‘s a valuable detour, so you take a few minutes to explore.

You pretty quickly get to some form of resolution, or decision, or a new perspective or mental model about something, and it‘s time to get back on the main path and continue what you were doing. But wouldn‘t it be nice if you could document your findings somehow?

"Hey Gem, can you take all the details we just discussed and turn it into a document for reference please?"

If you can‘t think of a good name for the document, ask for a suggestion. A few seconds later, you have an API_GUIDE.md, a DESIGN_SYSTEM.md, or perhaps a COMMIT_CONVENTIONS.md, nicely tidied away in the /docs folder".

And I have found it‘s mostly pretty darn good. Probably much better than I would have been able to do, and occasionally is so unbelievably good that you are quite literally lost for words and have to go and have a few minutes break, because some part of you deep down just can not quite believe what it just witnessed. #

2025/07/08 #

Rupert Lowe on the Peter McCormack show Ep#091 [20:37]: “I don’t like the European Parliament Peter, but I tell you, as a parliament it functions better than Westminster.” #

2025/07/07 #

I found another bug in how the blog is getting rendered yesterday evening. The bug is in the archives plugin, and it‘s causing the title on article pages to use the incorrect HTML element, which leads to the text of the title being the wrong size. I‘ve figured out why it‘s happening, and I‘ve fixed it, but I need to update some of the other plugins to work with this new version of the archive plugin. Diving back into old code can be a bit confusing initially. #

Just fixed another small bug on the blog‘s tags page where the list of tags wasn‘t alpha-sorted, which obviously made it difficult to find what you are looking for. That‘s fixed now. #

2025/07/06 #

I just fixed a bug that I found yesterday on the blog where the font size on the posts, podcasts and newsletter archive pages was very big and thus difficult to read. That‘s fixed now.

While clicking around I discovered that the main pages of the blog, which only list the latest 20 posts, didn‘t have a link to the archives, so it just looked like there were not very many posts. Kind of an embarrassing over-site given that there are posts going all the way back to 2011. For many many years it was just a linkblog, but it evolved into a full on blog with many different post types. The bug was most likely introduced at the last big redesign. To be honest though it might have been the redesign before that. Previous to that re-design, the linkblog was running on Linkblog.io, and in a way, the archives on that site were more obvious because it only did links. Integrating the linkblog into a broader site with many post types hasn‘t been all that obvious. It‘s strange how obvious things seem in retrospect, but when you are in the thick of it, it‘s often not obvious at all.

Anyway, I‘ve added a link to the relevant archives page at the bottom of each main page now. Historically it‘s been so chaotic building personal websites that you couldn‘t always see the woods for the trees. #

2025/07/05 #

It occurred to me that we don‘t currently have very good ways of describing what it's like to use these new AI tools. In yesterday's blog post about VSCode and exoskeletons, I used an image of an futuristic soldier wearing an exoskeleton brandishing a huge machine gun. It looks cool, but on reflection it‘s not such a good analogy for AI tools. It probably wouldn‘t be on my mind so much, if there weren‘t escalating conflicts seemingly all over the world. I don't like that at all, we shouldn‘t be fighting each other.

I am reminded of Eisenhower's Farewell Address (1961), and his warning seems ever more prescient these days, everywhere I look the war machine appears to be gearing up on an enormous sales drive. Anyway all to say that we need better ways to describe these tools, because though defense is important, there are a lot of other reasons people build things. #

Mentioned on recent Rabbit Hole Recap Ep#363, Primal will be adding inbound and maybe outbound RSS [1:12:52] to their media publishing tool. Might be of interest if you are into RSS and the open web. I'm not sure it's exactly what some RSS enthusiasts have been pushing for, and they do shill their bags a bit, but if you get past that, the added RSS support is kinda cool, and there's a lot of synergy of underlying values between Nostr and RSS / the open web. It would be great if inbound and outbound RSS turned into a trend on social media platforms. I've been talking about it for a while now. #

Matt ODell [1:13:50]: “Yeah so Primal Studio the idea is let's make a first class publishing tool that competes with the big guys. Meta, X, Tick Tock, Substack [...] and open standards are awesome, people are posting to Substack, people are posting on Ghost, people are posting on their own websites, but it would be really great for them to have native Nostr long form posts that people can Zap and interact with that are signed and have all the other benefits in terms of verifiability that Nostr posts have. How do we make it as easy as possible for them? So on Primal Studio you can go in and you can important an RSS feed. So all of these things use the open standard called RSS. You import the RSS feed, as new posts are sent onto your RSS feed, through Substack or Ghost or whatever, they appear in your Primal Studio dashboard and they are automatically magically formatted for Nostr to the best of our ability, and we will get better at that over time. You go through it, you make sure everything looks good, and you can either post immediately or schedule a post [...] and because Nostr is an open platform it’s relatively easy to create RSS feeds automatically from Nostr feeds [...] and we will be adding the classic OAuth signin flow for things like Substack or X, so you can go into Primal Studio and you can do one post and it can go out to all your platforms.” #

2025/07/04 #

Thorsten Ball [19:43]: "Now you can give them tools and they do this on their own, and it’s truly just a for loop. The funny thing is, if you asked 100 engineers, 1/2 of them would say, it‘s just a for loop, and the others would say, with a smile on their face, IT’S JUST A FOR LOOP, like this is crazy. It‘s all in this model. You just give it output of 5 commands and then say what should I do next, and it goes and tries 15 other things because based on the previous conversation it now thinks the next best step the following, and ... and I‘m not going to use the same word again. It‘s nuts, it‘s bananas". #

Adam Stacoviak [1:13:37]: "There's a huge difference between using AI to help you think, and using AI to think for you. And if you are using AI to think for you, then we are heading for idiocracy and you're not going to make it [...] But if you are using it to help you think, now you are basically just a superhuman." #

Thorsten Ball [1:33:17]: "The really interesting bit for me is how will out engineering practices change? What code will we write by hand? What code will we generate? Thinking even further, will there be code that we don't check-in but instead we just check-in the prompt and just generate it on the fly? Will all code still be checked in?" #

Adam Stacoviak [1:33:55]: "How does this impact open source? [...] In a world where we can generate one off add hock tools, check ‘em into the code or not, keep the prompt or throw the prompt away, does the amount of open source diminish? Does my use of open source not matter as much, because can just generate anything I need?" #

2025/07/01 #

It‘s insane how much velocity you can get when coding using one of these AI assistants. At times it‘s bordering on the ridiculous. That‘s when it‘s going well. But you really have to watch out, because the AI can lead you into some situations that could be quite disastrous. That‘s what I‘ve discovered this past week.

Getting Gemini working in VSCode was definitely a level up from the web based UI in terms of workflow. Once it was able to view and edit files directly in my VSCode workspace, things really started taking off, but it also has a tendency to output a lot, and to get carried away with things, often trying to fix unrelated things, sometimes even in the background without telling you. You definitely don't want to be blindly accepting all the changes it suggests, and in this programmer‘s humble opinion you for sure want to be using devcontainers.

I'm starting to get a feel for when it‘s going off in a strange direction, and how to interact in such a way as to get it to focus. I'm curious to try some of the other AI assistants now. Anyhow just wanted to post something quick. With any luck this week I‘ll be able to add an MCP server to the OAuth 2.0 REST API I've been building. I'm curious how that will turn out. With any luck you'll be able to connect to all my blogging data from the past 10 years through an LLM. #

2025/06/26 #

I‘ve had a few days of very much heads down programming. I decided not to get demoralised with the issues I had had with Gemini a few days ago, and well to be very honest it got a lot worse before it got better. First of all I ended up losing about an entire day‘s work, but I persevered, and found way to use Gemini direct from within VSCode. That fixed much of the issues I had seen in the web UI losing work. There were a bunch of different issues, but I‘ve actually made a load of progress. I'll write more about it over the next few days. #

2025/06/24 #

I was hoping to be writing this note in better spirits. However once again Gemini has led me into another impossible situation. After a phenomenal start to the day, lots of forward progress, and generally great coding, we've reached that point where Gemini just won't do anything. It won't do anything I suggest, insists on adding crap in all the project files, seems to be derailing the entire project. It‘s very disappointing, and I am left in the middle of the road with traffic everywhere, having to pickup all the pieces and not die. Enough said. #

2025/06/23 #

I know I've been a bit critical of MCP the past few days. That's how tech goes. It's definitely how things go in software development. I think it's important to voice your concerns as they happen. That's part of the learning process, for everyone. Some technologies last, some don't, but either way it's okay and good to say what you think.

But it's also important to keep at it. The more you grapple with a new piece of tech the more you get a feel for it, the more you understand how it stands up against the other tech you are familiar with and the more you can see how it fits into the bigger picture.

All this to say, I haven't totally written off MCP, I'm still playing around with it. And I am, somewhat reluctantly I suppose, finding things about it that aren't so bad. #

Gates and Torvalds

Jameson Lopp: "Bill Gates and Linus Torvalds just met for the first time 🤯"

One of those tectonic plates shifting momentous moments that mean absolutely nothing to normal people. Tectonic plates isn‘t quite the right way to describe it, but you likely know what I mean. I like the understated subtlety of these types of events. They happen very rarely. I also thought it was kind of interesting that I found out about it on Nostr. Shit I wonder if it‘s fake news.

Update: Seems like it‘s legit. #

2025/06/21 #

I just updated a note I wrote yesterday to a blog post. I don‘t do that very often, or at least I try not to, because I know it kind of fucks things up for feed readers. But this idea to me really feels like it should have been a blog post, with a title. It was one of those notes that ends up being way longer than a note, and should have definitely been a blog post from the start, but I didn‘t know that at the outset.

Sorry, sometimes things just aren‘t all perfect. I did add some hamsters though. Of course the conversation that led to the hamsters was quite funny. The gallows humour these days is very pop punk. #

2025/06/20 #

Matt Odell on what you need [26:56] to set yourself up to be fully sovereign in the most privacy preserving way with Bitcoin [26:56]:

"Bitcoin Core or Nots, Electrum Server, Mempool Space. And boom you are off to the races".

Obvs this is if you are quite technical or a bit adventurous. #

I just installed Primal which is a Nostr client. Very smooth signup and onboarding. I already had a Nostr account but the signup sets you up with like 150 accounts based on your interests, and so I figured might aswell go with that. I don't think anybody was following my original Nostr account in any case.

It's nice to have lots of messages to read in my feed. That's probably the main reason I never checked Nostr before, I only had a few accounts I was following. I also couldn't figure out how to find people to follow. I had previously setup a nip5 so I guess I'll need to do that again.

Anyway here's my new npub. #

2025/06/18 #

Flat

Feeling a bit flat this morning, wondering if it‘s AI related. It‘s weird, I completed the project yesterday, there are loads of cool directions I can take it today, but I‘m just not feeling like it. #

It‘s one thing after another today. It‘s rabbit hole day. Maybe that‘s why I was feeling down earlier. Maybe I subconsciously already knew it was another rabbit hole day. Just discovered the space bar on the laptop sometimes squeaks when I tap it. Fuck. Rabbit hole days suck. #

I hadn‘t noticed before but PM‘s Question Time seems like it‘s modelled after a marriage counciling session. Everything is Mr Speaker this and Mr Speaker that. Perhaps that‘s the only way of doing it. The other way of looking at it, is that it‘s two small siblings having an argument. Do any other nations have a PM question time type setup? It‘s quite a weird public dynamic to force your politicians into. And maybe a strange thing to make the nation watch. Then again perhaps it‘s a good thing. #

More AI developer tools weirdness. Yesterday and the day before Gemini had absolutely no problems whatsoever seeing / remembering our previous chats, and it also had no problems reading files online. In fact I had it do both of those things many times in our chats. Today it‘s telling me that it can‘t do either.

It‘s actually stranger though, because today I got it to read my blog, but it said the latest post was the one called "Vibe War Games", which was a post from several days ago. #

2025/06/17 #

I‘m really curious and kind of excited to see how well Gemini can build the API specification we put together yesterday. Feels just the same as when you are excited to build a new feature when you aren‘t using a GPT as a coding assistant. #

2025/06/16 #

I just created an OAuth 2.0 API server and another example server that consumes the API. I was able to get it all working in a couple of hours with the help of Claude and Gemini. It wasn‘t totally straight forward, but definitely sped things up overall. #

I wonder if physicists that spend all their time studying the very small quantum world get on well with those that study the very very big, like solar systems and galaxies. You would think that those who study the very small things would somehow have internalised at an unconscious level that they are absolutely enormous, like giants that can get away with anything, and that those who study very large things are minuscule, insignificant and on some level not worthy. One would think that it would lead to a lot of tension, miscommunication and misunderstandings. I wonder if the universe has to somehow balance it all out. But of course at infinity things get very strange, and distance turns into time, and time into distance, and everything gets rather unbearable. On the other hand perhaps any publicity is good publicity? I‘m not super bothered, just wish it was a little (or a lot) easier to pay the bloody bills. #

2025/06/15 #

Vibe War Games

Following on from yesterday‘s success in setting up devcontainers, I got Gemini to create me a poster for a film based on the classic hacker movie War Games. Here was the prompt:

Make me picture for a new movie. It's based on the classic Hacker movie War Games, but it's set in modern day. The new film is called Vibe War Games, and features Matthew Broderick, who has not aged since the last film. He is eating a whopper from burger king while coding using an orchestra of GPTs.

In my mind I was thinking it would be a bit more like a sureal comedy rather than a thriller, given the current ridiculousness of the world, but perhaps it‘s a mix of both, given the current insanity of the world.

Glorious full resolution image.

Full transcript here. #

Alex Gleason [43:11]: “The new way I'm approaching software development at this point is not to try to go in and Discord code these features into these vibe coded apps, rather it's to see what are ways I can improve my stack, so that when I re-run these prompts, it'll produce a better result the second time and it will do it faster [...] to me this is like a compleately different software development methodology.” #

Alex Gleason [43:58]: "When things get stale, you may consider just deleting and re-vibing. I kind of view it as like every 6 months you just re-vibe the app. You are improving your stack the whole time and upgrading all of your shit, and improving the components in there.” #

I re-wrote an API app that I had written a while back, updating it to work better with devcontainers. One of the cool things is that it runs either as an express app of express apps, or as individual serverless functions using the serverless-http library. It‘s just one environment variable you have to set to switch between environments. Means you can run your apps on serverless, but if you decide for whatever reason you need to move over to a VPC server or kubernetes, you can easily do that. It's the very same code running in both places. I had an idea I could do this a while back, but it‘s the first time I‘ve got it working. It‘s pretty cool. #

2025/06/14 #

Steenbeck

Lots of copyright infringement claims are starting currently, Disney vs Midjourney for example. Is training an AI copying? Maybe it‘s next level copying, sort of like if you copied the entire printing press rather than a specific newspaper. You get the entire solution space of ideas for a particular paper. All possible combinations of the ideas outlined in a work of art. It's like stealing the negative of a film, except the negative is dynamic. #

Matt Odell [1:11:42]: “Not only do I expect there to be pain, I expect it to be like, in terms of measurement, in terms of like dollar amount, and people amount, like the most pain we've seen out of all of the cycles, just because we are operating at a scale higher than we've ever operated at before, and I think that the easy thing is to say […] it'll just go up forever. Directionally I actually do agree with that, I just think there are going to be valleys in between. I think there is going to be pain in between, and you have to be able to survive that pain and not be over leveraged and destroyed when it happens, and that's why the stay humble part is important.” #

I finally managed to get VSCode devcontainers working with private Github repos. The trick was to mount some files from the host OS to the container. Works pretty well, but the thing to remember is that with ssh keys, you get access to all repos in a Github account, so the only really safe way is to have seperate Github accounts for each project, and use different key pairs for each. I never got it working with the fine grained access tokens over https, no idea if it‘s even possible. #

Older posts: check out the archives.

For enquiries about my consulting, development, training and writing services, aswell as sponsorship opportunities contact me directly via email. More details about me here.