Sunday, December 28, 2025
I have always liked Christmas and eating cake. #
I have always liked Christmas and eating cake. #
Unnexpected internet connectivity issues this evening. What is up with all this blocking world? :( #
Let's avoid the advertising distopia. What even is advertising, or distopia or indeed let's and avoid for the matter. Such is the importance of all this, but we probably shouldn't worry about it too much because guess what, that's a distopia too. Oh noes! We're all gonna die! :) #
I feel like we might be about to enter a phase where a large number of people are going to get trapped in impossibles, and where there are no right answers and you just end up hanging onto something for dear life and waiting for it to pass. Whatever ‘it’ is. The darkness possibly. The corners of reality that reality has forced us into. That maybe we are about to see some of the strange contortions that exist here there and everywhere. And with some sort of probabilistic mathematical certainty we will be forced into yet more contortions. And it might at times look very ugly. #
The world is on an epic allow blocking rampage at me today. It's hard to put into words. Perhaps I'll disappear into an acme hole. Feel like that would be the world's favorite option. Apparently I'm impossible. Well guess what world, if I'm impossible, then you're impossible too. #
It's really quite unbelievable but the world would like things to be even more impossible. That appears to be it's answer to everything. Just add more impossible. #
Destiny always seems to find a way to squeeze in one more more. I'm completely physically and mentally exhausted. #
It literally never ends, the literal next moment after the last note, and the world added another little extra bit on top. Literally literally literally. Literally.
It's pointless asking for a stop, because that means more. Everything means more. #
As far as I can tell, yesterday's fixes to the social media auto-poster Github Actions appear to have worked :) #
Another suspiciously timed allergy flare up day today. The world continues to be very unhappy with my imperfections. Likely another tsunami on the way. Life goes on. Looking forward to another day. #
The alergy attack appears to have past, took almost the entire day. It can be completely debilitating when it happens. Very hard to concentrate on anything. It's sort of difficult to describe, not entirely disimilar to how it would feel to have stinging nettles rubbed all over your face, and right into your eyes. Sometimes I describe it as being punched in the face. It really drains your life energy. Roll on tomorrow :) #
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. #
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... #

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? #
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. #
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 :( #
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. #
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. #
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. #
The combination of the Nominative Determinism and Last Mile Synchronicty of this piece about a duo successfully rowing across Pacific Ocean is quite something. #
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. #
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. #
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. #
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." #

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. #

Happy birthday to me.
Happy birthday to me.
Happy birthday to me.
Happy birthday to me.
I have always enjoyed birthdays and eating cake. #
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. #
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". #
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. #
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. #

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. #

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. #
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." #
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. #
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 :) #
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. #

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. #

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. #

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. #
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. #
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 thefixup/autosquashmodel to maintain a clean history. We are now focused on building the React frontend on thefeature-react-frontendbranch, 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 DoYou 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. #
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. #
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. #
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. #
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. #
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. #
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. #
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.” #
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?" #
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. #
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. #
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. #
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. #

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. #
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. #
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. #

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. #
If you are a hardcore leftist you might at first find this a bit triggering, but I think it‘s worth pursuing until the logical conclusion. I asked Gemini: Why dont they call the public sector the government sector?, a very very interesting discussion ensued. #
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. #
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. #

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.
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. #

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. #
I made some pretty good progress on setting up my development environment using VSCode devcontainers. It‘s a bit slow at first because you have to download the image from the container registry. It quite straight forward for a typical setup. However I have quite a lot of code in private repositories, and of course once it‘s all running inside a container, the running code no longer has access to my ssh keys on the host OS. And that‘s where things get quite confusing.
Some people are saying to use ssh agent forwarding, which I don‘t think sounds very secure. Others are saying to use a fine grained Github access token, which sounds alright security-wise because you can create a token that only has read access, and if anything weird happens in the container, because say a vibe coding tool gets hacked, then it can only read the code. But I go through and set it up and I think I have it configured correctly, and it‘s still throwing up a popup asking me to login when I npm install. I‘ve been at it the whole day, tried a million and one different ways, and I still can‘t get it working.
It‘s looking like I‘m going to have to abandon my plans to use dev containers because it‘s just to complicated to configure securely. It‘s definitely better than last time I tried containers, but the devil is always in the details. Unless I can get it to work with private repos, it‘s not worth it. It would be awesome if all my code was open source and public, but I am still very far away from that point. I might try again tomorrow. #
I’m going to be concentrating on a few development things the next few days:
I already know quite a bit about these three things but there‘s nothing like doing something practical for real. Luckily I already have quite a bit of old code to play with, so hopefully I‘ll be moving forward both in my hireability as a developer and on a few personal projects.
It‘s nice to have a focussed plan.
I also started doing some morning exercises again today. Nothing crazy, just a 20 minute routine, but feeling good about it. #

Dave Winer: "I'm trying to make a linkblog with a WordPress RSS feed".
Sure would be cool to have propper linkblogs built on Wordpress, which is the biggest open source web publishing environment in the world. Looks like it’s early stages, where things are complicated and convoluted, but eventually things could be streamlined. Imho great project to dive into if you are a Wordpress developer, or just a project to keep on your radar if you are a Wordpress user. #
I was going to read this Sam Altman blog post that everyone‘s been linking to yesterday. I think it‘s about the future, and how the crazy shit that is happening now is nothing because soon humans will be out numbered by robots, so we ain‘t seen nothing yet. Ok I did glance at the first paragraph. Anyway, I was very caught up in other stuff, it was lunch time and so I needed something to listen to while I prepared lunch, so figured I could multi-task. How hard could it be to get my Android phone to read a webpage to me? This is the age of AI and robots and what have you right?
Spent 35 minutes googling, ai-ing, searching through settings, literally nothing worked. It was kind of funny because the AI said to use the phone‘s voice assistant which I did, and the phone‘s voice assistant said sure no problem just give me the url, which is odd given the AI said that it would know automatically based on the context, but anyway the assistant openned up a text box presumably for me to paste the url into. So I did, and it went off and did a text based summary, and so I asked why it didn‘t read it aloud and it said it couldn‘t do it because it was a text based AI, so I then asked it why it didn‘t do the thing it said for me to do, and it started asking me to change settings and it was basically a total waste of nearly an hour, and probably would have broken my phone had I not stopped. I also would have starved to death.
Is the voice assitant an AI? Why is it talking to me with audio, clearly being an audio based tool, then the next minute it‘s saying it‘s text based? What the fuck is that about?
No, I‘m not going to read the article now, because this is fucking stupid. We cannot even do email, notes and basic automation in a bulletproof way, and now we are building AIs that lie to our faces? Surely we are on a very precarious path right now? #
Github support finally got back in touch with me yesterday. They said they have identified a bug in their system, said they were very sorry for the troubles caused and gave me several months worth of extra build minutes free as a good will gesture. They also unblocked my account, so I was able to finally run the builds for my websites and publish the backlog of content.
I'm not totally thrilled about the whole situation, I mean it's nice to get the free minutes, but I'm wondering what happens when the several months of extra minutes finishes, will my account get blocked again? This situation just has the vibe of one of those sagas that will go on for ages. I hate to be defeatest, but my long winded saga pattern recognition is triggering. It's horrid because it's sort of paralysing because you are afraid to change anything in case it makes the situation worse. You are not even sure it's safe to blog about in case that makes it worse somehow.
And then there is the innevitable totally unrelated knock on effects. Today where I am there are issues with the water plumbing. One problem fixed, and within minutes another one pops it's head up. The plumbing issues actually started last night, literally a few minutes after I got the website updated.
Oh world. What are you doing to me again? #
Github support are still ghosting me. It’s been over two weeks since my account started being blocked. How dare me for trying to buy a few extra build minutes.
I’m not able to run any Actions workflows, which means I can’t publish content to any of my websites. I've openned up two support cases now. The original one, where eventually it seemed they had fixed the issue, and had given me 1000 free Actions minutes as an appology for the troubles, and a second support case oppened when the account got completely blocked again when I literally did exactly what they told me to do. They have stopped replying on both support case threads. Actually the second one they haven’t even replied at all yet. I have been very polite throughout in my correspondences, and I have given them lots of time, haven’t swamped them.
As I explained today to them, it’s starting to feel very much like they are trying to extort money from me. But it’s actually weirder than that, because they won’t let me pay them. It’s very very bizare. #
Micha Kaufman [37:40]: “I was asked in another conversation how is it to be a CEO right now, and I said you know it's like you asking the captain of a ship in the middle of a storm, how is it to be a captain? And the answer is it's wet, it's dark, and you can't see a mile ahead”. #
Micha Kaufman [44:48]: “I never use the term speed. I always use the term velocity. Speed is just the speed of movement, velocity is speed plus direction. Speed is not enough. You need energy in a certain direction. If you are unable to push the code that you generate, it means you didn't solve your infrastructure, to be able to do this, so it means that your priority is incorrect because you didn’t solve the bottlenecks that are keeping you from moving fast.” #
I’m more and more convinced that the entirety of the tech industry is a scam. It’s unbelievable how often it happens that you spend ages building something only for one of the pieces you rely on screwing you in some way, and so you eventually rebuild replacing that piece with something you built yourself, only for the next piece you rely on doing the exact same thing again to you. This has happened to me so often over the past 2 decades that I have lost count.
It’s truely ridiculous now. I'm literally at the point where I have refactored all my stuff so much that everything is powered by git, the most well used most well tested software development tool ever to have existed, it's all files, the simplest most well understood primitive in all of computing. And wouldn’t you know it, Github the most bulletproof company in the space, owned by one of the wealthiest tech companies of all time, now has decided to block me.
You couldn’t make this shit up. The tech industry is never happy with anything. If I refactored myself into a perfect beam of consciously directional light, it would still be unhappy. I’m only partly kidding. #
Leo Laporte [56:11]: “You know a month or two ago, there was a whistle-blower at the veterans administration who said that when DOGE got access to the databases at the veterans administration, they turned off all logging, first thing they did, and then exfilarated 10gigabytes of data to some place we don't know and then within minutes, Russian accounts were logging in using DOGE credentials, into the veterans administration. The whistle-blower was a sysadmin, it got a lot of attention, NPR covered it. He was interviewed by Rachel Maddow on MSNBC. He was threatened. There was a note taped to his door with a picture of him walking his dog from a drone shot, saying you might want to shut up about this. And then, btw, was it CSA? One of the federal agencies said yeah we're not going to investigate this. And I haven't heard a word about it since”. #

I’ve been working on a blog post, another Gemini collaboration post, for just over an hour. Working on stuff with AI is really bizare. It’s like the most extreme form of hit or miss ever. I’ve had loads of times when it’s a total disaster, both with writing code and with prose. Then again sometimes you get something back and it’s like nothing you could have imagined, and you are completely stuned by what you are reading, as if you’ve just been contacted by higher dimensional beings from another universe. That’s been the case today.
It seems to be particularly good at taking a jumble of thoughts, where there is an undercurent of something that you can’t quite put your finger on. I find that happens a lot when you read and listen to lots of online content from modern tech. I guess it’s often triggering many age old themes that have been hammered into you but they aren’t immediately obvious in a new context. This is great of course because often it’s exactly this sort of thing that can keep you awake ruminating at night as your brain tries to put all the pieces into a narrative that makes sense.
Of course you have to at some point put aside the awe of the situation, and get on with things, because neverending awe is stupid and annoying. Very odd this new AI world. Blog post to follow. #
What is up with these LLMs adding bold everywhere in text they write? It’s madening. #
It’s completely wild to me that I finished writing the latest Gemini collaboration blog post and the very next thing I did was pick back up a Rogan Protect Our Parks episode I had been watching yesterday, and they immediately start talking about Little Richard and the lyrics from Tutti Frutti, followed by a bit about modern content being sythesized from many different places.
For the record my Holy shit balls comment at the end of my blog post was lifted from the latest Rabbit Hole Recap Ep#360. I was listening to it as I finished the initial bullet point list that created the blog at the exact moment Marty said it comicly. I just thought it sounded funny, so added it to the list without giving it any thought. Don't think I'd ever heard the expression before. Just another set of data points that indicate we are living in some sort of AI guided, possibly nefarious, simulation.
Oh well, world keeps on turning. #
Still no word from Github support. My Github account is still blocked, so still can’t publish to the website. #
Honestly, sometimes I wonder if Bitcoin fixes anything. #
Google Gemini: "This isn't just about profit; it's about the preservation of consciousness itself!"
Just saying. #

Today I‘m trying to get Dev Containers run in VSCode. Putting aside all the vibe coding / Cursor craziness for a second, it seems that Dev Containers is actually quite a mature feature in VSCode, and it looks pretty cool. Last time I tried doing development with containers a few years ago, it was all a bit of a mess, especially on MacOS where Docker wasn’t even running properly. Anyhow, it seems that things have moved on considerably, and things are quite streamlined. I've managed to clone a public repo from Github, install all of the project dependencies, compile the code, and access the created website over HTTP. Crucially, everything is running inside a VSCode devcontainer, and that devcontainer is running in a container management tool that does not require root priveledges to run. At least that’s the idea. There were a few issues along the way, so blog post to follow. Once I have it all working in VSCode, I think it should be quite straight forward getting it to work in Cursor since as far as I understand, Cursor is based on VScode.
As I’m writing this I’m discovering that Cursor is proprietary software, which imo isn’t great because it’s running all sorts of things on your behalf, which requires a lot of trust. And of course it’s an AI that’s controlling Cursor, and who the heck knows what that means. And why the fuck have they taken VSCode which is open source and made it proprietary? That’s weird. Anyway, these are just the toughts going through my head as I tentatively walk down this new "shiny" road. #

I've been doing a bit of research into security implications of vibe coding environments following on from yesterday's attempt to install and configure Cursor. I'm really surpised at how little there is online about this topic. To be clear, there is a ton of stuff about security issues related to vibe coding, but it’s 99% about the security issues in the apps that people create with vibe coding tools, hardly anything published about the security concerns the tools cause themselves, though there are signs that some are aware of the issues. #

I had already used Gemini quite a bit trying to uncover the info related to setting up vibe coding environments securely, so I figured what the hell, might as well try to write a blog post together and see what happens.
I started by having Gemini read all my previous blog posts, to get my writing style. Then we put together the article based on a list of bullet points I had already created. I thought it worked out kind of good. Not entirely sure it sounds exactly like me, maybe a bit formulaic in places, but not too terrible.
I included links to the full chats. I think it’s worth experimenting with the tools, and sharing the process.
Also things get kind of meta sometimes when you collaborate with AI. Reminds me a bit of a recent Rogan show with Ehsan Ahmad. This new AI powered world gets very weird sometimes. #

Elon Musk [26:17]: "With Starship 3 and Raptor 3 it will be possible to have a rapidly refillable rocket with orbital refilling. Basically all of the ingredients necessary to make life multi-planetary will be possible with version 3 of Starship, which we are aiming to launch for the first time at the end of this year [...] anyone who wants to move to Mars and help build a new civilization, can do so [...], like how cool will that be? And even if you don't want to to do it, maybe you have a son or daughter who want to do that, or a friend who wants to do it. I think it would be the best adventure that one can possibly do, to go and help build a new civilization on a new planet". #
Thomas Ptacek: "Professional software developers are in the business of solving practical problems for people with code. We are not, in our day jobs, artisans." #
I’m looking at the Cursor editor, that seems to be what everyone is using at the minute because it uses AI agents. These new development workflows rely on agents doing lots of things on your behalf. All sorts of things: "They author files directly. They run tools. They compile code, run tests, and iterate on the results". Sounds amazing in many ways, but also sounds kind of dangerous.
The two things I’m worrying about right off the bat, are whether I am essentially giving a 3rd party control of my laptop, and second, am I also allowing Cursor to upload all my code to their servers? There are several security realated posts on their forum, and it seems they do upload your code but they don’t store it, and you have to trust them on that. I haven’t found any info on the editor having control of my machine. I’m going to hold off installing it until I know more about how it deals with these two issues. #

Internet connection appears to be restored today, though it was doing weird things when I first got online like upload speeds of 0 Mbps. I had to reconnect several times, but the past few hours have been normal. #
I ran out of build minutes a few days before the end of the month, which is why I haven’t been posting the past few days. Also been incredibly busy. Github have a new billing interface that imo makes it very difficult to see when you are about to run out of build minutes. I openned a support case to try and buy a bit extra but they’ve been so slow dealing with my ticket that the new billing cycle is here now. Oh well. #
Chamath Palihapitiya [36:54]: “It’s going to create a tough job market for new grads in the established organisations. What should new grads do? They should probably steap themselves in the tools and go to younger companies, or start a company. I think that’s the only solution for them”.
That’s essentially word for word the conclusion I had reached a few minutes ago. Yes sometimes I write these while I’m listening. #
Power cuts and internet issues where I am. Just another block in a long succession of blocks. The world is just not able to not block me in some way. It's mindboggling. Just writting this note now in case this gets blocked too. #
Busy day today, not much blogging probably. #

I do find all the LLMs stuff interesting, and I've noticed the latest Anthropic release for Claude seems to be reverberating with folks, especially for its better coding ability. The developer in me was immediately curious about this Simon Willison deep dive into the system prompts. Though there was definitely some interesting stuff in there I found myself skimming through it, because like all things LLM, it's all so wordy, and you also end up feeling like some sort of computer psycologist. I wonder whether my web developer trained brain will ever get as into this as Simon appears to be.
At the minute, to me it feels a bit too close to horoscopes than I am comfortable with, no offense to any psychics and mediums that might be reading this post. I find myself craving for the unambiguity of if statements, for loops, variables and of course async/await. #
Jason Calacanis (17:20): "Employees are going to get to certain points in their day and they are going to say can I get some more work to do? Humans are going to be begging for work". #
Jason Calacanis: "I have heard stories from founders, that people will get…they don't have the shares, they will say hey do you want to buy some Andril, I dont have the shares, would you pay this, then they setup an SPV or something, they collect your money, then they go find the shares, they have charged you over…I don't know if any of that is true but that's the back channel, is that there are people claiming they have access to shares, maybe they are buying shares in another SPV, and the markups, and the circular nature of this, is unregulated […] it's kind of another boiler room." #

The Ives - Altman collaboration announcement is interesting. There's something very funny about the whole thing, but also it's like hey maybe it's sort of serious, or they are partly aware of the ridiculousness. Perhaps this is the frontier of reality comedy hybrid. They have certainly got everyone talking about them. #

Since moving to Android I've been using QR codes a lot more. I noticed that several products I've bought recently have QR codes that encode a url. It's kind of neat. Well it just occurred to me that the ability to share a url with someone nearby you could be very useful. Turns out you can do this in Chrome. It's just another option in the share menu. You don't need an internet connection, you don't need to exchange contact details or login info, the url is encoded into the weird looking pixelated image. The person nearby that you are sharing the link with just has to scan the image with their phone's 'scan qr code' feature, which most modern phones have.
BTW, I'm seeing QR codes everywhere here in Europe. I think you can even pay bills using them, but I haven't figured out how people are doing that yet. Stablecoins perhaps? #
Lots of insightful stuff in the latest Vergecast podcast, especially around AI and the future of the web. Great episode, worth listening to. A few snippets that stood out:
Nilay Patel (1:11:31): "The web is the place where the information is, is quickly getting abstracted away to the web is the database that the new AI Google search synthesises for you."
Nilay Patel (1:16:05): "The web is a miracle. Straightforwardly, the web is a miracle. We have, in the world, a giant interconnected interdependent mostly open application platform. That's weird."
David Pierce (1:19:18) asks “Do we still need websites?” And after a bunch of interesting discussion including a quote from Sundar Pichai saying “What is the web but a series of databases” and eventually lands on this thought:
"The fundamental question here is what happens when display adds don't work anymore? What is the business of the web for the people that have traditionally relied on display ads? [...] but if the web is a series of un-rendered databases, the whole business of the web is suddenly immediately gone."
Alex Heath: Are websites just going to become like driving a vintage car? It's going to be this thing you do because it's a luxury, it feels good, it's a bespoke unique experience, it's not as efficient, but you do it and you spend more money. I kind of feel like that's the direction websites are going to go. #
In recent weeks, a lot of public companies are starting to hold Bitcoin on their balance sheet, doing the Saylor playbook. There are some websites poping up tracking these bitcoin treasury companies. It's interesing to see the distribution, they are all over the world. Could be the start of some sort of Bitcoin mania. #
CZ, Binance CEO (28:53): "There's a lot of data that we don't store, and now we are going to be smarter about how we store our data. They should be stored in a permissioned way, that we only allow access when we want to, and we should be able to monetise out of it. So your health data, you can be annonymised and used to train different AIs. Every interaction you have, every thought you have etc, if you want to you should be able to digitize that, blockchain tokennize it, and then be able to monetize it." #
CZ, Binance CEO (33:18): "What we are short on is not ideas. The same ideas, the same people have. What we lack on is strong founders that have very strong conviction, founders who are mission driven. Founders who are money driven...in this industry, in the crypto industry though, it's quite easy to raise 10, 50, 100, even more millions of dollars. People who are money driven, once they raise 100 million they think they have made it and the drive they kind of lose it. People who are mission driven, they continue to go. And also people who are mission driven, when there is some adversity, they plough through it. From our perspective what we lack most is strong founders in the space. We have a lot of strong founders, but we need way more, we need 10 X more. Strong founders with conviction, with ability to execute. If you have all 3, there is so much money to be made. You don't even have to think about money, the money will just come." #

Quite a crazy few days for me, hopefully things have settled at least for a short while. The world keeps on turning :) #
Not the most productive day, quite strange in places, but there were quite a few nice bits too. A very pleasant stroll along a big river, and some very tastey food. Everyone enjoying the sunny weather as best they could. #
Lots of crazy stuff happening seemingly everywhere at the minute. Feels like it's important to stay upbeat about things. #
I've never been to Syria but I've seen first hand people living in very difficult conditions in other parts of the world so I can imagine how this might feel for the Syrians. All we in the west have heard for so many years is all these terrible things happening in Syria, so I'm just so happy there's some hope for them finally. Best wishes for all. #

It's interesting to see that the US and the Saudis are getting on. This article made me smile a bit. It wasn't all that long ago, probably a decade ago, that I got pulled over into secondary at the US - Canadian border. I was going for a weekend snowboarding in Vermont. What was the issue? I had UAE stamp in my passport, because I had been to Abu Dhabi a few years before. Why had I been there? I was doing solutions architect work there for a US company! They were building a new television broadcast center there and I was integrating our software into their internal workflows and systems.
Anyhow the trip went well, I found the emeratis to be very friendly. It was kind of wild as the plane was landing in the early evening, looking down across the vastness of the desert, to see in the distance tiny pickup trucks and people riding camels battling the sand storms.
How times change. I hear and see lots of tech entrepreneurs visiting the region the last couple of years. #

I just rewatched the very cool Harold White space warp drive explanation that was featured on the latest Rogan. It's at 25:42 if you want to skip straight to it. The thing that I keep wondering is that if you are traveling at say warp 5, how do you ensure you don't smash into anything? The stoping distance at WARP5 has got to be spectacularly long, and I would have thought that across such large distances the chances of hiting something that is vaguely space ship sized must increase. #

Netlify support did finally get around to updating their cli github action, so all my deploys are working again. Thanks to those that took the time to post their similar experiences in the thread. #

All sorts of strange issues today. As well as all the deploy problems, I had some really quite bizare interactions with GPTs today. I have previously had some good experiences working on CSS with AIs, but today was with javascript, and it was really quite terrible. I was trying to do something very simple, and the AI was repeatedly failing, and adding complexity while doing so. So I asked it to remove the styling that it had added without asking me, and it said yep removed it. And it hadn't. This went on for at least 30 mins. Over and over it would say that it had removed it, but then it still hadn't, and it would even check itself and say, oh yes I didn't remove it, then still fail to remove it.
One thing that hadn't occurred to me before, and I can't believe I hadn't thought if this, and I also can't believe I haven't heard anyone talking about this yet. How do we know that the GPT companies aren't just barely training their models, then releasing them to billions of users half baked, so that the users train them for free without knowing it. Surely this is bound to happen as VC money dries up. #
Having some errors with the deploy to Netlify this morning. This is just a test post. Bit of a mystery since the status page doesn't show any relevant errors or incidents. #
There's definitely some type of issue on Netlify this morning as far as I can tell. I've openned a support case. The good news is that since I run a static site all powered by git, I can continue writing posts locally and they will sync up later, the bad news is that nothing new is currently being added to the live site. #
Well I am able to deploy directly to Netlify, hence you can read this post, but deploys via Github Actions appear to be completely blocked for me. I haven't seen that before in all the years I've had my sites on Netlify. It's a bit strange. No reply yet on the support forum site, almost 7 hours after reporting it. Not great. Especially since deploys to all my sites are currently affected. #

What with the Trump tarrifs, new US trade deals being struck, and the new pope, it feels like a lot of big things are sliding into place. I wonder whether this could be the beginning of a nice bit of momentum for everyone. #

This whole transition to using AI tools is going to be very complex. Of course that's nothing new to hear, but I get a sense that some are starting to get a feel for the size of the issue at hand. Reality is very very complicated and it took humanity literally millions of years in a shared reality to build the current non-AI "solution". I feel like we need to be careful, but also not too careful, sometimes you have to press on reguardless. But also, empathy, kindness. #
Nothing huge or major today, but I did fix a long standing bug on the linkblog that had been causing a display issue on some links. Basically if you used a file editor that adds a newline at the end of files when saving them, then that caused the linkblog link created from said file to not have space between the link text and link domain, which looked kind of bad. I was having to use an annoying workaround using the linux truncate command to remove the newline after each save. Anyhow that's fixed now. #

Figured I'd try for one more feature for the redesign. Here's a bunch of text. Far out in the uncharted backwaters of the unfashionable end of the Western Spiral arm of the Galaxy lies a small unregarded yellow sun. Orbiting this at a distance of roughly ninety-eight million miles is an utterly insignificant little blue-green planet whose ape-descended life forms are so amazingly primitive that they still think digital watches are a pretty neat idea. And if I've done this right, there should be a picture in the top right of this note. #
Just discovered a small bit of collateral damage from the site redesign. A lot of the site links on the about and portfolio pages were 404ing. I've updated them, so they now point to the correct place. Sorry, the links should work again now. #
Just had a strange but interesting conversation with ChatGPT about Belgium politics and belgians. I learnt a lot. Wish I could have asked it to draw a few more pictures. I felt a good representation necessitates much more creativity. Then again perhaps my questions could be better too.
It asked me to try again tomorrow. Anyways, check out the conversation. #
Following yesterday's redesign, I've been re-organising the menu items and pages on the blog this morning so they make more sense. It's not exactly right just yet, but it's better than it was. The problem is that "blog" is what we call the entire site, and the main page of that site is a page that display the blog posts, notes items and links all interleaved. But the menu items give you a way to view these individually as well. However since /blog is the site main page, then where do you put the page that shows just the blog posts? Bit of a connundrum. Well I've opted for /posts. As in 'only the blog posts'.
The whole things is compounded slightly by the idea of archives. Basically this is just a way to find posts by navigating a date folder structure. I won't go into it here, but you'll see the problem if you click around a bit. Integrating individual posts with the ability to have archives isn't trivial. I've noticed others are having similar issues on their blogs. Anyways, things are getting better slowly, bit by bit. #
I ended up figuring out the archives issue I mentioned earlier. I was able to change just the breadcrumbs at the top of each page which show the current location. It wasn't as complicatd as I had thought, but just difficult to see. It wasn't actually all that difficult to change, which is a really good sign that my static generator is very flexible. Of course there are some simplifications that could be made, but on the whole, it's working rather well. I think it likely won't be too much effort to get it to a state where I can release it as open source. #
My new favorate thing: Writing CSS code with Gemini. CSS is actually kind of fun again. And now the blog looks half decent both in a web browser and on mobile. More changes to come no doubt. Technically I guess this is vibe coding. #
The ankle injury appears to have made some good progress. It's feeling less painful and wobbly today, and that's good because I did a bit of walking yesterday, so I was half expecting it to be all swollen today. I think I've also mostly recovered from yesterday's horendous alergy flareup, though sinuses are stil a bit red and irritated. Difficult getting going this morning though. #
Bit of a disaster getting places today because of a general strike, but the weather is nice. Having to make sure I'm not putting too much weight on the ankle, and not walking too much. Working on the mobile device today, listening to tech podcasts and writing cover letters as best I can. #
Seen on an old bronze / brass plaque, turned a metalic green by time and weather, over a small bridge in a small town earlier:
"Hommage a la 1ere armée americaine et la brigade piron - 5 September 1944"
Reminder that something big happened here 80 years ago. It's just part of every day life. #
Very difficult day today because I had another alergy flare up day. Completely exhausted. It's just impossible to do anything when you are repeatedly being punched in the face. That's not far off what it feels like. Seriously. Anyway still got some stuff done despite a very antagonistic world.
Why you trying to punch yourself in face world? #
The ankle had been getting somewhat better following 2 days of almost no walking. I went to the shops earlier though, just a 10 minute walk away, and it definitely still was feeling weak, I couldn't put any weight on it. I've been back now for a few hours and it feels quite painful again. Having an injury like this is basically the last thing I need right now. Very difficult to focus and stay motivated.
The weather has cleared up a bit, with some sunshine this afternoon. It even got a bit warm, reaching to the low twenties (Celcius). #
I've noticed that all the links in yesterday's 'today's links' section all have words missing at the end of the link text. It's because the editor I'm using to edit the files adds a newline at the end of files when you save them, and that causes the link posts generated from them to not have space between the text and the domain. I wrote about it previously. I tried to modify the editor to not add newlines, but that didn't work for whatever reason, so I found a workaround which was to use the 'truncate' command. I thought it was only removing newlines, but turns out it was just truncating the file by a small amount each time, so if I ran it multiple times, which I was doing by running it on all the links each time I created a new link, then after removing the newline, it would start removing actual words. Oh noes!
Maybe at some point I'll find a better solution, but for the minute I jut need to remember to only run it once per file after saving the file.
Computers are fabulous, but also kind of annoying sometimes. #
I've been checking out the NodeJS certifications that the Linux foundation are selling. They look kind of interesting, though I find their marketing a bit confusing. I guess the JSNAD and JSNSD would be most appropriate for a web developer. It's a bit confusing whether the certification is included in the training course or not. I know some industries really like these types of certifications. #
Cold and drizzly rain day today where I am. Ankle still hurting quite a lot, so I'm trying to keep that leg rested and perched up on a cushion. All the new blogging scripts, bash aliases and of course the laptop, are making writing much more enjoyable. #
Now that I have my feed reading setup on the new laptop with Feedly and Newsify, I am familiarising myself with how everything looks. Around the start of the year, I pruned my RSS feeds and orgnanised them into two groups, News and Bloggers. News has stuff from media publications, organisations, that kind of stuff, while Bloggers is basically just for individuals running their own website. It's super simple and feels really clean. #
Jim Nielsen appears to have figured out the whole having your websites on different subdomains thing. When I did it myself, everything felt very scattered to me, which is why I decided to move to having everything on a seperate domain. Jim's setup looks pretty cool though. He's also got a lot of neat things on the websites like inbound and outbound links, useful stats, social validation, projetcs, notes. I think the fact that his main landing page doesn't have any tabs, menus or sidebars is crucial. #
I've managed to somehow twist by ankle so I've been hobbling along the past few days. It's swollen and really hurts to walk. So I'm trying not to put too much weight on it.
Making some progress on setting up the laptop. I think I finally got a cross platform solution for daily note taking using Notion. I've also gotten all my Bookmarks synched between all my devices using Google Chrome sync. And while I was on the organising front, I removed android apps I wasn't using, re-organised the ones I am using, and I just improved my blogging workflow by adding some bash aliases that will make it easy to create the markdown files I use for posts. Adding the uuids, date and times has been a real pain, as well as naming the files. With the new aliases that will all happen instantly and be always correct.
I also decided I haven't been listening to enough music recently, so I logged back into Spotify after many years not using the account, and used their very intuitive software to tell them what bands I like. It was a little trip down memory lane, passing through all the major music epochs of my life, with Spotify suggesting bands as I clicked on ones I liked.
One day all these small niggley things you have to do when you setup a new machine will be automatic. Though it's definitely getting easier in many places. There is a long way to go. #
Setting up a basic blogging environment on the new laptop. If this note makes it onto the website then it worked! #
Very hectic few days, so I haven't had much of a chance to do any blogging. I've been spending quite a lot of time setting up the new laptop, lots of sort of annoying issues that I've needed to iron out, maybe I'll get some time to write about them soon. Mostly they have been related to re-activating various accounts and online tools. The laptop itself is very great. I have things in a functional state, but still quite a bit to do. I have found some temporary accomodation which should make things a bit easier. I just moved in earlier today, I will be here for the next month, at which point I will have found a job, and be in a more stable situation. Lots to do. #
I just bought a new Mac Book Air 15". I've been trying to buy a laptop for something like 4 years now, so as you can imagine, I am quite happy :) #
Day trip into the capital today. Really sunny weather, cold in the mornings but by afternoon really quite warm. And oh my gosh Europe can be so very beautiful. #
I figured out a compromise as for the dotfiles dilema. Fully updating the dotfiles was indeed too big a job for right now, however progress was too slow not to do something, so I've created a temporary bashrc file containing alias' for navigation, file creation and file editing for all the basic blogging tasks I do day to day. That should make things a big more streamlined. Also backed it up. #
Some internet connectivity / WiFi issues today for some reason. Thankfully with a static website powered by git, I can still blog without complete interuption. #
Matthew Mazinski on the Peter McCormack Podcast [30:42]: "A very interesting phenomenon, since Trump has taken power, you could look at all the defence stocks in the United States, they are down. In Europe they are up. Complete polar opposites, and big. European stocks are flying right now. Europea defense contractors are flying right now. Specifically because Europe knows that they need to shoulder more of the burden, because they need to rely on the United States anymore". #
Internet / WiFi connection appears to be operational again. #
A quick update to the issue I was having with the Notion UI a few days ago. I contacted their support team and after a bit of back and forth, and some screenshots, we were able figure out the issue. They had been describing a different interface for some reason. Turns out there is a button for turning text into a list. #
Turns out the text editor I was using in iOS was automatically removing newlines at the end of posts, but Neovim, which I'm using on Android, does not. That resulted in no space betwwen daily link text and it's domain. Removing the newline fixed the space problem. Now I just need to figure out a way to make this the default, because having the manually do it each time will be way too tedious. #
I really need to update my dotfiles so that they work on Android. It feels like a bit of an impossible task at the minute. Though I have the essentials of my publishing workflow working on Android, it's so tedious to do many things. Normally I would customize my bash shell, adding shortcuts and customisations that would speed things up, eliminating repetitive tedious steps in my workflow. That normally would go in the dotfiles. However updating the dotfiles I fear could become a much bigger job than I want to tackle right now. Classic programmer catch 22 situation. #
I've been testing out the Notion app on Android today, because I really need a replacement for OneNote which is so horrible to use. Notion looks great in lots of ways, but it seems impossible to turn existing text into a bulletted or check list. You have to know before you start typing that you are going to be writing a list. That's totally impractical, makes it very hard to work alongside existing apps. Cut and pasting a list from another app just isn't possible, as far as I can tell. #
As part of last week's Android setup I have installed all major GPTs. So that's ChatGPT, Claude and Gemini. I've been using them to answer basic questions, like for instance which are the best Android text editors and git clients. The answers have been quite good.
Today I noticed that there was a push notification that Grok had been installed. I had tried to install it a few days ago but was told it wasn't available yet but that I could opt for it to auto-install when it was available, which I did. When I opened the app, this time instead of just using it a bit like a web browser, I decided to "have a chat" with it. It was pretty interesting, and to be honest quite fun.
We talked about general life stuff, and that turned into a conversation about my software development projects, and I gave Grok links to the docs, and it was able to read through them and asked me some useful questions. It was kind of like a brainstorming session where you are trying to find a way to best present your product. It was neat. I got the impression that I could have gotten very technical if I had wanted to.
Later we also talked about the Trump tariffs and the effect on the stock markets and general chaos around the world. Grok was able to search through live market data and correlate with tweets from the past few days. Everyone it seems is moving to safety, basically that's treasury bonds and gold. After a bit of back and forth we came up with a set of metrics to watch to get an idea of when the tides will be turning and folks will be starting to get back into Bitcoin.
Then I ran out of messages. I guess I used all my quota. Oh well.
Pretty cool though. I am wondering now how else I could use AI in daily activities. #
Just a test note to see if the notes feature is still working. If this note appears as the last post in the current day then this test worked! :) #
Just listened to Willem Dafoe on the Louix Theroux podcast. Very strange experience listening to it while the bloke in the prison cell periodically looses his shit, while me and the other two blokes in here in the ajoining room sit quietly, while officers from the main room periodically entrr and leave room with cigarettes, water and food for everyone but me. Can’t say I was fully able to appreciate the podcast. The bits I did hear were quite good. #
I’m listening to lots of podcasts while stuck in this bizare situation, but it’s even more impossible than in the shop cafes, because there is so much crazy stuff going on. Starvation, thirst, prisoners, police officers. Really very far from an ideal situation. Sorry dear readers, I imagine this makes fir really terrible reading. I eish the world would allow just a tiny bit, instead of this constant walking into total blocking of everything. #
John Gruber: "Project Digits is a genuinely innovative idea. And Jensen Huang is a charismatic presenter. He’s good. But one thing that’s very clear to my eyes is that they didn’t rehearse enough. Or more specifically, they didn’t rehearse nearly as much as Apple did when Apple performed live keynotes. Part of Steve Jobs’s on-stage appeal was that he came across as largely winging it, speaking off the cuff from an outline of prepared Keynote slides. But that was an illusion. Jobs rehearsed, rehearsed, rehearsed, and then rehearsed some more. Jobs might have been better than anyone else even if he had just winged it, but he still put in the work of rehearsing long hours to be as good as he could be."
Given that Gruber has been one of the most faithful Apple reporters over the years, really interesting to hear his take on Nvidia’s new Digits project. Some great anecdotes. #
I notice Zuck is on Rogan today. He always seems to appear on podcasts at the same time as big events are happening to me. It’s very bizare.
Also what a week for the wildfires in LA to happen. Was looking at some posts on twitter last night. That looks completely foobared. Never seen anything like it.
Saw a post on Threads from Kevin Rose. Apparently his house got burned to the ground. The whole thing looks not far off a scene from a nuclear bomb aftermath movie. #
For whatever reason, Rogan podcasts are not downloading. Both the Zuck and Mel Gibson podcasts are not downloading. They keep failing at around 60-70% complete. Other pods, though they are taking ages, are successfuly downloading. Strange. #
Slept in a little later than usual to try and catchup a bit on some sleep. Feeling better than I would have done otherwise but running a bit late compared to normal. I’m relatively happy with the amount of blogging from the past few days though not necessarily with the quality. Much of it has felt a but rushed and forced.
Anyhow, development-wise I’ve made a few small fixed to the RSS feed refactor that so far hasn’t had any major conplications so I’m going to slowly move ahead with that one small piece at a time, trying to make sure I don’t run out of build minutes.
Figured out that the logging synchronisation fix I made hasn’t worked. There was a bit of movement on the issue I raised in the debug module repo that said as much, but it was good to confirm it in my code. I have to re-read their latest advice because I couldn’t make heads or tails of it when I read it a few days ago. #
Following on from this piece I just wrote, which is effectively a dénouement post of the past few week’s blogging, I wouldn’t be suprised if worldo has a hissy fit and makes me ill. We shall see. I wrote this note because I just had an impromptu very brief runny nose, barely a few minutes after finishing said blog post. #
Jason Calacanis on the Nvidia Digits workstation [42:15]: "I’d say the thing that’s teally interesting about things that start as toys, or as hobbies, this feels like the raspberry pie, it feels like the PC in the early days. These things were toys and people were tinkering with them, and then an application comes out, and then people really want it, and then everybody has to have it. The Palm Pilot, the General Magic machines were these little digital assistants, they were PDAs, personal digital assistants, they had a dictionary on them, a calendar on them, they weren’t connected to the internet, you had to plug them in with a big fat cable to your computer to get the data to sync, it never worked, it took an hour, and then all of a sudden, now we all have iPhones and Android phones." #
I got quite a bit of rough sketch, slightly scrappy blogging done yesterday, and resolved a really annoying bug in my code. Several very interesting podcasts, all seemingly related at a high level. I had a quick look at the RSS refactor, I might try and fix a few bugs in that to get a feel for how much work it might be.
The thing with blogging is you need to absorb a bunch of stuff, have time to process and analyse it, putting it into context, before the good quality posts start to flow. The world at the minute doesn’t understand this and just expects posts to pop out on command. It’s constantly trying to maximum. But it doesn’t work like that. Also blogging doesn’t work if you are being starved and have no fuel in the tank so to speak, and that’s another of it’s favorite things to do.
Anyway here’s to hoping worldo will figure out a good balance, and allow itself to do the things it needs to do. #
Was planning to spend some time this morning reading and posting links, it’s been a few days since I’ve had a chance to do that, but worldo has other ideas. Specifically an exageratedly loud young teenage boy has situated himself nearby playing video games on a portable, smacking and door nocking the table over and over, as well as periodically having strange epileptic type convulsions of his pelvis. He’s wearing a school uniform. It’s almost as if he’s been sent to annoy me.
Earlier there was an apparent motorbike taxi bloke wearing a yellow top who wouldn’t sit down, insisting on standing next to the white washed grafiti dick. Then he kept leaving then coming back. Must have done it 5 or 6 times.
I guess I’ll read and post links later when worldo has gotten over it’s episode. Are you getting angry again worldo, while trying to say it’s me that is angry? #
Worth noting that yesterday I door knocked the glass at the sandwich store to get the attention of the sandwich guy bloke, who is always moody with me. It was a busy morning so I wanted to make sure yet another person didn't cut the queue ahead of me, something that has been happening almost everyday the past few days. As it happened it appeared he was already preparing my sandwich even though I hadn’t asked for it yet. He seemed annoyed at me. Yet was happy to recieve orders from the queue cutting overly loud and bossy women.
I decided against a sandwich this morning. Strange then that teenage boys sitting next to me are going on impromptu table knocking rampages today.
Worldo trying to create contradictions so it can get angry perhaps?
Also multiple coffee and small bottle of water situations today. Coffee and water bottle incidents have been trending since coffee was blocked a couple of days ago at another shop cafe. #
Konstantin Kisin [42:46]: "What people don’t seem to realise on the progressive left, for want of a better term, on the extremes is the cancelation, the silencing people, for shaming people for having mainstream political opinions or cultural opinions, they don’t seem to realise that they are then fueling this rise on the opposite side of the spectrum. That the more they push down here, the more this rises. Then they complain about what’s happening to the culture. And you say to them, do you not understand that this is partially being created by what you are doing here?" #
Gare Davis and Ed Zitron at CES 2025 [28:04]:
GD: Because everyone is so bought into it, if you make any objection during any Q&A panel, people are like SO surprised. It’s like you’re a heretic. It’s insane. It’s like you don’t believe in the project of humanity, to these people.
EZ: It’s like you don’t believe in Santa Claus
GD: It’s wild.
Note that Zitron has setup a sort of confessional with an actual fully stocked bar in the heart of the conference, and people are being amusingly candid about their CES experience.
They will be recording pods for the next few days. #
Maybe leaders don’t run blogs or podcasts because they literally can’t. Strange to think this, because it’s so easy these days, but maybe for whatever reason, they literally can’t.
Things might be a lot worse than they appear. #
On the latest Punk Till I Die podcast, Neal shares stories from his recent trip home to England.
England belongs to Neal Ep#320.
All sorts of funny shit, but also heart felt stories from people and families stuck in between cultures. Oh yeah, and tons of excellent non pop punk punk and metal.
People stuck in between cultures in bizare ways seems to be trending the last few days. #
I’m finishing off a few smaller tidy up type features. Getting rid of some old configuration that’s no longer necessary. I had left it in while I was making bigger changes and put in new configuration alongside it, to avoid inconsequential things breaking. But now that the bigger changes are all implemented it’s time to remove the old config and fix any things that are affected. So far it’s as I expected, none of the old config was even being used for anything, so just removing it hasn’t caused anything to break.
After that I’m not totally sure. It will depend on how many build minutes are left. There is the RSS feed refactor, but since I got it working using the old structure, and I’m enjoying seing all my posts in the RSS reader, I’m thinking to leave that for a while. It would be nice to get that done at some point but it’s not urgent. The refactor is all written, it just needs testing, but my sense is it will take up lots of build minutes because the feeds plugin has an npm module cache, and that always eats up build minutes during testing because anytime you change anything in a plugin you have to refresh the module cache.
So more blogging would be great but worldo has started blocking things again the past few days. The new thing is coffee has been removed from one of the shop cafes I go to. They are suddenly only selling big boxes instead of single items. And of course it’s accompanied by people playing badmington ordering me to 'blog!', so they are literally blocking the thing they are ordering me to do by people doing the opposite. There’s also some new thing at one of the sandwich shops, where as soon as I turn up the apparent customer being served says 'maximum' then some new people suddenly appear out of nowhere and cut in line right in front of you. It’s just the same old bullcrap bullying. And of course it escallates in every shop as everything in the universe gets blamed on you, and then they start removing cold drinks in the fridges, replacing them with warm ones. And then in the evening you get gifted tons of milk and cold sugar free coke just when you are brushing your teeth, and I’m being gifted a million small bottles of water, so many I can’t carry them. It’s just maliciousness dressed up as kindness.
And so it goes. World keeps on turning, everyone gets a bit more angry, and blames it on me. The world win win win wins while ademently pretending that it’s lose lose lose losing. It then has a win maximus tiddle wave of win, where literally thousands and thousands of people are blowing air horns and waving flags in an enormous celebration orgy, keeping me awake all night, then is sad and angry and will probably block coffee again later.
And so it continues going. Yet again, even more more total reality inversion maximus. And still it is sad and unhappy.
All I can do is shrug. #
Glad I got the better debugging feature complete. The plugins refactor to use more utility functions and the output synchronisation will make figuring out issues much easier. I’ve used up about half my build minutes for this month so I will concentrate on features that can be done without much iteration and building.
Still feeling a bit rusty as far as blogging goes. I think it’s because things have been so chaotic it’s been difficult to see the woods for the trees. #
In the future we will want our leaders to run their own podcasts because it will be a way of demonstrating that they aren’t in the clutches of both billionaires but also the deep state. #
Tom Luongo [28:24]: "You can hold two positions that are seemingly against each other at the same time because they are not in parallel. You can have two different opinions about the same person, where one is negative and one is positive. I see the good and the bad in Elon Musk here. Him going after Keir Starmer, and inserting himself into german politics, and going after the European Union at a regulatory level and at a money level - they have had strategy discussions about this within the Trump team, it’s very clear to me. I look at the totality of what’s playing out, they are playing offence here. And I like that they are playing offence, and at the same time, the other side is going to play offence as well, and they are going to make mistakes." #
Was kept awake literally the entire night. Finally got some sleep from 5am - 745am. Feeling not great now. The weather is alright. I’ll likely be bullied for being tired for the rest of the day. My plan had been to write the newsletter this morning, I had prepared all the podcasts yesterday afternoon, but as it became clear I wasn’t going to be able to sleep I ended up writing an emergency issue just so something gets sent out. That makes me very sad because it’s really not how I wanted to start the year :( #
Jason Calacanis [1:53:37]: “I’m with you. I love conspiracy Gavin. This has been the best part of the show. Conspiracy Gavin is AWESOME! I love it!”
This really made me laugh. Great episode btw. #
I think maybe I’ve fixed the debug / console.log synchronisation issue. It’s a bit difficult to tell. With the fix all the output appears to be all synchronised, and henceforth therefor much easier to read. It will likely take a while to get used to it. I’m going to put it behind an environment variable so you can always turn it off. It’s likely only really necessary in some circumstances. It might turn out to be in practice overly restrictive. Same as with a debugger, it can be useful but really you don’t want to spend your whole life in the debugger or else you end up debugging the debugger. Only turn it on when you need it, then turn it off again. #
Duncan Trussell and Luis Gomez solve a very different kind of synchronisation issue on the latest Duncan Trussell podcast [Female advisory: explicit boy humour].
Also: drones with machine guns, teaching your kids entrepreneurship, manufacturing wins, sales, business as magic, truth, manipulation, magicians, insane mindfucks, beauty, skill, craftmanship, politicians, social media vs cigarettes, phones & doom scroling, pass-par-tout, perfectly targeted propaganda, compassion, the shocking tik tok dancing psyop conspiracy.
Worth the listen, no need to feel guilty about it. Just go back to base but also be the kindness you want to see in the world. #
Today has been another day of contradictions. The world is plus infiniti minus infiniti-ing everything, then getting upset and doing all it’s usual tricks, making 1 equal infiniti, making minimum equal maximum, and all sorts of other bullcrap, all culminating in everything being blamed on me and everyone being sad. Then I get blamed for that too. I can see how this might seem exagerated or overly negative, but it’s only when you see it happening for yourself, that you realise it’s a real thing. I’m not sure what the answer is but I’m pretty sure some things make it worse. But it is ultimately all self defeating because, at least for now, we are all on this spec of space dust together. #
I’ve gotten all the plugins refactored with utility functions to improve debugging. It’s looking pretty good, and from the debugging I’ve had to do making the updates, appears to be much easier to focus in on specific places in the code without having to deal with a deluge of output.
Once I’ve merged in those changes, it will be the next phase, which is to try and setup a way get the regular console.log output synchronised with debug output. I have no idea if that will work. I openned up an issue on the node-debug repo a while back, got some good feedback, but my recent questions have gone unanswered. At least now I’ll soon be in a position to try it myself.
Also have the newsletter to prepare for tomorrow so quite a few things to get done. #
Matt Odell critique of Elon Musk on the most recent Rabbit Hole Recap podcast Ep#338 [31:09]:
"This AI piece is interesting, because my understanding is the X deal is way underwater. He completely overpaid for X, and the way he’s monetising it, the way he’s digging himself out of it, and digging his investors out of it, is xAI, which is fed by the Blue Checks. The killer advantage that xAI has is that it has real-time data, that is fed by a bunch of human Blue Checks, that have basically umbilical chords connected to this AI machine, and they are just feeding it information. And so at the same time he is attacking the people that are feeding it, and they are angry, and they complain about it on his platform while feeding the AI further. And they’re just gonna keep using it. Most of them are just gonna keep using it. It’s a pretty crazy Mandibles-esque backdrop that we are entering 2025 under."
Probably the best Elon critique I’ve heard in a while because it’s based on high quality analysis rather than hot headed personal attacks. The situation is odd, and he’s outlined exactly why. #
Mike Masnick: "I don’t like the fact that we are in a position where the biggest companies and our elected officials are equally untrustworthy, but if that’s where we are, we might as well use it as an opportunity to route around both and build better systems that aren’t focused on extraction from the public, but empowering the public." #
Ideas are starting to percolate for a few blog posts. I got a scrappy one out last night, but feeling a little bit rusty. It’s like I’m stretching tired old legs and arms. But you just got to press on regardless even if it isn’t perfectly written prose. This is blogging, it’s live thinking. It gets better over time.
I’m going to be merging in little bits of feature branches I had been working on while I had no build minutes. There are a few around refactoring plugins to make debug logging easier. Extracting out utility functions into seperate files. That makes it easier to turn on and off debug logging without getting overwhelmed with output.
Then a few blog posts, and I need to somehow seperate out full text posts and partial text posts in my RSS reader. Most feeds are annoyingly partial feeds, which is completely useless for reading offline. I guess I’ll add a 'full text' tag to the ones that publish full text. That way I don’t waste time trauling through stuff that I can’t read anyway. #
Interesting discussion on the latest Citadel Dispatch Ep#148 between Matt Odell and Buck Perley co-hosts of Austin BitDevs and an engineer at Unchained [21:32]:
"It‘s a great case for collaborative custody as the model for the future of Bitcoin custody. You collaborate with us, you get a key from us, you can use your wallet wherever you want outside of that, and in the future that’s going to open up even more models of collaboration. You talked about how we have you hold two keys and Unchained holds one key, well now we have connections where you can hold a key for your family member. Maybe you don’t want your funds to be KYC’d, but your family member doesn’t care about the KYC because they care more about ?, they don’t trust themselves as much, but they also don’t want to hold 2 keys. Now you can be a part of that. Your funds aren’t KYC’d but you are helping your friend and family member to manage their funds. You can now interact with that vault as well in Caravan or Sparrow or Electrum. Which one you use is irrelevant, it’s the fact that you can use multiple and be using an Unchained vault is the real magic."
This sounds like the right direction to me. Allow the user to choose what tools they use, and make it possible for them to connect to your services. It’s still early days in crypto and Bitcoin, so things still look a bit disorganised and complicated from the outside, but at least these devs are trying to make software that respects users. The tech is kinda interesting too, BDK, Rust Miniscript, javascript, WASM. #
Only a day after taking somewhat of a friendly pop at the Rest is History guys, I am reminded why I still listen to their podcast, even if they can often be infuriatingly self righteous. On their latest, really great segment covering the importance and nuances of interpreters in international negotiations. Complete with some amusing stories from their time in the field.
It’s not quite as grandiose as their adventurous stories, but it reminded me of some of my narly business trips to places in eastern europe and the middle east. One can really get into some very bizare situations traveling around the world, especially with language and cultural differences. #
I just remembered that this morning when I woke up I immediately coughed up an enormous glob of flem. It felt very much like the start of a flem cough, complete with raspy cough. The odd thing though was that it totally disapeared within 20 mins, and there‘s been no sign of a flem cough all day. Although I’ve been getting these alergy flareups / colds fortnightly, thankfully it’s been quite a while since I’ve had a flem cough.
The Demiurge [35:27]: "Let’s go back to base."
Gosh what are the chances eh? Neither, or even none, of the possibilities are mutially exclusive. #
First day of the new year!
It’s definitely 2025, I just had to create a '2025' folder in the website data repo to write this post. I don’t get to do that very often.
Last night was somewhat unneventfull but that was actually rather nice. It was nice people watching, seing everyone all dressed up and occasionally sparkly, all going out to whereever they were goong out to. Then a few hours later everyone making their way home, many children clearly past their usual bedtime, completely passed out in their parents arms, or somewhat precariously squashed between adults on the back of a motorbike. Everyone appeared to be in good spirits. Right before new year’s a group of twenty somethings bought me a drink, a sandwich and a sweet bun, and we exchanged 'Happy New Year’s', and smiled and laughed a little.
And I saw the end of the big fireworks display poking up above the roof tops a few miles away. I didn’t get hardly any sleep, but that’s expected on New Year’s isn’t it.
So many runners this morning. Hundreds of them, all in groups, wearing synchronised colored tshirts. Lots of folks who likely don’t usually run, looking a bit shell shocked and lost. Runners literally running in every direction. It’s amusingly chaotic, but folks are in a happy mood.
I’m happy to report I managed to mostly fix the RSS feeds last night. They are all looking great in feed readers now, without any strange HTML tags. There is still an issue with an incorrect url that is set in item link elements on the everything feed. The posts all contain hash links so you can still get to the post on the website, but I’ll hopefully figure that out and fix it over the next few days. It’s nice to see all my posts are finally readable.
Weather is cloudy, but at least it isn’t rainy or cold. #