π Welcome!
This is my personal site where I note down my thoughts. Enjoy!
This is my personal site where I note down my thoughts. Enjoy!
A well written book explaining in detail how BigTech got so big that it is too big to fail (lack of enforcement of anti-trust laws) and what we can do about it (forced interoperability). The author coins the term comcom in this book: Competitive Compatibility.
There is nothing revolutionary in this book, but it shows very clearly how BigTech is working with governments to control how we use the internet. To be clear: thisbook is not about China, but about democratic countries such as the US, UK and Canada or the Member States of the EU.
A very important point made is that whilst BigTech is hardly the biggest problem facing the world, it is the fundmental problem. We won't be able to address climate change, intolerance of diversity, the growing extreme right as well as all the other challenges the world faces, without first fixing BigTech.
A quick and easy to follow book well worth the time investment it takes to read it.
From 10.11.2025 to 17.11.2025

Over the last couple of days I put together an extension for the League/CommonMarkdown converter. I wanted the markdown converter to automatically add the actual image dimensions attributes to the HTML img tag of all images in the markdown content.
I decided to use Copilot to help me with the task. After explaining my needs it gave me some code examples. I then asked it to give a complete solution and it duly complied. I thought "great, add this in to my code and I am ready to go!".
Unfortunately the proposed solution, whilst generally quite good had some major mistakes which were hard to track down. This needed a lot of extra interaction with Copilot.
First there was a mix up with the classes being referenced. In one file the code was referencing League\CommonMark\Extension\CommonMark\Node\Inline\Image in the other it was League\CommonMark\Node\Inline\Image. This is a pretty basic mistake once you understand that the former is the current, v2, method and the latter is the outdated, v1, method. Why Copilot spat out code with an outdated method mixed in I have no idea.
Next there was a propblem with priority of my extension. Whilst it was registered, it's priority was too low for it to actually be used.This is where it got really interesting, and embarrassing for Copilot. Well it should be embarrassed but AI does not have that capability yet.
Initially Copilot had told me to add the extension after all the other extensions in order to give it the highest priority, but this did not have the desired effect. It turns out you can define the priority of the extension in the code and the default is the lowest priority. The lower the indicated priority number (eg 0) for my extension the higher its priority. So Copilot told me to put 0. Which I did and it didn't help. Then it actually contradicted itself and told me to add a higher number to get a higher priority. I corrected Copilot and it even apologised for its mistake!
Next it told me to enter -1 as the priority, as that is lower than 0. That threw an error. So I tried entering 1 and that worked! Copilot basically had no idea what value to choose and was making it up based on its own logic, rather than knowledge of the actual Commonmark extension system.
So am I disappointed in Copilot? No. Whilst not being a professional, I have enough coding experience to grasp what Copilot is suggesting. This knowledge and experience required to make meaningful use of it. You cannot use it with no understanding of what it should be producing.
I don't have enough knowledge to write this extension myself, so Copilot is defininetly a huge help. But it cannot be blindly trusted. The information it provides you with needs to be understood and checked. It contains errors which are sometimes not obvious, especially to the inexperienced eye. It certainly can't be trusted in mission critical situations or where human lives are affected, such as in the legal system or policing. Never mind where lives might be at risk.
Interestingly the version of Copilot that can be added to Visual Studio Code was simply not fit for purpose. Its answers were not clear and often unhelpful. I don't know why this is. No idea if that is to do with my setup, but it was very poor.
The extension now works exactly as intended. All local images I link in my markdown files will now have the exact height and width of the image added to the img tag in the HTML generated from the markdown.
Interestingly, there is no perceptible performance hit. I thought this would not be the most efficient thing to be doing. I was wrong. My site still only takes about 21 seconds to build. Not that it matters. This is a hobby project and speed is not a primary concern for my homebrew static site generator. Have a look if you want.
This is a book my kids had to read for school. It's a very interesting story, set in the 90s, about cloned children who are raised to be donors in an alternate history of the UK.
Very powerful and thought provoking.
From 16.10.2025 to 09.11.2025
