<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Mark's Thoughts</title><link>https://www.markwilson.co.uk/thoughts/</link><description>markwilson.it, rebooted for 2026 and beyond...</description><generator>Hugo</generator><language>en-GB</language><managingEditor>markw@markwilson.co.uk (Mark Wilson)</managingEditor><webMaster>markw@markwilson.co.uk (Mark Wilson)</webMaster><copyright>© 2004-2026, Mark Wilson</copyright><lastBuildDate>Thu, 21 May 2026 00:00:00 +0100</lastBuildDate><atom:link href="https://www.markwilson.co.uk/thoughts/rss.xml" rel="self" type="application/rss+xml"/><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item><title>From Bletchley to a nationwide AI community — and a vibe-coded website</title><link>https://www.markwilson.co.uk/thoughts/2026/05/21/ukaiusers-website/</link><pubDate>Thu, 21 May 2026 00:00:00 +0100</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/05/21/ukaiusers-website/</guid><description>&lt;h1 id="from-bletchley-to-a-nationwide-ai-community--and-a-vibe-coded-website"&gt;From Bletchley to a nationwide AI community — and a vibe-coded website&lt;/h1&gt;
&lt;p&gt;I&amp;rsquo;m pretty stoked today because, after a very late night &lt;a href="https://replit.com/blog/what-is-vibe-coding"&gt;vibe coding&lt;/a&gt; session last night, I finally got &lt;a href="https://www.ukaiusers.co.uk/"&gt;the UK AI User Groups website&lt;/a&gt; to a state where I felt it was ready to go live. And, now the DNS changes have propagated, we are in business.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been involved in the Bletchley AI User Group from the sidelines for a while, but then my friend &lt;a href="https://www.linkedin.com/in/phil-kermeen/"&gt;Phil Kermeen&lt;/a&gt; got involved and I became a regular attendee. After I was invited to speak last year, I suddenly found myself &amp;ldquo;voluntold&amp;rdquo; onto the committee. So, with strict instructions from my family not to take on yet more projects/responsibilities, I agreed to photograph the Bletchley events and create a website.&lt;/p&gt;
&lt;p&gt;That escalated quickly.&lt;/p&gt;
&lt;h2 id="i-am-not-a-web-developer"&gt;I am not a web developer&lt;/h2&gt;
&lt;p&gt;OK, so, I&amp;rsquo;m not a web developer. I have a Computer Studies degree (so technically, &amp;ldquo;I can code&amp;rdquo;), but I haven&amp;rsquo;t written a line of code professionally since my internship in 1992/3 — except perhaps some MS-DOS batch files or a bit of bad PowerShell. I&amp;rsquo;ve had my own website since at least 1998 though, so dabbled in HTML/CSS, but mostly used WordPress (until I switched to Hugo earlier this year — that&amp;rsquo;s another story/post).&lt;/p&gt;
&lt;p&gt;The point about the UK AI User Groups site is that I wanted to write something that:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;is easy to maintain;&lt;/li&gt;
&lt;li&gt;separates presentation from site logic and from data;&lt;/li&gt;
&lt;li&gt;looks OK, using the group&amp;rsquo;s visual identity (I&amp;rsquo;m not a designer either);&lt;/li&gt;
&lt;li&gt;feels &amp;ldquo;modern&amp;rdquo;;&lt;/li&gt;
&lt;li&gt;is accessible and easy to navigate.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="cutting-code"&gt;Cutting code&lt;/h2&gt;
&lt;p&gt;And this is where the vibe coding comes in&amp;hellip;&lt;/p&gt;
&lt;p&gt;I know some people will tell me there are better tools for coding, but I have a personal &lt;a href="https://chatgpt.com/"&gt;ChatGPT&lt;/a&gt; Plus subscription. That was enough for me to create a simple single-page site using HTML, CSS, and JavaScript. And then I got the memo that this was not just for Bletchley AI, but for all of the UK AI User Groups, adding a extra page for each group.&lt;/p&gt;
&lt;p&gt;I used the &lt;a href="https://www.w3schools.com/w3css/"&gt;W3.CSS&lt;/a&gt; framework with &lt;a href="https://fontawesome.com/"&gt;Font Awesome&lt;/a&gt; icons — in common with my own websites — and ChatGPT handled much of the app logic and presentation. Data (events) are read from a single file, and presented in various forms across the site.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s light and dark modes, and the site is responsive so it should gracefully adjust to different devices — though the best user experience is still in a desktop browser. I have my limitations (testing/access to devices and skill — as well as time).&lt;/p&gt;
&lt;p&gt;A companion script pulls images from the actual event management platforms (currently Meetup and Luma) so we can bring the event cards on the site to life. And then, on the train home last night I decided to see if I could show the various groups as either a list or on a map — so &lt;a href="https://leafletjs.com/"&gt;Leaflet&lt;/a&gt; does all the heavy lifting for the maps, with the page offering a toggle between the two views.&lt;/p&gt;
&lt;h2 id="hosting-it-for-free"&gt;Hosting it for free&lt;/h2&gt;
&lt;p&gt;Oh yes, and did I say this is free? Yep, hosted in a &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt; repository with CI/CD to push it to &lt;a href="https://azure.microsoft.com/en-gb/products/app-service/static"&gt;Azure Static Web Apps&lt;/a&gt; on the free tier.&lt;/p&gt;
&lt;p&gt;The last challenge was the DNS setup for the custom domain — not difficult, but one of those tasks where everything feels slightly more complicated than it should because of the quirks of the GoDaddy domain registration.&lt;/p&gt;
&lt;p&gt;So that&amp;rsquo;s it. It went live today. A vibe-coded website at &lt;a href="https://www.ukaiusers.co.uk/"&gt;https://www.ukaiusers.co.uk/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="anyone-can-do-that"&gt;&amp;ldquo;Anyone can do that&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Now, some will be reading and saying &amp;ldquo;whoop-de-do Mark, anyone can do that&amp;rdquo; — and that&amp;rsquo;s my point. I&amp;rsquo;m not taking a professional developer&amp;rsquo;s work away — proper sites still need proper skills. Not just to write code but to perform proper analysis, design, creation, testing, and support. The code was never the whole job.&lt;/p&gt;
&lt;p&gt;What generative AI (and just enough skill to be dangerous) has allowed me to do is create something functional, for a group with no budget for professional services (any sponsorship revenue goes to running the events). And it&amp;rsquo;s allowed me to exercise my inner geek.&lt;/p&gt;
&lt;p&gt;And that&amp;rsquo;s where I see value in generative AI. Bouncing ideas around. Helping to draft content. Assisting people. And letting projects that would never get past the business case come to life.&lt;/p&gt;
&lt;h2 id="the-support-question"&gt;The support question&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s discuss the elephant in the room though — support. A vibe-coded site is a bit of a black box. I understand enough to say &amp;ldquo;this is what I have created and this is how it works at a high level&amp;rdquo;. I don&amp;rsquo;t understand every line of JavaScript though, and the CSS had a lot of fixes applied to get it to behave properly.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve no doubt that this could do with a complete refactor. Maybe I can use another AI assistant for that some time.&lt;/p&gt;
&lt;p&gt;And that&amp;rsquo;s the main point I want to get across. Vibe coding is not magic. It doesn&amp;rsquo;t remove the need for skill, judgement or support. But it can lower the barrier enough for an idea to become real.&lt;/p&gt;
&lt;p&gt;Sometimes that&amp;rsquo;s enough.&lt;/p&gt;
&lt;p&gt;Especially when the alternative was another good idea sitting on the &amp;ldquo;maybe one day&amp;rdquo; pile.&lt;/p&gt;</description></item><item><title>The path to vCTO</title><link>https://www.markwilson.co.uk/thoughts/2026/05/07/vcto-role-journey/</link><pubDate>Thu, 7 May 2026 00:00:00 +0100</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/05/07/vcto-role-journey/</guid><description>&lt;p&gt;I&amp;rsquo;m moving into a new role at Node4, as a vCTO (the &amp;ldquo;v&amp;rdquo; is for virtual).&lt;/p&gt;
&lt;p&gt;It formalises the type of work I&amp;rsquo;ve found myself doing more of over time — working with clients to shape technology decisions, connect ambition to outcomes, and make sense of increasingly complex landscapes. The change of role adds increased focus (and accountability).&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also prompted me to look back at where that started.&lt;/p&gt;
&lt;h2 id="a-conversation-at-the-wrong-time"&gt;A conversation at the wrong time&lt;/h2&gt;
&lt;p&gt;In May 2017, I pitched to the founding directors at risual and asked to be their CTO.&lt;/p&gt;
&lt;p&gt;I understood what the role required. What I hadn&amp;rsquo;t fully grasped was the context we were operating in. &lt;a href="https://find-and-update.company-information.service.gov.uk/company/05431646/filing-history/MzIxNTY4Mzc1MmFkaXF6a2N4/document?format=pdf&amp;amp;download=0"&gt;2017 was a difficult year&lt;/a&gt;, and any non-billable role was an overhead that had to be justified very carefully.&lt;/p&gt;
&lt;p&gt;I was thinking with an enterprise mindset in a small to medium-sized business and, in doing so, showed that I wasn&amp;rsquo;t ready.&lt;/p&gt;
&lt;h2 id="becoming-part-of-a-larger-organisation"&gt;Becoming part of a larger organisation&lt;/h2&gt;
&lt;p&gt;When risual was acquired by Node4, we became part of a much larger organisation with an established CTO. One of the directors that I&amp;rsquo;d pitched to years earlier introduced me to him. He saw it as fulfilling a promise he had made — I&amp;rsquo;d never considered it a promise, but I did appreciate the recognition.&lt;/p&gt;
&lt;p&gt;Ultimately, that led to a move into Node4&amp;rsquo;s Office of the CTO (OCTO), where I&amp;rsquo;ve spent the last three years.&lt;/p&gt;
&lt;p&gt;The work has varied — as has the leadership of the function — but it has consistently involved working across technology, strategy, and customer engagement. It&amp;rsquo;s also drawn on earlier parts of my career, including time in the Fujitsu UK and Ireland OCTO, management experience from running a large technology practice, stepping back into solution and enterprise architecture, before leading a team of architects.&lt;/p&gt;
&lt;p&gt;Individually, those roles were quite different. Together, they start to make more sense, and we&amp;rsquo;ll come back to my &amp;ldquo;red thread&amp;rdquo; in a moment.&lt;/p&gt;
&lt;h2 id="what-a-vcto-does"&gt;What a vCTO does&lt;/h2&gt;
&lt;p&gt;The vCTO is not &amp;ldquo;the CTO&amp;rdquo;. &lt;a href="https://www.markwilson.co.uk/thoughts/2026/03/31/what-does-a-cto-do/"&gt;As I wrote in a recent post, the CTO role itself varies widely depending on context&lt;/a&gt;. This is one of those variations. For me, in this role, it means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Working with customers at a senior level to understand their goals, constraints, and priorities.&lt;/li&gt;
&lt;li&gt;Shaping technology roadmaps that align to business outcomes.&lt;/li&gt;
&lt;li&gt;Translating between business ambition and technical possibility.&lt;/li&gt;
&lt;li&gt;Working closely with account teams and service delivery teams to make sure ideas turn into outcomes.&lt;/li&gt;
&lt;li&gt;Building trusted relationships with customers and advocating for them within Node4.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It sits between strategy and delivery — close enough to execution to stay grounded, but focused on direction rather than implementation.&lt;/p&gt;
&lt;h2 id="the-red-thread"&gt;The red thread&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s a red thread running through all of this:&lt;/p&gt;
&lt;p&gt;Strategy Consultant -&amp;gt; Head of Practice -&amp;gt; Enterprise Architect -&amp;gt; Technology and Innovation Director -&amp;gt; vCTO.&lt;/p&gt;
&lt;p&gt;Each of these roles has helped me develop new skills and experience, whilst building on what I already knew.&lt;/p&gt;
&lt;p&gt;That 2017 conversation wasn&amp;rsquo;t wrong, but it was early (even if I didn&amp;rsquo;t think so at the time). What&amp;rsquo;s changed since then isn&amp;rsquo;t just experience. I knew I was becoming broader and shallower in my technology knowledge, but I&amp;rsquo;ve since realised I was also learning how technology leadership works.&lt;/p&gt;
&lt;p&gt;And I&amp;rsquo;m still learning.&lt;/p&gt;
&lt;p&gt;This move to a vCTO role feels like the right next step. Now I need to turn the theory into practice.&lt;/p&gt;</description></item><item><title>Invited in, then shown the door</title><link>https://www.markwilson.co.uk/thoughts/2026/04/30/invited-in-then-shown-the-door/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0100</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/04/30/invited-in-then-shown-the-door/</guid><description>&lt;p&gt;Imagine being invited to an event. You accept, set aside the time, and arrive at the correct time. You’re welcomed in, find a seat, and things get underway. Then someone asks you to leave.&lt;/p&gt;
&lt;p&gt;You explain that you were invited. They apologise, let you back in, and you sit down again. A few minutes later, you&amp;rsquo;re forceably removed. At that point it’s clear it’s not a misunderstanding. Someone has decided you shouldn’t be there, despite the invitation.&lt;/p&gt;
&lt;p&gt;It would feel awkward — and rather unprofessional.&lt;/p&gt;
&lt;h3 id="this-actually-happened"&gt;This actually happened&lt;/h3&gt;
&lt;p&gt;Last week, this actually happened to me.&lt;/p&gt;
&lt;p&gt;A colleague and I were both contacted by a competitor and invited to a webinar they were running. We were completely open about who we worked for and there was no suggestion that this was an issue. In fact, they actively encouraged me to attend, suggesting there could be potential partnership opportunities.&lt;/p&gt;
&lt;p&gt;We both signed up and, when the time came, we joined the event. As the speaker started the presentation, we were both removed from the meeting.&lt;/p&gt;
&lt;p&gt;I assumed it was a glitch and rejoined. But the same thing happened again. After a couple more attempts it was clear this wasn’t technical. Someone was actively removing me.&lt;/p&gt;
&lt;p&gt;Moving from a physical to a virtual context doesn’t really change the interaction. It just makes it easier to remove people without making a scene.&lt;/p&gt;
&lt;h3 id="where-it-goes-wrong"&gt;Where it goes wrong&lt;/h3&gt;
&lt;p&gt;Clearly there was a disconnect. The outreach team that cold-called me said “come along”, but the delivery team didn’t agree. That should have been resolved before the invitation was sent, not during the session. Or, if that wasn’t possible, a polite message to say there had been a mistake would have been acceptable — ideally before the event started.&lt;/p&gt;
&lt;p&gt;It’s not hard to see how it happens. Outreach is often measured on registrations, so the focus is on getting people signed up. Moderation is dealing with a different concern entirely. It’s a good example of &lt;a href="https://sketchplanations.com/goodharts-law"&gt;Goodhart’s Law&lt;/a&gt; — be careful what metrics you measure people on because they might not generate the desired outcome.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not really a big deal — some time wasted, then looking up the appropriate contact to send a polite but firm email. But it’s an experience that I will remember (and tell people about — even if I&amp;rsquo;m not naming the company here). And our industry is remarkably small at times&amp;hellip;&lt;/p&gt;</description></item><item><title>The quiet dystopia of modern work</title><link>https://www.markwilson.co.uk/thoughts/2026/04/14/quiet-dystopia-modern-work/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0100</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/04/14/quiet-dystopia-modern-work/</guid><description>&lt;p&gt;&lt;em&gt;Nineteen eighty-four was meant to be a warning. Not a playbook for how we design modern work.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There’s a particular kind of meeting that leaves you wondering why you were there at all.&lt;/p&gt;
&lt;p&gt;I joined one this morning, hosted by a major technology company. Almost two-hundred people were on the call, and it started late — a particular bugbear of mine, especially when it wastes a huge amount of other people’s time and quietly signals that they can all wait for someone else who isn&amp;rsquo;t properly prepared. Chat and comments were disabled, cameras were off, and ten slides were presented in a tightly controlled format. Then the call ended. No questions. No discussion.&lt;/p&gt;
&lt;p&gt;Everyone had been gathered together, but there was no real interaction. The whole thing could have been recorded and shared afterwards with no real loss. It might have been better received that way.&lt;/p&gt;
&lt;p&gt;The content itself was fairly straightforward. It was clearly intended to guide partners in a particular direction and avoid problems further down the line. That part made sense. What didn’t land so well was the tone. It felt more like instruction than collaboration, with just enough polish to make it presentable.&lt;/p&gt;
&lt;p&gt;We often joke that a meeting could have been an email. In this case, it probably should have been. Or a short video that people could watch in their own time. Instead, it became a good example of how easy it is for communication to drift into something performative, where the act of broadcasting matters more than whether anyone is actually engaged.&lt;/p&gt;
&lt;h2 id="when-communication-becomes-a-product"&gt;When communication becomes a product&lt;/h2&gt;
&lt;p&gt;That meeting was a minor irritation. But at least I don&amp;rsquo;t work for a Silicon Valley social media giant.&lt;/p&gt;
&lt;p&gt;Mark Zuckerberg is in the news again – because Meta is reported to be building an AI version of its leader to “connect with employees”. I can see the thinking behind: large organisations struggle with scale; Leaders cannot be everywhere; and consistent communication is difficult to maintain.&lt;/p&gt;
&lt;p&gt;So, instead of effective leadership and delegation the answer (if you think like a tech bro) becomes automation. Create something that looks and sounds like you, deliver the message, and maintain a presence across the organisation.&lt;/p&gt;
&lt;p&gt;And &lt;a href="https://www.linkedin.com/posts/sharonodea_having-abandoned-the-idea-of-talking-to-colleagues-activity-7449444413178540033-M3M3"&gt;Sharon O&amp;rsquo;Dea summed it up in her calmly-delivered but razor-sharp LinkedIn post&lt;/a&gt; with this fantastic line:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;[Marshall] McLuhan said the medium is the message. And the message here — beamed directly into the faces of Meta&amp;rsquo;s workforce in HD, with accurate lip-sync — is: you are not worth my time. Your relationship with leadership is now a content type. A deliverable. A thing that can be optimised and scaled and A/B tested like everything else.&amp;rdquo;&lt;br&gt;
– Sharon O&amp;rsquo;Dea, April 2026.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When leadership can be rendered, replayed and optimised, it changes the nature of the relationship. It starts to feel transactional.&lt;/p&gt;
&lt;h2 id="scaling-presence-vs-replacing-it"&gt;Scaling presence vs. replacing it&lt;/h2&gt;
&lt;p&gt;I use AI tools every day. Microsoft Copilot is becoming genuinely useful, particularly for research and identifying action items. I also use ChatGPT extensively for writing and problem solving. Used well, these tools remove friction and save me time.&lt;/p&gt;
&lt;p&gt;But tools don’t replace being present.&lt;/p&gt;
&lt;p&gt;If I ever suggest sending an AI version of myself to a meeting, it will be a fairly strong signal that something has gone wrong. The value is rarely in delivering a perfectly formed message. It sits in the interaction around it – the questions, the pushback, the moments where the conversation goes slightly off-script and something more useful emerges.&lt;/p&gt;
&lt;p&gt;There’s also a slightly uncomfortable implication. If someone can swap me out for an AI in that situation without losing anything, it is worth asking what I was contributing in the first place.&lt;/p&gt;
&lt;h2 id="a-gradual-shift-in-whats-acceptable-as-normal"&gt;A gradual shift in what&amp;rsquo;s acceptable as normal&lt;/h2&gt;
&lt;p&gt;None of this comes from bad intent. The meeting this morning was trying to create clarity. The AI avatar is an attempt to deal with scale and time.&lt;/p&gt;
&lt;p&gt;In isolation, these may be sensible decisions. But something feels off. Communication becomes more one-way. Leadership becomes something that can be produced and reused. Presence becomes less important.&lt;/p&gt;
&lt;p&gt;And it&amp;rsquo;s happening gradually, which is probably why it passes without much comment.&lt;/p&gt;
&lt;h2 id="a-small-course-correction"&gt;A small course correction&lt;/h2&gt;
&lt;p&gt;There is a simple test that helps cut through most of this.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If something doesn&amp;rsquo;t need to be a meeting, don&amp;rsquo;t make it one.&lt;/li&gt;
&lt;li&gt;If communication is one-way, be clear about it rather than presenting it as a conversation.&lt;/li&gt;
&lt;li&gt;If the answer to scale is to replace human interaction with an artificial version of it, it&amp;rsquo;s worth pausing to think about what is being lost.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It’s hard not to think of Orwell when this becomes the norm.&lt;/p&gt;</description></item><item><title>What does a CTO do? It depends — and that’s the point</title><link>https://www.markwilson.co.uk/thoughts/2026/03/31/what-does-a-cto-do/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0100</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/03/31/what-does-a-cto-do/</guid><description>&lt;h2 id="same-title-different-jobs"&gt;Same title, different jobs&lt;/h2&gt;
&lt;p&gt;Ask ten people what a CTO (Chief Technology Officer) does and you will get ten confident answers. What&amp;rsquo;s interesting is that each answer is usually correct in its own context. In one organisation, the CTO runs engineering. In another, they shape product direction. In a third, they sit alongside the board and help make sense of technology choices. The title is consistent, but the role is anything but.&lt;/p&gt;
&lt;p&gt;That variation can make the role feel vague from the outside but the shape of the job reflects the organisation around it. A startup trying to build something new needs a very different kind of CTO to a large enterprise trying to modernise decades of systems. A services business has different needs again, where credibility, narrative, and client engagement matter just as much as technical depth.&lt;/p&gt;
&lt;h2 id="the-common-core"&gt;The common core&lt;/h2&gt;
&lt;p&gt;Despite that variation, there&amp;rsquo;s a common core. Strip away the organisational differences and the job usually comes down to three things: setting direction, making decisions, and developing leadership:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Direction is about ensuring there is a coherent technology roadmap that supports the business rather than competing with it.&lt;/li&gt;
&lt;li&gt;Decisions are about navigating trade-offs that do not have neat answers — speed vs. resilience, standardisation vs. differentiation, build vs. buy.&lt;/li&gt;
&lt;li&gt;Leadership is about creating the conditions for others to succeed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is where the role is often misunderstood. &lt;strong&gt;A CTO should not be the person with all the answers, or the most hands-on engineer in the room.&lt;/strong&gt; The job is to help the organisation consistently arrive at better answers, and to turn individual pieces of work into something that adds up to a clear direction.&lt;/p&gt;
&lt;p&gt;For a neutral definition of the role, &lt;a href="https://professionalprograms.mit.edu/blog/leadership/chief-technology-officer/"&gt;MIT provides a useful overview of how CTO responsibilities typically span strategy, architecture, and innovation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="turning-technology-into-outcomes"&gt;Turning technology into outcomes&lt;/h2&gt;
&lt;p&gt;Several years ago, I came across a line about the CIO (Chief Information Officer) that stuck with me. &lt;a href="https://www.linkedin.com/in/gidsk/"&gt;Gideon Kay&lt;/a&gt; observed on Twitter that:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The mark of a strong CIO is the ability to turn a technology platform question into a business outcome answer.”
— Gideon Kay (@gids), April 2017&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That felt right, but I thought it could also work the other way round:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The mark of a strong CTO is the ability to take a business problem and turn it into a technology solution.”
— Mark Wilson, May 2017&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Today, I would add that the solution needs to deliver something meaningful to the business — not a solution in isolation, but one that aligns to both business and technology strategies.&lt;/p&gt;
&lt;p&gt;That distinction shifts the role away from technology for its own sake, and towards translation. The CTO sits between ambition and execution, helping ensure that what gets built is both technically sound and commercially relevant.&lt;/p&gt;
&lt;h2 id="why-context-matters"&gt;Why context matters&lt;/h2&gt;
&lt;p&gt;The reason the role varies so much comes down to a few factors. Stage is one:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Early-stage organisations are focused on building.&lt;/li&gt;
&lt;li&gt;Growth-stage organisations are trying to scale.&lt;/li&gt;
&lt;li&gt;More mature businesses are often optimising or modernising, while others are trying to reinvent themselves altogether.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each of those requires a different emphasis.&lt;/p&gt;
&lt;p&gt;The business model matters too, and a useful way to think about this is whether the organisation primarily &lt;em&gt;builds technology&lt;/em&gt; or &lt;em&gt;uses technology&lt;/em&gt;. A product company will expect its CTO to lean heavily into engineering, product development, and platform decisions. An organisation that is primarily a user of technology will lean more towards architecture, integration, and ensuring that technology choices support business outcomes. A services organisation often sits somewhere in the middle, with an added emphasis on client engagement and external credibility.&lt;/p&gt;
&lt;p&gt;Add in the organisation’s risk profile — particularly in regulated industries — and the balance shifts again towards governance, resilience, and control.&lt;/p&gt;
&lt;h2 id="cto-and-cio"&gt;CTO and CIO&lt;/h2&gt;
&lt;p&gt;This is also where the distinction between CTO and CIO often comes into play, although the boundaries are not always neat. A CIO is typically focused on internal systems and operations — keeping the organisation running and enabling people to do their jobs effectively. A CTO is more often outward-looking, concerned with how technology shapes products, services, and the organisation’s position in the market.&lt;/p&gt;
&lt;p&gt;In practice, many organisations blur or combine these roles, which is fine as long as the underlying responsibilities are understood. Problems tend to arise when the ownership of strategic technology direction is unclear, regardless of what title is used.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s &lt;a href="https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-are-the-responsibilities-of-a-cio-versus-a-cto"&gt;a useful article from McKinsey that explores how the two roles differ and where they overlap&lt;/a&gt;, along with a lot of advice on different approaches to the CTO role.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also worth noting that both roles have evolved. There was a time when CIO was jokingly expanded as “career is over”, reflecting a perception of the role as operational and inward-looking. That is no longer true. The CIO role has shifted towards business leadership, just as the CTO role has broadened beyond pure technology.&lt;/p&gt;
&lt;h2 id="a-role-that-keeps-being-reinvented"&gt;A role that keeps being reinvented&lt;/h2&gt;
&lt;p&gt;A friend once advised me that I shouldn&amp;rsquo;t seek to become a CTO because it was a “dead job title”. The implication was that the role had either peaked or would be absorbed into something else.&lt;/p&gt;
&lt;p&gt;Happily, it turned out that my friend was wrong and, if anything, the opposite is true. As organisations rely more heavily on technology, the need for clear technology leadership has increased.&lt;/p&gt;
&lt;p&gt;That said, it&amp;rsquo;s worth being precise about the different titles that appear around it. A Chief Digital Officer, for example, is often focused on digital channels, customer experience, and business model change. There can be overlap with a CTO, but it&amp;rsquo;s not simply another flavour of the same role. Similarly, titles like Field CTO or Customer CTO tend to describe where the role operates — closer to customers, sales, or market engagement — rather than a fundamentally different purpose. You will also see the term vCTO (Virtual Chief Technology Officer), which can refer to the same strategic capability delivered on a fractional or shared basis.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s also a practical question about the word “Chief”. In theory, there should only be one &lt;em&gt;Chief&lt;/em&gt; Technology Officer. In practice, that&amp;rsquo;s not always the case. &lt;a href="https://www.linkedin.com/posts/wattsmatt_sixwords-storytelling-share-7430169586693709824-mhAx"&gt;As Matt Watts (himself, a former Field CTO) put it in a recent LinkedIn post&lt;/a&gt;, “how many CTOs do you have?” — pointing out that some organisations end up with dozens of CTO-titled roles, each with different scopes and levels of influence.&lt;/p&gt;
&lt;p&gt;It might feel messy, but it reflects how the role has evolved. What matters is not the purity of the title, but whether the responsibilities are clear and whether someone is accountable for setting direction and making the key technology decisions.&lt;/p&gt;
&lt;p&gt;The titles may shift slightly, and new variations appear, but the underlying need remains.&lt;/p&gt;
&lt;h2 id="why-the-cto-role-matters"&gt;Why the CTO role matters&lt;/h2&gt;
&lt;p&gt;Most organisations are not short of technology activity. There are always projects, initiatives, and new tools being introduced. What is often missing is coherence. Without a clear direction and someone accountable for the decisions that shape it, work can become fragmented. Individual teams may make sensible choices in isolation, but those choices do not always add up to a clear strategy.&lt;/p&gt;
&lt;p&gt;This is where the value of a CTO becomes visible. It isn&amp;rsquo;t about knowing the technology better than anyone else. It&amp;rsquo;s about helping the organisation make better decisions about how technology is used, and ensuring those decisions are aligned with what the business is trying to achieve.&lt;/p&gt;
&lt;p&gt;You can usually tell when that role is missing, even if the title is not. Repeated debates about priorities, uncertainty about where to invest, and a sense that there are lots of initiatives but no clear direction are all indicators. In those situations, the organisation doesn&amp;rsquo;t necessarily need more projects or more tools: it needs clarity, ownership, and a way of turning activity into something coherent.&lt;/p&gt;
&lt;p&gt;That, in essence, is what the CTO provides.&lt;/p&gt;</description></item><item><title>ABBA Voyage and the future of live performance</title><link>https://www.markwilson.co.uk/thoughts/2026/03/22/abba-voyage-future-live-performance/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/03/22/abba-voyage-future-live-performance/</guid><description>&lt;p&gt;ABBA last performed in London in 1979.&lt;/p&gt;
&lt;p&gt;And yet, yesterday afternoon, I was in an East London arena watching them perform. Except they weren’t really there.&lt;/p&gt;
&lt;p&gt;ABBA Voyage is not a reunion tour. It’s a new form of live performance, built on a blend of digital production, physical staging, and carefully engineered illusion.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.independent.co.uk/arts-entertainment/music/reviews/abba-voyage-review-tickets-holograms-b2088805.html"&gt;Many reviews focus on the music and the spectacle&lt;/a&gt;, but that&amp;rsquo;s only part of the story. As a technologist, what makes ABBA Voyage notable is not that it recreates a band, but that it challenges what we mean by a “live” performance.&lt;/p&gt;
&lt;h2 id="a-mixed-reality-performance-not-a-hologram"&gt;A mixed reality performance, not a hologram&lt;/h2&gt;
&lt;p&gt;ABBA Voyage is often described as a hologram show. That&amp;rsquo;s convenient, but not really accurate. It&amp;rsquo;s not just a projection of flat images onto a stage, nor a simple visual trick. The show combines motion capture, visual effects, real-time rendering, and a physical stage environment. The digital performers, known as ABBAtars, were created by Industrial Light and Magic in collaboration with the band. The original members spent weeks in motion capture suits, effectively re-performing their younger selves.&lt;/p&gt;
&lt;p&gt;Alongside that, there is a live band on stage. The music is real. The lighting is real. The environment is real. The result is a mixed reality performance where digital and physical elements are presented as one.&lt;/p&gt;
&lt;div class="video-embed"&gt;
 &lt;div class="video-embed-inner"&gt;
 &lt;iframe
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen"
 loading="eager"
 referrerpolicy="strict-origin-when-cross-origin"
 src="https://www.youtube.com/embed/iEikjzZO2N8?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0"
 title="YouTube video"&gt;
 &lt;/iframe&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="the-illusion-is-engineered"&gt;The illusion is engineered&lt;/h2&gt;
&lt;p&gt;What makes this work is not just the quality of the digital characters. It is how the entire experience is designed to guide perception.&lt;/p&gt;
&lt;p&gt;Lighting plays a central role, shaping what you can see clearly and what you cannot. It directs your focus and, at times, deliberately hides the edges of the illusion. The live band anchors the experience, giving your brain something that is unquestionably real and making it easier to accept what you are seeing.&lt;/p&gt;
&lt;p&gt;I spent a good part of the show trying to work out what was real and what was rendered. That lasted until a moment where the illusion did something that felt impossible. I won’t spoil it, but it was enough to make me exclaim “Wow!” out loud.&lt;/p&gt;
&lt;p&gt;As Benny Andersson himself puts it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“I think the only way to understand what this is you have to come and see it. It’s sort of non-explainable […] you need to go and see it.”
— Benny Andersson, ABBA&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="video-embed"&gt;
 &lt;div class="video-embed-inner"&gt;
 &lt;iframe
 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen"
 loading="eager"
 referrerpolicy="strict-origin-when-cross-origin"
 src="https://www.youtube.com/embed/jK2iwF8Oq7Q?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0"
 title="YouTube video"&gt;
 &lt;/iframe&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="solving-the-uncanny-valley-problem"&gt;Solving the uncanny valley problem&lt;/h2&gt;
&lt;p&gt;Digital humans often fall into what’s known as the &lt;a href="https://en.wikipedia.org/wiki/Uncanny_valley"&gt;uncanny valley&lt;/a&gt;. Close to real, but not quite right. The ABBAtars mostly avoid that.&lt;/p&gt;
&lt;p&gt;Presenting ABBA as their 1970s selves helps. It removes the expectation of a perfect, present-day likeness and allows for a slightly stylised interpretation. More importantly, the performances feel human. Movement, timing, and interaction are convincing enough that you engage with them as performers rather than as effects.&lt;/p&gt;
&lt;p&gt;That is what makes the illusion sustainable over an entire show, rather than just impressive for a few minutes.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.markwilson.co.uk/thoughts/images/abba-voyage-auditorium.png" alt="ABBA Voyage: view from the dance floor" title="ABBA Voyage: view from the dance floor"&gt;&lt;/p&gt;
&lt;h2 id="why-this-matters-beyond-abba"&gt;Why this matters beyond ABBA&lt;/h2&gt;
&lt;p&gt;It would be easy to dismiss ABBA Voyage as a one-off built around a globally recognised band. I see it as a proof of concept for a different model of live entertainment.&lt;/p&gt;
&lt;p&gt;Performances are no longer constrained by the physical presence of the artist. Shows can run continuously in a fixed location. The experience is consistent and repeatable. Performances can be preserved, recreated, or reimagined.&lt;/p&gt;
&lt;p&gt;From a technology perspective, this is what happens when film production, game engine thinking, and live event design converge. The business model is just as interesting, built around a permanent venue and a long-running production rather than a touring schedule.&lt;/p&gt;
&lt;p&gt;Culturally, it raises a simple question: what does “live” actually mean?&lt;/p&gt;
&lt;h2 id="a-brilliant-show-built-on-something-bigger"&gt;A brilliant show, built on something bigger&lt;/h2&gt;
&lt;p&gt;It is worth saying this clearly: ABBA Voyage is a brilliant show.&lt;/p&gt;
&lt;p&gt;(It also messed with my head a little.)&lt;/p&gt;
&lt;p&gt;The technology is impressive, but it never feels like the point. It serves the performance rather than distracting from it. The music, the energy, and the atmosphere all land exactly as you would want them to. Without that, none of the rest would matter.&lt;/p&gt;
&lt;p&gt;There is also a personal thread running through it. ABBA were one of the few bands that worked across generations when I was growing up. They were a constant on car journeys, and I remember saving Christmas money to buy their albums. I was too young to see them live.&lt;/p&gt;
&lt;p&gt;And yet, somehow, I now have.&lt;/p&gt;
&lt;p&gt;Sort of.&lt;/p&gt;
&lt;h2 id="where-this-goes-next"&gt;Where this goes next&lt;/h2&gt;
&lt;p&gt;ABBA Voyage is unlikely to remain unique for long. The underlying technologies are already well understood. What is new is how they have been combined, refined, and delivered at scale.&lt;/p&gt;
&lt;p&gt;It is easy to imagine what comes next. Legacy artists returning without touring. Performances running in multiple locations. New acts designing shows that blend digital and physical elements from the outset.&lt;/p&gt;
&lt;p&gt;This does not replace traditional live music. It does something different. It trades spontaneity for precision, and physical presence for creative control.&lt;/p&gt;
&lt;h2 id="closing-thoughts"&gt;Closing thoughts&lt;/h2&gt;
&lt;p&gt;What ABBA Voyage demonstrates is not just that this kind of show is possible, but that it works as a format.&lt;/p&gt;
&lt;p&gt;It shows that audiences are willing to accept a performance that is not physically live, as long as it feels live. That distinction matters because it opens the door to new ways of creating, distributing, and experiencing performance.&lt;/p&gt;
&lt;p&gt;For decades, technology has supported live entertainment from the sidelines. This feels like a shift. Not technology enhancing the performance, but technology becoming the performance.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.markwilson.co.uk/thoughts/images/abba-voyage-curtain-call.jpg" alt="ABBA Voyage: curtain call by the original group members" title="ABBA Voyage: curtain call by the original group members"&gt;&lt;/p&gt;
&lt;h2 id="credits"&gt;Credits&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;ABBAtars and performance image © Aniara Ltd, 2022 used under the fair dealing provisions of UK Copyright law.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://flickr.com/photos/69880995@N04/52103763522"&gt;ABBA curtain call image by Raph_PH&lt;/a&gt; &lt;a href="https://commons.wikimedia.org/wiki/File:ABBA_Voyage_-_ABBA_Arena_London_%28May_27th,_2022%29.jpg"&gt;via Wikimedia&lt;/a&gt; licensed under the &lt;a href="https://en.wikipedia.org/wiki/en:Creative_Commons"&gt;Creative Commons&lt;/a&gt; &lt;a href="https://creativecommons.org/licenses/by/2.0/deed.en"&gt;Attribution 2.0 Generic&lt;/a&gt; license.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>The true cost of complexity in modern cars</title><link>https://www.markwilson.co.uk/thoughts/2026/03/20/true-cost-of-complexity-modern-cars/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/03/20/true-cost-of-complexity-modern-cars/</guid><description>&lt;p&gt;Today, I got my car back after a month-long repair. It started with a slightly unsettling experience when the steering failed. Not in a “that feels a bit heavy” sort of way, but completely. There was no ability to steer the car at all. &lt;a href="https://www.theaa.com/"&gt;The AA&lt;/a&gt;&amp;rsquo;s patrolman initially suggested I follow him to the garage until I pointed out that I literally couldn’t turn the wheels. (In the process of recovering my car, he also broke a connector on the electronic parking brake, but that’s another story.)&lt;/p&gt;
&lt;p&gt;It got me thinking about how modern cars are put together, and what that means when something goes wrong.&lt;/p&gt;
&lt;h2 id="from-mechanical-to-electronic"&gt;From mechanical to electronic&lt;/h2&gt;
&lt;p&gt;Modern vehicles hide a lot of complexity beneath what still looks like a simple interface. In older cars, the steering wheel is connected to the wheels. It might be power-assisted, but the linkage is direct. If something wears out, you replace that part and move on.&lt;/p&gt;
&lt;p&gt;On newer vehicles, the steering wheel is a controller - similar to one you might use with a driving game on a console. Turning the steering wheel is an input that is interpreted by a control unit, which then tells another system what to do. It works perfectly well until it doesn’t. The interface feels connected, but it really isn’t.&lt;/p&gt;
&lt;p&gt;That pattern repeats across the car. Mechanical systems are now mediated by software and sensors. The added features improve the driving experience, but the complexity is easy to overlook until something fails.&lt;/p&gt;
&lt;h2 id="why-small-faults-become-big-bills"&gt;Why small faults become big bills&lt;/h2&gt;
&lt;p&gt;When the steering failed on my car, it wasn’t a worn part. It was a complete unit — a sealed assembly. In this case, a £1600 component that wasn’t even in stock at Volvo’s central distribution centre in Gothenburg and took a few weeks to arrive.&lt;/p&gt;
&lt;p&gt;The same applies elsewhere. What might once have been a minor repair can now mean replacing an entire assembly. On older cars, a worn suspension component might mean replacing a rubber boot. Now it is more likely to be a full suspension arm.&lt;/p&gt;
&lt;p&gt;The effect is simple: faults that used to be small and local are now larger and more expensive to fix.&lt;/p&gt;
&lt;h2 id="complexity-is-not-an-accident"&gt;Complexity is not an accident&lt;/h2&gt;
&lt;p&gt;This is not poor design — it&amp;rsquo;s a deliberate consequence of how cars are built today.&lt;/p&gt;
&lt;p&gt;Modern vehicles rely heavily on software and interconnected systems, managing everything from braking and stability to driver assistance features. Many of these features are expected or required, and they do make cars safer.&lt;/p&gt;
&lt;p&gt;But each additional system brings more hardware, more software, and more potential failure points. When something breaks, it is rarely isolated, and it is usually expensive.&lt;/p&gt;
&lt;h2 id="the-cost-of-a-middle-aged-car"&gt;The cost of a middle-aged car&lt;/h2&gt;
&lt;p&gt;All of this adds up. The steering repair, labour, wheel alignment (tracking), and parking brake work have cost a sizeable sum on a seven-year-old car. Add in some tyres and brake pads (which are expected service items) and I had a significant bill shock.&lt;/p&gt;
&lt;p&gt;All of this was on top of a timing belt replacement, front brakes and a major service a few thousand miles ago. In total, I’ve spent around £5000 on the car in the last 12 months. That’s roughly twice my annual budget for car maintenance.&lt;/p&gt;
&lt;p&gt;At some point, I have to think about the &lt;a href="https://dictionary.cambridge.org/dictionary/english/sunk-cost-fallacy"&gt;sunk cost fallacy&lt;/a&gt;. But, for now, the plan is to keep it going, ideally long enough for a summer road trip across France, and then reassess.&lt;/p&gt;
&lt;h2 id="why-the-uk-car-market-has-shifted"&gt;Why the UK car market has shifted&lt;/h2&gt;
&lt;p&gt;For some time now, the UK car market has been built around finance, and servicing. Most new cars are acquired on PCP, HP or lease agreements — &lt;a href="https://www.firstresponsefinance.co.uk/insights-and-tips/industry-news/uk-car-finance-index-2025"&gt;finance is used for the vast majority of new car purchases in the UK&lt;/a&gt; — and many are simply handed back at the end of the term rather than owned.&lt;/p&gt;
&lt;p&gt;I bought my Volvo V60 nearly-new using a PCP and made the balloon payment to take ownership at the end of the agreement. Because the original list price was over £40,000, it still attracted the additional rate of vehicle excise duty for several years, even as a used car.&lt;/p&gt;
&lt;p&gt;But £40,000 is no longer a luxury car. It means that running costs are increased for nearly-new cars, which is one of the reasons an all-in monthly charge looks more attractive.&lt;/p&gt;
&lt;p&gt;That starts to make sense when you look at how cars behave in practice. When a single failure can cost four figures and take weeks to resolve, &lt;a href="https://octopusev.com/ev-hub/whats-the-difference-pcp-pch"&gt;predictable monthly costs (e.g. leasing)&lt;/a&gt; and a warranty begin to look less like convenience and more like risk management.&lt;/p&gt;
&lt;h2 id="rethinking-car-ownership"&gt;Rethinking car ownership&lt;/h2&gt;
&lt;p&gt;Cars today are better than they have ever been. They are safer, more efficient and more capable. But they are no longer simple machines, and that has consequences.&lt;/p&gt;
&lt;p&gt;Ownership now carries more uncertainty than it used to. Not because cars are worse, but because they are more complex, less repairable, and more expensive to fix when something goes wrong.&lt;/p&gt;
&lt;p&gt;If the practical way to manage that risk is to hand the car back before anything expensive breaks, then it is worth asking a simple question:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Do we really want to own our vehicles, or just run someone else&amp;rsquo;s and give it back when the warranty ends?&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Archiving my Twitter/X history</title><link>https://www.markwilson.co.uk/thoughts/2026/03/17/twitter-archive/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/03/17/twitter-archive/</guid><description>&lt;p&gt;For many years I was an active user of Twitter/X &lt;a href="https://x.com/markwilsonit"&gt;@markwilsonit&lt;/a&gt;. I shared links, ideas, photos from events, commentary on technology and the industry, and some personal chit-chat too. Over time that added up to more than 70,000 tweets.&lt;/p&gt;
&lt;p&gt;But the platform changed. Eventually it reached the point where continuing to use it no longer felt compatible with my values, so I stopped posting there, and made the tweets private.&lt;/p&gt;
&lt;h2 id="historical-records"&gt;Historical records&lt;/h2&gt;
&lt;p&gt;That left me with a problem though. Buried in those tweets is a lot of history – links to blog posts, conversations with people I respect, and snapshots of what was happening in the industry at the time. &lt;a href="https://help.x.com/en/managing-your-account/how-to-download-your-x-archive"&gt;Twitter/X lets you download an archive of your data&lt;/a&gt;, but it also contains items that should remain personal to the user, like direct messages - so it can&amp;rsquo;t be published directly.&lt;/p&gt;
&lt;p&gt;I wanted to build a small static website that turns the archive into something searchable and browsable that I could share more widely. There were some scripts around for converting Twitter archives to websites, but they didn&amp;rsquo;t seem to work for me when I tried a couple of years ago – maybe the archive format changed since they were written.&lt;/p&gt;
&lt;h2 id="vibe-coding-a-script-to-create-my-own-archive-site"&gt;Vibe coding a script to create my own archive site&lt;/h2&gt;
&lt;p&gt;I ended up “vibe coding” (with ChatGPT) a small Python script that converts the Twitter data export into a static &lt;a href="https://www.markwilson.co.uk/twitter-archive/"&gt;Twitter archive site&lt;/a&gt;. It’s intentionally simple: a static page; and a lightweight search index using JavaScript and JSON. All the tweets remain exactly as they were written (although with expanded URLs where t.co short links were in place), but now they’re accessible outside Twitter/X.&lt;/p&gt;
&lt;p&gt;Rather than keep the script to myself, I’ve published it on GitHub so anyone else can do the same with their own data. If you’re curious about how it works – or you’d like to build your own archive – the code and documentation are available &lt;a href="https://github.com/mark-wilson/twitter-archive-website-builder"&gt;in this GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Just be aware that I downloaded my archive in August 2024 – Twitter/X archive formats have changed over time so, if it doesn&amp;rsquo;t work for you, you might need to tweak it.&lt;/p&gt;</description></item><item><title>Importing Eufy smart scale data into Garmin Connect</title><link>https://www.markwilson.co.uk/thoughts/2026/03/15/eufy-garmin-data-import/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/03/15/eufy-garmin-data-import/</guid><description>&lt;p&gt;For years, most of my health and fitness data has ended up in one place: Garmin Connect. My watch syncs automatically. Steps, heart rate, sleep, runs and rides all flow into the same timeline. Activities are also synced from Garmin to Strava. There are a few bits and pieces in Apple Health (medications), but it&amp;rsquo;s pretty complete.&lt;/p&gt;
&lt;p&gt;So when I bought some smart scales, I wanted the same thing. One place for all the data.&lt;/p&gt;
&lt;h2 id="man-maths"&gt;&amp;ldquo;Man maths&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;The obvious option would have been scales from Garmin or Withings. But those are not cheap. Instead I bought a set from Eufy. Even my man maths couldn&amp;rsquo;t justify the extra expense.&lt;/p&gt;
&lt;p&gt;The theory is that investing in technology to help manage my weight is worthwhile. The reality, of course, is that compulsive eating and weight management are much more complicated than that. But if a gadget nudges me in the right direction, I&amp;rsquo;m willing to try it.&lt;/p&gt;
&lt;p&gt;The problem is that the Eufy app does not integrate with Garmin. So the data sits in its own ecosystem.&lt;/p&gt;
&lt;p&gt;Fortunately, &lt;a href="https://support.garmin.com/en-GB/?faq=HfJ4xPchdD3cmZ2qtDpOR8"&gt;Garmin Connect allows body metrics to be imported from a CSV file&lt;/a&gt;. With a bit of spreadsheet wrangling, the Eufy export can be reshaped into something Garmin understands.&lt;/p&gt;
&lt;h2 id="the-format-garmin-expects"&gt;The format Garmin expects&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.reddit.com/r/Garmin/comments/1ly5jdr/comment/nyz3qzm/"&gt;Garmin&amp;rsquo;s import format is very simple&lt;/a&gt;. A CSV file like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csv" data-lang="csv"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Body&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Date&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;Time&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;Weight&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;BMI&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;Fat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;11/01/2026&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;07:22:16&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;75&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;25&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;22&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Exactly like that – nothing extra, just those five columns. And the &lt;code&gt;Body&lt;/code&gt; line seems to be essential – without it the import fails.&lt;/p&gt;
&lt;h2 id="preparing-the-eufy-export-in-excel"&gt;Preparing the Eufy export in Excel&lt;/h2&gt;
&lt;p&gt;Once you know that structure, the challenge becomes transforming the Eufy export into the same layout.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Start by &lt;a href="https://service.eufy.com/article-description/How-to-Export-Data-from-the-EufyLife-App"&gt;exporting your data from the EufyLife app&lt;/a&gt; and opening the CSV file in Excel.&lt;/li&gt;
&lt;li&gt;Delete the extra columns so you are left with &lt;code&gt;Time,WEIGHT (kg),BMI,BODY FAT %&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The Eufy export stores date and time together in one field. Garmin expects them separately so we have to split the date and time.&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Insert two new columns (&lt;strong&gt;B&lt;/strong&gt; and &lt;strong&gt;C&lt;/strong&gt;) after &lt;strong&gt;Time&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In cell &lt;strong&gt;B2&lt;/strong&gt;, enter &lt;code&gt;=INT(A2)&lt;/code&gt;. Then format the column as &lt;strong&gt;Short Date (dd/mm/yyyy)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In cell &lt;strong&gt;C2&lt;/strong&gt;, enter &lt;code&gt;=MOD(A2,1)&lt;/code&gt;. Then format the column as &lt;strong&gt;Time (hh:mm:ss)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Excel stores date and time as one number. The integer part represents the date. The decimal part represents the time. These formulas simply separate them.&lt;/p&gt;
&lt;ol start="6"&gt;
&lt;li&gt;Fill both formulas down the column for as many rows of data as you have.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="reshaping-the-file-for-garmin"&gt;Reshaping the file for Garmin&lt;/h2&gt;
&lt;ol start="7"&gt;
&lt;li&gt;Rename the columns so they read &lt;code&gt;DateTime,Date,Time,Weight,BMI,Fat&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The &lt;strong&gt;DateTime&lt;/strong&gt; column is the original combined value exported by Eufy. We keep it temporarily while splitting the date and time.&lt;/p&gt;
&lt;ol start="8"&gt;
&lt;li&gt;Save the file (still in .CSV format) and close it.&lt;/li&gt;
&lt;li&gt;Reopen the file. Excel will now have replaced the formulas with calculated values.&lt;/li&gt;
&lt;li&gt;Delete the &lt;strong&gt;DateTime&lt;/strong&gt; column.&lt;/li&gt;
&lt;li&gt;Insert a new row at the top and enter &lt;code&gt;Body&lt;/code&gt; in cell &lt;strong&gt;A1&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Delete any rows that already exist in Garmin Connect so the file only contains new entries.&lt;/li&gt;
&lt;li&gt;Save the final CSV file. Your file should now look similar to this:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csv" data-lang="csv"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Body&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Date&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;Time&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;Weight&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;BMI&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;Fat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;14/03/2026&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;12:55:51&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;101.9&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;32.8&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;34.7&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;13/03/2026&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;10:12:27&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;103.4&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;33.3&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;35.4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;12/03/2026&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;06:54:42&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;104.3&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;33.6&lt;/span&gt;,&lt;span style="color:#e6db74"&gt;35.5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="importing-into-garmin-connect"&gt;Importing into Garmin Connect&lt;/h2&gt;
&lt;ol start="14"&gt;
&lt;li&gt;Open the &lt;a href="https://connect.garmin.com/app/import-data"&gt;Garmin import data page&lt;/a&gt; and upload the CSV file you prepared earlier.&lt;/li&gt;
&lt;li&gt;The Garmin Connect site will recognise the data as Fitbit-style body metrics and ask how the values should be interpreted. Make sure you choose &lt;strong&gt;Kilograms&lt;/strong&gt; for weight units and a date format of dd/mm/yyyy (&lt;strong&gt;31/12/2026&lt;/strong&gt;), then click &lt;strong&gt;Continue&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.markwilson.co.uk/thoughts/images/garmin-connect-import-fitbit-data.png" alt="Garmin Connect Import Fitbit Data dialogue" title="Garmin Connect Import Fitbit Data dialogue"&gt;&lt;/p&gt;
&lt;ol start="16"&gt;
&lt;li&gt;The import should complete successfully.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://www.markwilson.co.uk/thoughts/images/garmin-connect-import-data.png" alt="Garmin Connect Import Data page" title="Garmin Connect Import Data page"&gt;&lt;/p&gt;
&lt;p&gt;The new entries should appear alongside the rest of your health data (&lt;a href="https://connect.garmin.com/app/weight"&gt;Weight&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id="that-all-seems-a-bit-of-a-faff-mark"&gt;That all seems a bit of a faff, Mark!&lt;/h2&gt;
&lt;p&gt;It’s not quite the seamless integration I would have liked. But it works, for now. As I was writing this up, I thought I should probably script the CSV transformation. Maybe that&amp;rsquo;s the next step.&lt;/p&gt;
&lt;p&gt;For now, at least I have my weight data in the same system as the rest of my fitness data.&lt;/p&gt;
&lt;p&gt;Which feels like a small victory – even if the real challenge still happens in the kitchen, at the supermarket, at the petrol station, in the office and just about everywhere else.&lt;/p&gt;</description></item><item><title>It’s time to end “manels” at tech events</title><link>https://www.markwilson.co.uk/thoughts/2026/03/13/end-manels-at-tech-events/</link><pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate><author>markw@markwilson.co.uk (Mark Wilson)</author><guid>https://www.markwilson.co.uk/thoughts/2026/03/13/end-manels-at-tech-events/</guid><description>&lt;p&gt;With &lt;a href="https://www.un.org/en/observances/womens-day"&gt;International Women’s Day&lt;/a&gt; taking place last weekend, I’ve been reminded of a couple of industry events I attended late last year. I thought I’d posted on LinkedIn at the time about the poor female representation, but I can’t find those posts now. So while we’re celebrating women, it’s worth making the point again – because it’s still an issue.&lt;/p&gt;
&lt;p&gt;The content at the events was&amp;hellip; okay. One was a major IT channel/distributor event – and it was probably a bit too panel-heavy for me. The other event was run by a storage vendor and I was soon bored of tech product-and-feature talk (I only stayed for the excellent afternoon keynote). Both brought together people from a multitude of IT companies. Unfortunately, almost everyone on stage was male.&lt;/p&gt;
&lt;p&gt;At the first event, it was well into the afternoon before the first female presenter took the stage. And the day was almost over before we saw a panel that wasn’t an all-male line-up.&lt;/p&gt;
&lt;p&gt;The number of “manels” (all-male panels) was so noticeable that I started to keep a tally. At the end of the day the final speaker count was 30 men and 4 women. Thirty to four. In 2025. In a sector that claims to value progress and innovation.&lt;/p&gt;
&lt;p&gt;At the second event, the only woman on stage had opened the event and quickly handed over to male colleagues. We didn’t hear a female voice again until after the lunchtime break.&lt;/p&gt;
&lt;p&gt;To be fair, I’ve attended some really good events recently that have been far more balanced. That just proves it can be done. But those two stood out – for all the wrong reasons.&lt;/p&gt;
&lt;p&gt;Yes, IT is still a very male-dominated industry. But that’s not an excuse for putting on events that simply mirror the imbalance. If anything, it’s a reason to work harder to widen the pool and to champion the diverse voices that are out there.&lt;/p&gt;
&lt;p&gt;And to be clear: I’m quite happy to have my share of the limelight. But I’m a middle-aged, white, straight man. If someone else can bring a different perspective to the table, I’ll happily stand aside. We don’t move our industry forward by hearing the same voices over and over again.&lt;/p&gt;
&lt;p&gt;There are organisations trying to change things. For example, &lt;a href="https://www.techuk.org/shaping-policy/diversity-and-inclusion.html"&gt;techUK committed to ending “manels” back in 2017 and reaffirmed that commitment in 2020&lt;/a&gt;. For March 2026, they have a &lt;a href="https://www.techuk.org/shaping-policy/diversity-and-inclusion/techtogether.html"&gt;TechTogether&lt;/a&gt; campaign that is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Celebrating what organisations are doing to support diversity, equity, and inclusion, while acknowledging how much more needs to be done.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And &lt;a href="https://www.thoughtworks.com/insights/blog/commitment-bringing-diverse-voices-tech-conferences"&gt;Thoughtworks has written about the importance of bringing diverse voices to tech conferences&lt;/a&gt;. But that was back in 2020 - and the events I described earlier make it clear that progress is still too slow.&lt;/p&gt;
&lt;p&gt;So a simple ask for event organisers: try to make your events diverse. I know it’s not always easy. But if your speakers are mostly white men, and your panels are all “manels”, it might be worth reconsidering your line-up.&lt;/p&gt;
&lt;p&gt;Events shape narratives, and narratives shape culture. If we want a more inclusive industry, we need to start by changing what – and who – we put on stage.&lt;/p&gt;</description></item></channel></rss>