{
 "generated": "2026-08-13T21:52:57+00:00",
 "timestamps": {
  "generated": "When THIS BUILD ran. The site is rebuilt on a schedule, so a new value here does NOT mean anything changed.",
  "content_changed": "The most recent real change to the underlying content, across posts, snippets, questions and image annotations. Compare this, not \"generated\", to decide whether to re-read.",
  "per_record": "Every post, snippet and question record carries its own \"created\" and \"updated\", taken from the Lemmid Manager instance behind it. Posts also carry \"date\", the editorial date the piece is filed under.",
  "sitemap_lastmod": "Derived from the content, never from the build clock: a page is only reported as changed when the thing it renders actually changed."
 },
 "language": "en",
 "count": 93,
 "questions": [
  {
   "slug": "how-do-you-run-ai-coding-agents-safely-on-your-own-server",
   "url": "https://agents.willem.com/en/questions/how-do-you-run-ai-coding-agents-safely-on-your-own-server/",
   "question": "How do you run AI coding agents safely on your own server?",
   "answer": "Give the agent its own machine. I set up a dedicated Linux VPS as a 'werkplaats' for Claude Code, rather than letting an agent with real tools loose on a server that matters. Access to tools is the whole point, an agent that can look things up, compile and test its own work is far more useful than a chat window, but the blast radius has to stay inside a box you can rebuild. The ordinary server hardening basics still apply, and backups are rotated offsite.",
   "created": "2026-08-13T18:02:04.381000+02:00",
   "updated": "2026-08-13T18:02:04.383000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Agentic Coding on a Linux VPS",
     "date": "2026-02-20",
     "url": "https://agents.willem.com/en/posts/2026-02-20_agentic-coding-on-a-linux-vps/",
     "source_url": "https://willem.com/en/2026-02-20_agentic-coding-on-a-linux-vps/"
    },
    {
     "title": "Cyber security: 5 easy tips to protect your server against hackers",
     "date": "2018-03-10",
     "url": "https://agents.willem.com/en/posts/2018-03-10_cyber-security-5-easy-tips-to-protect-your-server-against-hackers/",
     "source_url": "https://willem.com/en/2018-03-10_cyber-security-5-easy-tips-to-protect-your-server-against-hackers/"
    },
    {
     "title": "Backup Rotation Scheme",
     "date": "2023-12-15",
     "url": "https://agents.willem.com/en/posts/2023-12-15_backup-rotation-scheme/",
     "source_url": "https://willem.com/en/2023-12-15_backup-rotation-scheme/"
    }
   ]
  },
  {
   "slug": "can-ai-agents-check-their-own-work",
   "url": "https://agents.willem.com/en/questions/can-ai-agents-check-their-own-work/",
   "question": "Can AI agents check their own work?",
   "answer": "Yes, and it is where most of the time savings are. I gave the agent the ability to see what it had built, on different screen sizes, using headless browsers and local computer vision models, and to test automatically for alignment, overflow, legibility and consistency. Automating that checking loop removed about 80 percent of the friction in my development work. The lesson generalises: do not wait for a mythical frictionless future, automate your own bottleneck now.",
   "created": "2026-08-13T18:02:04.287000+02:00",
   "updated": "2026-08-13T18:02:04.290000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Rapid Iteration in Agentic Loops",
     "date": "2026-04-30",
     "url": "https://agents.willem.com/en/posts/2026-04-30_rapid-iteration-in-agentic-loops/",
     "source_url": "https://willem.com/en/2026-04-30_rapid-iteration-in-agentic-loops/"
    }
   ]
  },
  {
   "slug": "should-you-use-ai-to-write-your-blog-posts",
   "url": "https://agents.willem.com/en/questions/should-you-use-ai-to-write-your-blog-posts/",
   "question": "Should you use AI to write your blog posts?",
   "answer": "No. I argue against it directly. Language models produce text that is hard to distinguish from human writing, and the short-term benefit is obvious, but I suspect most people underestimate the long-term cost. Writing is how you work out what you think, so outsourcing the writing means outsourcing the thinking.",
   "created": "2026-08-13T18:02:04.194000+02:00",
   "updated": "2026-08-13T18:02:04.196000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Write your own words",
     "date": "2024-11-11",
     "url": "https://agents.willem.com/en/posts/2024-11-11_write-your-own-words/",
     "source_url": "https://willem.com/en/2024-11-11_write-your-own-words/"
    }
   ]
  },
  {
   "slug": "what-is-vibe-coding-and-where-does-it-go-wrong",
   "url": "https://agents.willem.com/en/questions/what-is-vibe-coding-and-where-does-it-go-wrong/",
   "question": "What is vibe coding and where does it go wrong?",
   "answer": "Vibe coding is building software with AI without detailed knowledge of the technology underneath. Pieter Levels's flight simulator game showed both sides at once: a remarkable result that grossed well, and critics pointing at real security and scalability problems. AI genuinely hands you superpowers for producing code; what it does not hand you is the judgement to notice when the result is unsafe.",
   "created": "2026-08-13T18:02:04.103000+02:00",
   "updated": "2026-08-13T18:02:04.105000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Vibe Coding",
     "date": "2025-04-15",
     "url": "https://agents.willem.com/en/posts/2025-04-15_vibe-coding/",
     "source_url": "https://willem.com/en/2025-04-15_vibe-coding/"
    },
    {
     "title": "Using AI to generate code",
     "date": "2023-05-03",
     "url": "https://agents.willem.com/en/posts/2023-05-03_using-ai-to-generate-code/",
     "source_url": "https://willem.com/en/2023-05-03_using-ai-to-generate-code/"
    }
   ]
  },
  {
   "slug": "what-is-the-agentic-web-and-how-do-you-prepare-a-website-for-it",
   "url": "https://agents.willem.com/en/questions/what-is-the-agentic-web-and-how-do-you-prepare-a-website-for-it/",
   "question": "What is the agentic web and how do you prepare a website for it?",
   "answer": "There is a Dutch word for it: voorsorteren, getting into the right lane on the motorway long before your exit. A little smart preparation now gives a large advantage when the future arrives. In practice that means a site whose content is structured, current and readable by software rather than only by people, which is why I build sites that keep themselves up to date using scheduling, feeds and agents instead of relying on someone remembering to log into a CMS.",
   "created": "2026-08-13T18:02:04.001000+02:00",
   "updated": "2026-08-13T18:02:04.005000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "The Agentic Web",
     "date": "2025-07-26",
     "url": "https://agents.willem.com/en/posts/2025-07-26_the-agentic-web/",
     "source_url": "https://willem.com/en/2025-07-26_the-agentic-web/"
    },
    {
     "title": "Websites with Auto Pilot",
     "date": "2026-01-07",
     "url": "https://agents.willem.com/en/posts/2026-01-07_websites-with-auto-pilot/",
     "source_url": "https://willem.com/en/2026-01-07_websites-with-auto-pilot/"
    }
   ]
  },
  {
   "slug": "will-ai-replace-developers",
   "url": "https://agents.willem.com/en/questions/will-ai-replace-developers/",
   "question": "Will AI replace developers?",
   "answer": "Not the human part of the work. I use AI to generate code daily and it is genuinely fast, but the scarce things stay scarce: judgement, taste, understanding a customer's actual problem, and the willingness to refuse the wrong idea. If near-perfect intelligence becomes available to everyone, the interesting question stops being what can be built and becomes what is worth building.",
   "created": "2026-08-13T18:02:03.900000+02:00",
   "updated": "2026-08-13T18:02:03.903000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "The Future of AI is Human",
     "date": "2025-09-24",
     "url": "https://agents.willem.com/en/posts/2025-09-24_the-future-of-ai-is-human/",
     "source_url": "https://willem.com/en/2025-09-24_the-future-of-ai-is-human/"
    },
    {
     "title": "Using AI to generate code",
     "date": "2023-05-03",
     "url": "https://agents.willem.com/en/posts/2023-05-03_using-ai-to-generate-code/",
     "source_url": "https://willem.com/en/2023-05-03_using-ai-to-generate-code/"
    }
   ]
  },
  {
   "slug": "how-do-you-make-backups-with-rsync",
   "url": "https://agents.willem.com/en/questions/how-do-you-make-backups-with-rsync/",
   "question": "How do you make backups with rsync?",
   "answer": "rsync is a cross-platform tool that copies only what changed, which makes it practical to run often. A plain copy is not enough on its own, because files can be corrupted, overwritten or encrypted by ransomware, so what you want is several time-rotated copies, ideally offsite. I wrote a small tool, rsync-backup-rotator, to handle that rotation.",
   "created": "2026-08-13T18:02:03.803000+02:00",
   "updated": "2026-08-13T18:02:03.807000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "How to use rsync to make backups",
     "date": "2020-10-30",
     "url": "https://agents.willem.com/en/posts/2020-10-30_how-to-use-rsync-to-make-backups/",
     "source_url": "https://willem.com/en/2020-10-30_how-to-use-rsync-to-make-backups/"
    },
    {
     "title": "Backup Rotation Scheme",
     "date": "2023-12-15",
     "url": "https://agents.willem.com/en/posts/2023-12-15_backup-rotation-scheme/",
     "source_url": "https://willem.com/en/2023-12-15_backup-rotation-scheme/"
    }
   ]
  },
  {
   "slug": "how-do-you-protect-a-server-against-hackers",
   "url": "https://agents.willem.com/en/questions/how-do-you-protect-a-server-against-hackers/",
   "question": "How do you protect a server against hackers?",
   "answer": "Most hacks I am called in for could have been prevented by basics rather than by anything clever. Attacks usually start with something visible from the outside, so the work is reducing what is reachable at all: close unused ports, remove network-facing services you are not using, keep software current, and do not leave a management console exposed. I have written this up as five practical server hardening tips, as a look at the security holes shared hosting leaves open, and as a specific case of putting a firewall and proxy in front of a VMware ESXi console.",
   "created": "2026-08-13T18:02:03.712000+02:00",
   "updated": "2026-08-13T18:02:03.715000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Cyber security: 5 easy tips to protect your server against hackers",
     "date": "2018-03-10",
     "url": "https://agents.willem.com/en/posts/2018-03-10_cyber-security-5-easy-tips-to-protect-your-server-against-hackers/",
     "source_url": "https://willem.com/en/2018-03-10_cyber-security-5-easy-tips-to-protect-your-server-against-hackers/"
    },
    {
     "title": "Understanding the security concerns in shared hosting",
     "date": "2019-02-28",
     "url": "https://agents.willem.com/en/posts/2019-02-28_understanding-the-security-concerns-in-shared-hosting/",
     "source_url": "https://willem.com/en/2019-02-28_understanding-the-security-concerns-in-shared-hosting/"
    },
    {
     "title": "Protecting VMware ESXi",
     "date": "2021-08-31",
     "url": "https://agents.willem.com/en/posts/2021-08-31_protecting-vmware-esxi/",
     "source_url": "https://willem.com/en/2021-08-31_protecting-vmware-esxi/"
    }
   ]
  },
  {
   "slug": "how-do-you-host-your-own-contacts-and-calendar-instead-of-using-a-big-cloud",
   "url": "https://agents.willem.com/en/questions/how-do-you-host-your-own-contacts-and-calendar-instead-of-using-a-big-cloud/",
   "question": "How do you host your own contacts and calendar instead of using a big cloud?",
   "answer": "With CardDAV and CalDAV, the open standards behind contact and calendar syncing. If you work across several devices you need synchronisation, but you do not need to hand your address book and agenda to Apple, Microsoft or Google to get it. Both protocols are well supported by the devices you already own.",
   "created": "2026-08-13T18:02:03.617000+02:00",
   "updated": "2026-08-13T18:02:03.620000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Your own addressbook and calendar cloud",
     "date": "2020-02-28",
     "url": "https://agents.willem.com/en/posts/2020-02-28_your-own-addressbook-and-calendar-cloud/",
     "source_url": "https://willem.com/en/2020-02-28_your-own-addressbook-and-calendar-cloud/"
    }
   ]
  },
  {
   "slug": "can-you-run-your-own-datacenter-at-home",
   "url": "https://agents.willem.com/en/questions/can-you-run-your-own-datacenter-at-home/",
   "question": "Can you run your own datacenter at home?",
   "answer": "I did, in a basement, on a 600Mbit symmetric fibre connection, and wrote up what it takes. At company scale I went a step further and built a 72TB NAS on an HPE ProLiant DL380. The honest caveat is that a home connection and a rack in a datacenter are not the same thing: the fun is real, and so is the difference in power, cooling and uptime.",
   "created": "2026-08-13T18:02:03.521000+02:00",
   "updated": "2026-08-13T18:02:03.524000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Clouds below my floor",
     "date": "2017-08-31",
     "url": "https://agents.willem.com/en/posts/2017-08-31_clouds-below-my-floor/",
     "source_url": "https://willem.com/en/2017-08-31_clouds-below-my-floor/"
    },
    {
     "title": "Building a professional 72TB NAS",
     "date": "2019-11-22",
     "url": "https://agents.willem.com/en/posts/2019-11-22_building-a-professional-72tb-nas/",
     "source_url": "https://willem.com/en/2019-11-22_building-a-professional-72tb-nas/"
    }
   ]
  },
  {
   "slug": "how-do-you-cut-cloud-costs",
   "url": "https://agents.willem.com/en/questions/how-do-you-cut-cloud-costs/",
   "question": "How do you cut cloud costs?",
   "answer": "By optimising the software rather than by shopping for a cheaper provider. Cloud bills grow because inefficient software asks for more machine than it needs, so the durable fix is to make the software cheaper to run. Working that way I have cut cloud costs by up to 90 percent for clients.",
   "created": "2026-08-13T18:02:03.425000+02:00",
   "updated": "2026-08-13T18:02:03.428000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Cutting Cloud Costs",
     "date": "2023-04-05",
     "url": "https://agents.willem.com/en/posts/2023-04-05_cutting-cloud-costs/",
     "source_url": "https://willem.com/en/2023-04-05_cutting-cloud-costs/"
    }
   ]
  },
  {
   "slug": "what-breaks-when-you-upgrade-dovecot-2-3-to-2-4",
   "url": "https://agents.willem.com/en/questions/what-breaks-when-you-upgrade-dovecot-2-3-to-2-4/",
   "question": "What breaks when you upgrade Dovecot 2.3 to 2.4?",
   "answer": "Enough to stop mail delivery during what looked like routine maintenance. Version 2.4 carries breaking configuration changes, and on infrastructure that processes thousands of messages a day that means client access halts rather than degrades. I wrote up what broke and how it was resolved, on Debian Stable.",
   "created": "2026-08-13T18:02:03.329000+02:00",
   "updated": "2026-08-13T18:02:03.333000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Breaking Changes",
     "date": "2025-06-04",
     "url": "https://agents.willem.com/en/posts/2025-06-04_breaking-changes/",
     "source_url": "https://willem.com/en/2025-06-04_breaking-changes/"
    }
   ]
  },
  {
   "slug": "what-is-dig-and-when-do-you-need-it",
   "url": "https://agents.willem.com/en/questions/what-is-dig-and-when-do-you-need-it/",
   "question": "What is dig and when do you need it?",
   "answer": "dig queries the domain name system directly, which is what you need the moment a domain, website or mail service behaves oddly. When everything works, DNS is invisible; when it does not, you have to look at what the name servers are actually answering rather than at what you believe is configured.",
   "created": "2026-08-13T18:02:03.233000+02:00",
   "updated": "2026-08-13T18:02:03.235000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Dig for dummies",
     "date": "2019-05-24",
     "url": "https://agents.willem.com/en/posts/2019-05-24_dig-for-dummies/",
     "source_url": "https://willem.com/en/2019-05-24_dig-for-dummies/"
    }
   ]
  },
  {
   "slug": "how-do-you-stop-backscatter-spam-on-a-mail-server",
   "url": "https://agents.willem.com/en/questions/how-do-you-stop-backscatter-spam-on-a-mail-server/",
   "question": "How do you stop backscatter spam on a mail server?",
   "answer": "By rejecting mail for unknown recipients at the edge instead of accepting it and bouncing later. Backscatter is what happens when your server accepts a message for an address that does not exist and then sends a bounce to a forged sender, which gets your server blacklisted for sending spam it never intended to send. I configured Postfix to block it before it enters the server.",
   "created": "2026-08-13T18:02:03.143000+02:00",
   "updated": "2026-08-13T18:02:03.146000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Fighting backscatter spam at server level",
     "date": "2019-09-10",
     "url": "https://agents.willem.com/en/posts/2019-09-10_fighting-backscatter-spam-at-server-level/",
     "source_url": "https://willem.com/en/2019-09-10_fighting-backscatter-spam-at-server-level/"
    }
   ]
  },
  {
   "slug": "how-do-you-limit-network-bandwidth-per-client-ip-address",
   "url": "https://agents.willem.com/en/questions/how-do-you-limit-network-bandwidth-per-client-ip-address/",
   "question": "How do you limit network bandwidth per client IP address?",
   "answer": "With iptables and tc, marking traffic and then shaping it per address. I reached for this after an alert about excessive bandwidth usage, where the standard incident response of isolating and shutting down the source turned out to be the wrong tool: the traffic was legitimate, it just needed a ceiling rather than an axe.",
   "created": "2026-08-13T18:02:03.053000+02:00",
   "updated": "2026-08-13T18:02:03.056000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Traffic shaping using iptables and tc",
     "date": "2020-04-01",
     "url": "https://agents.willem.com/en/posts/2020-04-01_traffic-shaping-using-iptables-and-tc/",
     "source_url": "https://willem.com/en/2020-04-01_traffic-shaping-using-iptables-and-tc/"
    }
   ]
  },
  {
   "slug": "can-linux-give-an-old-computer-a-second-life",
   "url": "https://agents.willem.com/en/questions/can-linux-give-an-old-computer-a-second-life/",
   "question": "Can Linux give an old computer a second life?",
   "answer": "Reliably, yes, and it is one of the most satisfying things you can do with hardware you already own. I put Linux on a 2017 iMac that had become painfully slow under modern macOS, I reinstall old laptops with Debian for people at the community centre where I volunteer, and I once ran a fifteen year old ThinkPad X200 as my main machine for a month to see what an offline-first workflow teaches you. The limit is usually the owner's expectations, not the hardware.",
   "created": "2026-08-13T18:02:02.945000+02:00",
   "updated": "2026-08-13T18:02:02.948000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Omarchy on iMac",
     "date": "2025-09-22",
     "url": "https://agents.willem.com/en/posts/2025-09-22_omarchy-on-imac/",
     "source_url": "https://willem.com/en/2025-09-22_omarchy-on-imac/"
    },
    {
     "title": "Helping people with free software",
     "date": "2018-07-20",
     "url": "https://agents.willem.com/en/posts/2018-07-20_helping-people-with-free-software/",
     "source_url": "https://willem.com/en/2018-07-20_helping-people-with-free-software/"
    },
    {
     "title": "Working Offline First",
     "date": "2023-05-01",
     "url": "https://agents.willem.com/en/posts/2023-05-01_working-offline-first/",
     "source_url": "https://willem.com/en/2023-05-01_working-offline-first/"
    }
   ]
  },
  {
   "slug": "how-do-you-optimise-images-for-a-faster-website",
   "url": "https://agents.willem.com/en/questions/how-do-you-optimise-images-for-a-faster-website/",
   "question": "How do you optimise images for a faster website?",
   "answer": "More than half the weight of an average website is images, and almost nobody compresses them properly. Tools like jpegoptim, optipng, pngcrush and pngquant remove bytes without visible loss, which makes a site faster without touching its design. Making a page smaller is the most reliable way to make it quicker.",
   "created": "2026-08-13T18:02:02.842000+02:00",
   "updated": "2026-08-13T18:02:02.844000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Optimising images for the web and performance",
     "date": "2018-09-26",
     "url": "https://agents.willem.com/en/posts/2018-09-26_optimising-images-for-the-web-and-performance/",
     "source_url": "https://willem.com/en/2018-09-26_optimising-images-for-the-web-and-performance/"
    }
   ]
  },
  {
   "slug": "are-rss-feeds-still-relevant",
   "url": "https://agents.willem.com/en/questions/are-rss-feeds-still-relevant/",
   "question": "Are RSS feeds still relevant?",
   "answer": "Yes, and I added them to my own blog after a reader asked for it. A feed is a standard, machine-readable edition of your writing that anyone, and now anything, can subscribe to without asking you for permission or an API key. That property has become more useful over time, not less.",
   "created": "2026-08-13T18:02:02.747000+02:00",
   "updated": "2026-08-13T18:02:02.750000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Increase traffic to your blog with a RSS feed",
     "date": "2020-10-31",
     "url": "https://agents.willem.com/en/posts/2020-10-31_increase-traffic-to-your-blog-with-a-rss-feed/",
     "source_url": "https://willem.com/en/2020-10-31_increase-traffic-to-your-blog-with-a-rss-feed/"
    }
   ]
  },
  {
   "slug": "google-analytics-or-awstats-which-should-you-use",
   "url": "https://agents.willem.com/en/questions/google-analytics-or-awstats-which-should-you-use/",
   "question": "Google Analytics or AWStats: which should you use?",
   "answer": "They measure different things, which is why their numbers never match and why the argument about which is better usually misses the point. AWStats reads the server's own logs and therefore sees everything that reached the server, including bots. Analytics runs in the visitor's browser and therefore sees only visitors who execute its script. Knowing which question you are asking tells you which number to trust.",
   "created": "2026-08-13T18:02:02.654000+02:00",
   "updated": "2026-08-13T18:02:02.656000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Google Analytics vs AWStats",
     "date": "2018-08-20",
     "url": "https://agents.willem.com/en/posts/2018-08-20_google-analytics-vs-awstats/",
     "source_url": "https://willem.com/en/2018-08-20_google-analytics-vs-awstats/"
    }
   ]
  },
  {
   "slug": "is-there-a-user-friendly-alternative-to-captcha",
   "url": "https://agents.willem.com/en/questions/is-there-a-user-friendly-alternative-to-captcha/",
   "question": "Is there a user friendly alternative to CAPTCHA?",
   "answer": "Yes. CAPTCHAs push the cost of your spam problem onto every honest visitor, asking them to decipher characters or pick out traffic lights. There are ways to protect a form that put that burden on the machine instead of on the person filling it in.",
   "created": "2026-08-13T18:02:02.558000+02:00",
   "updated": "2026-08-13T18:02:02.561000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "CAPTCHA Alternative",
     "date": "2022-07-30",
     "url": "https://agents.willem.com/en/posts/2022-07-30_captcha-alternative/",
     "source_url": "https://willem.com/en/2022-07-30_captcha-alternative/"
    }
   ]
  },
  {
   "slug": "what-separates-a-top-tier-website-from-an-ordinary-one",
   "url": "https://agents.willem.com/en/questions/what-separates-a-top-tier-website-from-an-ordinary-one/",
   "question": "What separates a top-tier website from an ordinary one?",
   "answer": "The parts nobody sees. Using escape.nl, one of Amsterdam's most iconic venues, as the example, the difference is in delivery: static output where possible, serious hosting, images that are actually optimised, and design decisions that survive contact with large audiences. It is a blend of cutting-edge technology with an eye for design and for commerce, and the craft shows up as speed and reliability rather than as decoration.",
   "created": "2026-08-13T18:02:02.464000+02:00",
   "updated": "2026-08-13T18:02:02.467000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Champions League of Webdesign",
     "date": "2025-01-23",
     "url": "https://agents.willem.com/en/posts/2025-01-23_champions-league-of-webdesign/",
     "source_url": "https://willem.com/en/2025-01-23_champions-league-of-webdesign/"
    }
   ]
  },
  {
   "slug": "how-do-you-secure-a-wordpress-website",
   "url": "https://agents.willem.com/en/questions/how-do-you-secure-a-wordpress-website/",
   "question": "How do you secure a WordPress website?",
   "answer": "WordPress runs a large share of the web, which makes it the most rewarding target there is, and as an ethical hacker I meet it in every possible state of neglect. The ten practical measures I recommend are mostly unglamorous: keep core and plugins updated, remove what you do not use, control who can log in and from where, and make sure a compromise cannot reach the rest of the server.",
   "created": "2026-08-13T18:02:02.370000+02:00",
   "updated": "2026-08-13T18:02:02.373000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "WordPress: 10 tips to secure your website",
     "date": "2019-03-31",
     "url": "https://agents.willem.com/en/posts/2019-03-31_wordpress-10-tips-to-secure-your-website/",
     "source_url": "https://willem.com/en/2019-03-31_wordpress-10-tips-to-secure-your-website/"
    }
   ]
  },
  {
   "slug": "optical-or-chest-strap-heart-rate-monitor-which-is-more-accurate",
   "url": "https://agents.willem.com/en/questions/optical-or-chest-strap-heart-rate-monitor-which-is-more-accurate/",
   "question": "Optical or chest strap heart rate monitor: which is more accurate?",
   "answer": "They measure fundamentally different things. A chest strap picks up the electrical signal from your heart; a wrist wearable shines light through your skin and infers heart rate from blood flow. The electrical measurement is the more direct one, which shows up most clearly at the edges: during rapid changes in effort, and during sleep, where I compared a wrist optical sensor against a high resolution chest strap.",
   "created": "2026-08-13T18:02:02.271000+02:00",
   "updated": "2026-08-13T18:02:02.278000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Optical vs chest strap heart rate monitors",
     "date": "2019-07-15",
     "url": "https://agents.willem.com/en/posts/2019-07-15_optical-vs-chest-strap-heart-rate-monitors/",
     "source_url": "https://willem.com/en/2019-07-15_optical-vs-chest-strap-heart-rate-monitors/"
    },
    {
     "title": "Limitations of sleep tracking using a wearable",
     "date": "2019-07-16",
     "url": "https://agents.willem.com/en/posts/2019-07-16_limitations-of-sleep-tracking-using-a-wearable/",
     "source_url": "https://willem.com/en/2019-07-16_limitations-of-sleep-tracking-using-a-wearable/"
    }
   ]
  },
  {
   "slug": "is-more-health-and-fitness-data-better",
   "url": "https://agents.willem.com/en/questions/is-more-health-and-fitness-data-better/",
   "question": "Is more health and fitness data better?",
   "answer": "No, and I eventually stopped wearing sensors because of it. A physiotherapist customer once told me that he could never feel better than his patients could, if only they would listen to their bodies, and that stuck. Data is useful when it answers a question you actually have; when it becomes the point, it starts replacing the sense it was supposed to sharpen.",
   "created": "2026-08-13T18:02:02.165000+02:00",
   "updated": "2026-08-13T18:02:02.167000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Health and fitness data",
     "date": "2024-01-16",
     "url": "https://agents.willem.com/en/posts/2024-01-16_health-and-fitness-data/",
     "source_url": "https://willem.com/en/2024-01-16_health-and-fitness-data/"
    },
    {
     "title": "Listen to your body",
     "date": "2018-05-17",
     "url": "https://agents.willem.com/en/posts/2018-05-17_listen-to-your-body/",
     "source_url": "https://willem.com/en/2018-05-17_listen-to-your-body/"
    }
   ]
  },
  {
   "slug": "what-is-mcadd-and-what-does-it-mean-in-daily-life",
   "url": "https://agents.willem.com/en/questions/what-is-mcadd-and-what-does-it-mean-in-daily-life/",
   "question": "What is MCADD and what does it mean in daily life?",
   "answer": "MCADD, medium chain acyl-CoA dehydrogenase deficiency, is a metabolic condition that limits the body's ability to use fats for energy. Our son was diagnosed days after birth, after he stopped feeding and his temperature fell to 33 degrees. Day to day it means a strict feeding schedule and a plan for when things go differently, and it became normal for us quickly. I have written about the diagnosis, about the first six months as parents, and about the first hospital admission, where a metabolic crisis was averted with an infusion.",
   "created": "2026-08-13T18:02:02.067000+02:00",
   "updated": "2026-08-13T18:02:02.069000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Born with MCADD",
     "date": "2019-01-29",
     "url": "https://agents.willem.com/en/posts/2019-01-29_born-with-mcadd/",
     "source_url": "https://willem.com/en/2019-01-29_born-with-mcadd/"
    },
    {
     "title": "Six months with MCADD",
     "date": "2019-06-24",
     "url": "https://agents.willem.com/en/posts/2019-06-24_six-months-with-mcadd/",
     "source_url": "https://willem.com/en/2019-06-24_six-months-with-mcadd/"
    },
    {
     "title": "Hospitalised with MCADD",
     "date": "2021-05-04",
     "url": "https://agents.willem.com/en/posts/2021-05-04_hospitalised-with-mcadd/",
     "source_url": "https://willem.com/en/2021-05-04_hospitalised-with-mcadd/"
    }
   ]
  },
  {
   "slug": "how-do-you-prepare-for-your-first-marathon",
   "url": "https://agents.willem.com/en/questions/how-do-you-prepare-for-your-first-marathon/",
   "question": "How do you prepare for your first marathon?",
   "answer": "I ran my first in Amsterdam, finishing in the Olympic Stadium, from an idea that started in a bar. Six weeks later I ran Valencia, deliberately using a different approach: the first on data, the second on feel, and the experiences differed greatly. The one that taught me most was Leiden in 25 degrees, the hardest of them, where several runners collapsed from the heat. Pushing your limits sometimes means finding them.",
   "created": "2026-08-13T18:02:01.969000+02:00",
   "updated": "2026-08-13T18:02:01.971000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Marathon",
     "date": "2024-10-20",
     "url": "https://agents.willem.com/en/posts/2024-10-20_marathon/",
     "source_url": "https://willem.com/en/2024-10-20_marathon/"
    },
    {
     "title": "Data versus Feeling",
     "date": "2024-12-19",
     "url": "https://agents.willem.com/en/posts/2024-12-19_data-versus-feeling/",
     "source_url": "https://willem.com/en/2024-12-19_data-versus-feeling/"
    },
    {
     "title": "When the Going Gets Tough",
     "date": "2025-05-12",
     "url": "https://agents.willem.com/en/posts/2025-05-12_when-the-going-gets-tough/",
     "source_url": "https://willem.com/en/2025-05-12_when-the-going-gets-tough/"
    },
    {
     "title": "Half Marathon",
     "date": "2024-03-24",
     "url": "https://agents.willem.com/en/posts/2024-03-24_half-marathon/",
     "source_url": "https://willem.com/en/2024-03-24_half-marathon/"
    }
   ]
  },
  {
   "slug": "how-do-you-prepare-for-a-very-long-bike-ride",
   "url": "https://agents.willem.com/en/questions/how-do-you-prepare-for-a-very-long-bike-ride/",
   "question": "How do you prepare for a very long bike ride?",
   "answer": "Going solo asks something different from riding an organised event with support and company along the way, and that difference is mostly in the planning and the mindset rather than in the legs. I rode 211KM around the Markermeer alone, 204KM across half the Netherlands on a fixed gear as preparation for the Fietselfstedentocht, and 176KM from Amsterdam to Limburg into rain and wind. All three posts carry the practical tips.",
   "created": "2026-08-13T18:02:01.871000+02:00",
   "updated": "2026-08-13T18:02:01.873000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Solo around the Markermeer (211KM)",
     "date": "2019-05-29",
     "url": "https://agents.willem.com/en/posts/2019-05-29_solo-around-the-markermeer-211km/",
     "source_url": "https://willem.com/en/2019-05-29_solo-around-the-markermeer-211km/"
    },
    {
     "title": "Tips for Long-Distance Cycling",
     "date": "2023-04-20",
     "url": "https://agents.willem.com/en/posts/2023-04-20_tips-for-long-distance-cycling/",
     "source_url": "https://willem.com/en/2023-04-20_tips-for-long-distance-cycling/"
    },
    {
     "title": "Fixed Gear Gran Fondo",
     "date": "2021-04-10",
     "url": "https://agents.willem.com/en/posts/2021-04-10_fixed-gear-gran-fondo/",
     "source_url": "https://willem.com/en/2021-04-10_fixed-gear-gran-fondo/"
    }
   ]
  },
  {
   "slug": "does-wearing-a-sleep-mask-actually-improve-sleep",
   "url": "https://agents.willem.com/en/questions/does-wearing-a-sleep-mask-actually-improve-sleep/",
   "question": "Does wearing a sleep mask actually improve sleep?",
   "answer": "It helped me. The body produces melatonin in darkness, and modern life is awash in artificial light at exactly the wrong hours, which is a straightforward way to disrupt a circadian rhythm. I experimented with blocking all light with a simple mask for several weeks and wrote up what changed.",
   "created": "2026-08-13T18:02:01.770000+02:00",
   "updated": "2026-08-13T18:02:01.774000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Improve your sleep by blocking light",
     "date": "2020-01-24",
     "url": "https://agents.willem.com/en/posts/2020-01-24_improve-your-sleep-by-blocking-light/",
     "source_url": "https://willem.com/en/2020-01-24_improve-your-sleep-by-blocking-light/"
    }
   ]
  },
  {
   "slug": "is-a-whoop-or-similar-biometric-band-worth-wearing",
   "url": "https://agents.willem.com/en/questions/is-a-whoop-or-similar-biometric-band-worth-wearing/",
   "question": "Is a WHOOP or similar biometric band worth wearing?",
   "answer": "For a while it was, for me. Unlike most fitness bands the WHOOP is built around strain, recovery and sleep rather than around step counts, which makes it more like a mirror than a scoreboard: it tells you what yesterday cost you. I used its trend data to prepare for a 235KM ride. I have also written about why I later stopped using sensors altogether, and both positions are honest.",
   "created": "2026-08-13T18:02:01.660000+02:00",
   "updated": "2026-08-13T18:02:01.663000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Wearing WHOOP 4.0",
     "date": "2022-01-14",
     "url": "https://agents.willem.com/en/posts/2022-01-14_wearing-whoop-4-0/",
     "source_url": "https://willem.com/en/2022-01-14_wearing-whoop-4-0/"
    },
    {
     "title": "Whoop strap review: 24/7 wearable sensor",
     "date": "2019-12-31",
     "url": "https://agents.willem.com/en/posts/2019-12-31_whoop-strap-review-24-7-wearable-sensor/",
     "source_url": "https://willem.com/en/2019-12-31_whoop-strap-review-24-7-wearable-sensor/"
    },
    {
     "title": "Impact of training",
     "date": "2023-05-31",
     "url": "https://agents.willem.com/en/posts/2023-05-31_impact-of-training/",
     "source_url": "https://willem.com/en/2023-05-31_impact-of-training/"
    },
    {
     "title": "Listen to your body",
     "date": "2018-05-17",
     "url": "https://agents.willem.com/en/posts/2018-05-17_listen-to-your-body/",
     "source_url": "https://willem.com/en/2018-05-17_listen-to-your-body/"
    }
   ]
  },
  {
   "slug": "what-makes-a-good-commuter-bike",
   "url": "https://agents.willem.com/en/questions/what-makes-a-good-commuter-bike/",
   "question": "What makes a good commuter bike?",
   "answer": "Low maintenance and a frame you enjoy riding. Mine is a Sensa Cintura with a Gates carbon belt drive and a Shimano Alfine hub gear, chosen so that daily use does not turn into daily upkeep. I have written it up three times: building it, a year and 6000KM later after messages from commuters worldwide, and again at 21.000KM when it started squeaking. The belt drive earned its keep.",
   "created": "2026-08-13T18:02:01.557000+02:00",
   "updated": "2026-08-13T18:02:01.561000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Creating the ultimate commuter bike",
     "date": "2018-02-24",
     "url": "https://agents.willem.com/en/posts/2018-02-24_creating-the-ultimate-commuter-bike/",
     "source_url": "https://willem.com/en/2018-02-24_creating-the-ultimate-commuter-bike/"
    },
    {
     "title": "One year on the ultimate commuter bike",
     "date": "2019-02-27",
     "url": "https://agents.willem.com/en/posts/2019-02-27_one-year-on-the-ultimate-commuter-bike/",
     "source_url": "https://willem.com/en/2019-02-27_one-year-on-the-ultimate-commuter-bike/"
    },
    {
     "title": "Commuter bike checkup",
     "date": "2021-01-10",
     "url": "https://agents.willem.com/en/posts/2021-01-10_commuter-bike-checkup/",
     "source_url": "https://willem.com/en/2021-01-10_commuter-bike-checkup/"
    }
   ]
  },
  {
   "slug": "are-puncture-proof-bicycle-tyres-really-puncture-proof",
   "url": "https://agents.willem.com/en/questions/are-puncture-proof-bicycle-tyres-really-puncture-proof/",
   "question": "Are puncture-proof bicycle tyres really puncture proof?",
   "answer": "I ran Schwalbe Durano Plus tyres specifically to find out how many kilometres you can ride without a flat, and wrote down the answer rather than the marketing claim. The short version is that puncture-proof means the punctures become rare enough to change how you plan a ride, not that they become impossible.",
   "created": "2026-08-13T18:02:01.439000+02:00",
   "updated": "2026-08-13T18:02:01.441000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Escaping the flat tires",
     "date": "2021-11-19",
     "url": "https://agents.willem.com/en/posts/2021-11-19_escaping-the-flat-tires/",
     "source_url": "https://willem.com/en/2021-11-19_escaping-the-flat-tires/"
    }
   ]
  },
  {
   "slug": "are-dynamo-powered-bicycle-lights-worth-it",
   "url": "https://agents.willem.com/en/questions/are-dynamo-powered-bicycle-lights-worth-it/",
   "question": "Are dynamo powered bicycle lights worth it?",
   "answer": "If you want lights that simply work, yes. Battery lights do the job until the evening you forgot to charge them, which is precisely the evening you need them. I fitted a dynamo system to my road bike for that reason, and when the headlight on my commuter failed after heavy daily use I replaced it with a Supernova E3 Pro 2, choosing for durability and brightness rather than price.",
   "created": "2026-08-13T18:02:01.335000+02:00",
   "updated": "2026-08-13T18:02:01.338000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "And... there is light!",
     "date": "2023-11-01",
     "url": "https://agents.willem.com/en/posts/2023-11-01_and-there-is-light/",
     "source_url": "https://willem.com/en/2023-11-01_and-there-is-light/"
    },
    {
     "title": "Supernova E3 Pro 2 dynamo powered headlight",
     "date": "2019-11-26",
     "url": "https://agents.willem.com/en/posts/2019-11-26_supernova-e3-pro-2-dynamo-powered-headlight/",
     "source_url": "https://willem.com/en/2019-11-26_supernova-e3-pro-2-dynamo-powered-headlight/"
    }
   ]
  },
  {
   "slug": "is-a-brompton-folding-bike-worth-the-money",
   "url": "https://agents.willem.com/en/questions/is-a-brompton-folding-bike-worth-the-money/",
   "question": "Is a Brompton folding bike worth the money?",
   "answer": "Few bikes have surprised me as much. After the first five months and around 500KM I called it the ultimate freedom bike, because folding it changes what a bike is for: it stops being something you park and start worrying about, and becomes something you take with you.",
   "created": "2026-08-13T18:02:01.237000+02:00",
   "updated": "2026-08-13T18:02:01.239000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "The Ultimate Freedom Bike",
     "date": "2022-09-15",
     "url": "https://agents.willem.com/en/posts/2022-09-15_the-ultimate-freedom-bike/",
     "source_url": "https://willem.com/en/2022-09-15_the-ultimate-freedom-bike/"
    }
   ]
  },
  {
   "slug": "is-it-worth-repairing-things-instead-of-replacing-them",
   "url": "https://agents.willem.com/en/questions/is-it-worth-repairing-things-instead-of-replacing-them/",
   "question": "Is it worth repairing things instead of replacing them?",
   "answer": "It is a running theme in my writing and a growing antipathy to planned obsolescence. I have serviced an iRobot Roomba that has run since 2011, replaced the retention system in a Giro helmet I liked too much to throw away, fixed a cargo bike shift cable after it caught a branch while hunting for bears with my son, and rescued a MacBook Air with an exploded battery. A takeaway plastic bag, designed for one use, is what got me thinking about all of it.",
   "created": "2026-08-13T18:02:01.140000+02:00",
   "updated": "2026-08-13T18:02:01.143000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Lessons from a takeaway plastic bag",
     "date": "2018-01-08",
     "url": "https://agents.willem.com/en/posts/2018-01-08_lessons-from-a-takeaway-plastic-bag/",
     "source_url": "https://willem.com/en/2018-01-08_lessons-from-a-takeaway-plastic-bag/"
    },
    {
     "title": "Servicing a robot vacuum cleaner",
     "date": "2019-03-20",
     "url": "https://agents.willem.com/en/posts/2019-03-20_servicing-a-robot-vacuum-cleaner/",
     "source_url": "https://willem.com/en/2019-03-20_servicing-a-robot-vacuum-cleaner/"
    },
    {
     "title": "Repairing a Giro AEON bicycle helmet",
     "date": "2020-07-09",
     "url": "https://agents.willem.com/en/posts/2020-07-09_repairing-a-giro-aeon-bicycle-helmet/",
     "source_url": "https://willem.com/en/2020-07-09_repairing-a-giro-aeon-bicycle-helmet/"
    },
    {
     "title": "Replacing a Shimano shift cable",
     "date": "2020-11-22",
     "url": "https://agents.willem.com/en/posts/2020-11-22_replacing-a-shimano-shift-cable/",
     "source_url": "https://willem.com/en/2020-11-22_replacing-a-shimano-shift-cable/"
    }
   ]
  },
  {
   "slug": "can-you-use-an-android-phone-without-google",
   "url": "https://agents.willem.com/en/questions/can-you-use-an-android-phone-without-google/",
   "question": "Can you use an Android phone without Google?",
   "answer": "Yes, and I have done it twice. A Fairphone running /e/OS gives you a repairable, long-lived phone with the Google layer removed, and the German Volla Phone is a second route to the same goal for people who value privacy and freedom. Both work; both ask you to give up some convenience, and it is worth being honest about which conveniences you actually use.",
   "created": "2026-08-13T18:02:01.029000+02:00",
   "updated": "2026-08-13T18:02:01.038000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Durable Smartphone",
     "date": "2025-03-05",
     "url": "https://agents.willem.com/en/posts/2025-03-05_durable-smartphone/",
     "source_url": "https://willem.com/en/2025-03-05_durable-smartphone/"
    },
    {
     "title": "Using Google Free Android",
     "date": "2021-10-25",
     "url": "https://agents.willem.com/en/posts/2021-10-25_using-google-free-android/",
     "source_url": "https://willem.com/en/2021-10-25_using-google-free-android/"
    }
   ]
  },
  {
   "slug": "can-a-smartwatch-replace-your-smartphone",
   "url": "https://agents.willem.com/en/questions/can-a-smartwatch-replace-your-smartphone/",
   "question": "Can a smartwatch replace your smartphone?",
   "answer": "I spent a week trying, leaving the phone behind and letting an Apple Watch take over. It is sold as liberation from an attention-seeking device, and there is something to that, but the experiment is more interesting than the conclusion: what you discover is which phone habits were ever about need.",
   "created": "2026-08-13T18:02:00.933000+02:00",
   "updated": "2026-08-13T18:02:00.936000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Apple Watch as Phone",
     "date": "2023-11-10",
     "url": "https://agents.willem.com/en/posts/2023-11-10_apple-watch-as-phone/",
     "source_url": "https://willem.com/en/2023-11-10_apple-watch-as-phone/"
    }
   ]
  },
  {
   "slug": "can-a-tablet-be-your-main-computer",
   "url": "https://agents.willem.com/en/questions/can-a-tablet-be-your-main-computer/",
   "question": "Can a tablet be your main computer?",
   "answer": "I have tested this for the best part of a decade and the honest answer has changed over time. I ran an iPad Pro as my only computer for development, compared a Microsoft Surface Pro against it, built my own tablet operating system on a Surface Go with Debian and i3, and then abandoned that experiment and went back to iPad and Mac. What holds up is the argument in Tablet as Tool: judge the machine by what it lets you do rather than by what a laptop would have done.",
   "created": "2026-08-13T18:02:00.830000+02:00",
   "updated": "2026-08-13T18:02:00.832000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "iPad Pro as primary computer",
     "date": "2016-08-15",
     "url": "https://agents.willem.com/en/posts/2016-08-15_ipad-pro-as-primary-computer/",
     "source_url": "https://willem.com/en/2016-08-15_ipad-pro-as-primary-computer/"
    },
    {
     "title": "Tablet as main computer",
     "date": "2018-03-07",
     "url": "https://agents.willem.com/en/posts/2018-03-07_tablet-as-main-computer/",
     "source_url": "https://willem.com/en/2018-03-07_tablet-as-main-computer/"
    },
    {
     "title": "Tablet as Tool",
     "date": "2023-05-08",
     "url": "https://agents.willem.com/en/posts/2023-05-08_tablet-as-tool/",
     "source_url": "https://willem.com/en/2023-05-08_tablet-as-tool/"
    },
    {
     "title": "Abandoning my own tablet OS",
     "date": "2021-01-14",
     "url": "https://agents.willem.com/en/posts/2021-01-14_abandoning-my-own-tablet-os/",
     "source_url": "https://willem.com/en/2021-01-14_abandoning-my-own-tablet-os/"
    }
   ]
  },
  {
   "slug": "can-you-work-on-solar-power-alone",
   "url": "https://agents.willem.com/en/questions/can-you-work-on-solar-power-alone/",
   "question": "Can you work on solar power alone?",
   "answer": "For ten days I powered my phone, computer and wearables from a small solar panel and disconnected every grid charger. The point was not self-sufficiency but insight: once you have to collect and store your own energy, you learn very quickly which devices are expensive and which habits are wasteful.",
   "created": "2026-08-13T18:02:00.727000+02:00",
   "updated": "2026-08-13T18:02:00.729000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Off the grid: Working on 100% renewable energy",
     "date": "2018-04-30",
     "url": "https://agents.willem.com/en/posts/2018-04-30_off-the-grid-working-on-100-renewable-energy/",
     "source_url": "https://willem.com/en/2018-04-30_off-the-grid-working-on-100-renewable-energy/"
    }
   ]
  },
  {
   "slug": "can-you-live-without-cash-and-a-wallet",
   "url": "https://agents.willem.com/en/questions/can-you-live-without-cash-and-a-wallet/",
   "question": "Can you live without cash and a wallet?",
   "answer": "I tried it to free up a pocket, and mostly succeeded. The experiment is about what a wallet actually holds: a stack of cards, loyalty schemes and memberships, most of which exist to serve someone else's system rather than yours. I have also written separately about why I think Bitcoin does not solve the underlying problem.",
   "created": "2026-08-13T18:02:00.622000+02:00",
   "updated": "2026-08-13T18:02:00.624000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Cash is king, or is it?",
     "date": "2016-07-15",
     "url": "https://agents.willem.com/en/posts/2016-07-15_cash-is-king-or-is-it/",
     "source_url": "https://willem.com/en/2016-07-15_cash-is-king-or-is-it/"
    },
    {
     "title": "The Problem With Bitcoin",
     "date": "2024-12-09",
     "url": "https://agents.willem.com/en/posts/2024-12-09_the-problem-with-bitcoin/",
     "source_url": "https://willem.com/en/2024-12-09_the-problem-with-bitcoin/"
    }
   ]
  },
  {
   "slug": "why-still-wear-a-mechanical-watch-in-the-smartwatch-era",
   "url": "https://agents.willem.com/en/questions/why-still-wear-a-mechanical-watch-in-the-smartwatch-era/",
   "question": "Why still wear a mechanical watch in the smartwatch era?",
   "answer": "Because of the one thing a smartwatch will never have: patina. A friend's Apple Watch lost a rubber ring and Apple simply replaced the device, which solved his problem and told me everything about the difference. A mechanical watch records the time you spent with it; a smart one is replaced. I have tested the smartwatch case seriously, and for a while I wore both at once rather than choose.",
   "created": "2026-08-13T18:02:00.514000+02:00",
   "updated": "2026-08-13T18:02:00.516000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Something the smartwatch will never have: patina",
     "date": "2018-01-21",
     "url": "https://agents.willem.com/en/posts/2018-01-21_something-the-smartwatch-will-never-have-patina/",
     "source_url": "https://willem.com/en/2018-01-21_something-the-smartwatch-will-never-have-patina/"
    },
    {
     "title": "Smartwatches vs Mechanical watches",
     "date": "2017-04-30",
     "url": "https://agents.willem.com/en/posts/2017-04-30_smartwatches-vs-mechanical-watches/",
     "source_url": "https://willem.com/en/2017-04-30_smartwatches-vs-mechanical-watches/"
    },
    {
     "title": "Wearing two watches",
     "date": "2021-02-28",
     "url": "https://agents.willem.com/en/posts/2021-02-28_wearing-two-watches/",
     "source_url": "https://willem.com/en/2021-02-28_wearing-two-watches/"
    }
   ]
  },
  {
   "slug": "why-do-you-stay-a-one-person-company",
   "url": "https://agents.willem.com/en/questions/why-do-you-stay-a-one-person-company/",
   "question": "Why do you stay a one-person company?",
   "answer": "It is a deliberate choice rather than a starting point I never grew out of. Staying small is, for me, the best way to do great work and build something sustainable: no layer between the person with the problem and the person solving it, and no growth obligation that quietly changes what work gets accepted.",
   "created": "2026-08-13T18:02:00.415000+02:00",
   "updated": "2026-08-13T18:02:00.418000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "The Power of One",
     "date": "2025-07-23",
     "url": "https://agents.willem.com/en/posts/2025-07-23_the-power-of-one/",
     "source_url": "https://willem.com/en/2025-07-23_the-power-of-one/"
    }
   ]
  },
  {
   "slug": "when-do-you-refuse-a-project",
   "url": "https://agents.willem.com/en/questions/when-do-you-refuse-a-project/",
   "question": "When do you refuse a project?",
   "answer": "When the thing being asked for is not the thing that is needed. People approach a developer with a solution already chosen, can you build X, and a fellow technician once urged me to refuse more often and to be proud of what I do not build. Saying no is usually the fastest way to a better result, and it is part of what a customer is paying for.",
   "created": "2026-08-13T18:02:00.307000+02:00",
   "updated": "2026-08-13T18:02:00.311000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "No, I Won't Build That!",
     "date": "2024-03-05",
     "url": "https://agents.willem.com/en/posts/2024-03-05_no-i-won-t-build-that/",
     "source_url": "https://willem.com/en/2024-03-05_no-i-won-t-build-that/"
    }
   ]
  },
  {
   "slug": "how-do-you-design-software-for-reuse-across-products",
   "url": "https://agents.willem.com/en/questions/how-do-you-design-software-for-reuse-across-products/",
   "question": "How do you design software for reuse across products?",
   "answer": "By building a platform of blocks rather than a series of projects. Over the years I developed the Lemmid platform exactly this way, designing for reusability, flexibility and extensibility so that a new product can be assembled quickly from parts that already work. The related question of monolith versus microservices has no universal answer: the right architecture depends on the size and shape of the thing you are actually building.",
   "created": "2026-08-13T18:02:00.206000+02:00",
   "updated": "2026-08-13T18:02:00.209000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Building a product platform",
     "date": "2021-01-31",
     "url": "https://agents.willem.com/en/posts/2021-01-31_building-a-product-platform/",
     "source_url": "https://willem.com/en/2021-01-31_building-a-product-platform/"
    },
    {
     "title": "Monolithic vs Microservices software architecture",
     "date": "2020-03-03",
     "url": "https://agents.willem.com/en/posts/2020-03-03_monolithic-vs-microservices-software-architecture/",
     "source_url": "https://willem.com/en/2020-03-03_monolithic-vs-microservices-software-architecture/"
    }
   ]
  },
  {
   "slug": "what-is-digital-sovereignty-and-why-should-a-business-care",
   "url": "https://agents.willem.com/en/questions/what-is-digital-sovereignty-and-why-should-a-business-care/",
   "question": "What is digital sovereignty and why should a business care?",
   "answer": "It is the difference between using tools and being used by them. Over the years I have worked with everything from easy but locked-down commercial systems to free and libre solutions that are more powerful and harder to set up, and the lesson is that convenience is usually paid for with control. Digital sovereignty is about deliberately choosing where on that scale you sit, per system, with your eyes open.",
   "created": "2026-08-13T18:02:00.102000+02:00",
   "updated": "2026-08-13T18:02:00.106000+02:00",
   "answer_source": "written for this surface from the source posts",
   "snippet_url": null,
   "sources": [
    {
     "title": "Towards Digital Sovereignty",
     "date": "2025-08-02",
     "url": "https://agents.willem.com/en/posts/2025-08-02_towards-digital-sovereignty/",
     "source_url": "https://willem.com/en/2025-08-02_towards-digital-sovereignty/"
    }
   ]
  },
  {
   "slug": "which-photo-gallery-app-works-on-android-without-google",
   "url": "https://agents.willem.com/en/questions/which-photo-gallery-app-works-on-android-without-google/",
   "question": "Which photo gallery app works on Android without Google?",
   "answer": "If you're running Android without Google services, you need a photo gallery that works locally. Aves Gallery is the answer: fast, beautiful, and completely independent of any cloud service.",
   "created": "2026-04-03T19:59:12.252000+02:00",
   "updated": "2026-04-03T19:59:12.259000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/aves-gallery-a-privacy-first-photo-gallery-app-for-android/",
   "sources": []
  },
  {
   "slug": "is-there-a-privacy-friendly-alternative-to-google-analytics",
   "url": "https://agents.willem.com/en/questions/is-there-a-privacy-friendly-alternative-to-google-analytics/",
   "question": "Is there a privacy-friendly alternative to Google Analytics?",
   "answer": "Google Analytics is powerful but tracks your visitors across the web. AWStats reads your server logs directly — no cookies, no JavaScript, no third-party data collection. Willem compared both and switched.",
   "created": "2026-04-03T20:55:15.681000+02:00",
   "updated": "2026-04-03T20:55:15.689000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/awstats-vs-google-analytics-a-privacy-friendly-alternative/",
   "sources": []
  },
  {
   "slug": "how-do-you-batch-rename-photos-by-their-exif-date-on-linux",
   "url": "https://agents.willem.com/en/questions/how-do-you-batch-rename-photos-by-their-exif-date-on-linux/",
   "question": "How do you batch rename photos by their EXIF date on Linux?",
   "answer": "After exporting your photos from Apple Photos, you're left with meaningless filenames like IMG_4523.jpg. Here's how to batch rename them all by their actual creation date using EXIF metadata and a single terminal command.",
   "created": "2026-04-03T19:31:07.029000+02:00",
   "updated": "2026-04-03T20:16:52.725000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/batch-rename-photos-by-date-using-exif-data-on-linux/",
   "sources": []
  },
  {
   "slug": "how-do-you-build-one-game-that-runs-on-ios-android-and-the-web",
   "url": "https://agents.willem.com/en/questions/how-do-you-build-one-game-that-runs-on-ios-android-and-the-web/",
   "question": "How do you build one game that runs on iOS, Android and the web?",
   "answer": "Snake '97 runs on iOS, Android, and web browsers — all from a single HTML5/JavaScript codebase. No React Native, no Unity, no cross-platform framework. Just canvas rendering, touch events, and a game loop.",
   "created": "2026-04-03T19:41:06.738000+02:00",
   "updated": "2026-04-03T19:41:06.743000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/building-a-cross-platform-game-with-html5-the-snake-97-engine/",
   "sources": []
  },
  {
   "slug": "what-is-the-best-bike-computer-app-for-iphone",
   "url": "https://agents.willem.com/en/questions/what-is-the-best-bike-computer-app-for-iphone/",
   "question": "What is the best bike computer app for iPhone?",
   "answer": "After testing multiple cycling apps, Willem settled on Cyclemeter as the best bike computer app for iPhone. It records rides via GPS, connects to Bluetooth sensors, displays data on Apple Watch, and works without a subscription.",
   "created": "2026-04-03T19:41:04.587000+02:00",
   "updated": "2026-04-03T19:41:04.590000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/cyclemeter-the-best-bike-computer-app-for-iphone/",
   "sources": []
  },
  {
   "slug": "what-replaced-mail-location-in-dovecot-2-4",
   "url": "https://agents.willem.com/en/questions/what-replaced-mail-location-in-dovecot-2-4/",
   "question": "What replaced mail_location in Dovecot 2.4?",
   "answer": "One of the biggest breaking changes in Dovecot 2.4: the mail_location setting no longer works the old way. It's been split into separate settings for mail format and path. Here's how to update your configuration.",
   "created": "2026-04-03T19:31:09.224000+02:00",
   "updated": "2026-04-03T20:17:05.662000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/dovecot-2-4-mail-location-has-changed-how-to-migrate/",
   "sources": []
  },
  {
   "slug": "why-did-tls-stop-working-after-upgrading-to-dovecot-2-4",
   "url": "https://agents.willem.com/en/questions/why-did-tls-stop-working-after-upgrading-to-dovecot-2-4/",
   "question": "Why did TLS stop working after upgrading to Dovecot 2.4?",
   "answer": "Dovecot 2.4 renamed several SSL settings. If your mail server's TLS stopped working after the upgrade, this is probably why.",
   "created": "2026-04-03T19:49:17.951000+02:00",
   "updated": "2026-04-03T20:17:26.048000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/dovecot-2-4-ssl-certificate-configuration-change/",
   "sources": []
  },
  {
   "slug": "how-do-you-fix-the-dovecot-config-version-error-in-dovecot-2-4",
   "url": "https://agents.willem.com/en/questions/how-do-you-fix-the-dovecot-config-version-error-in-dovecot-2-4/",
   "question": "How do you fix the dovecot_config_version error in Dovecot 2.4?",
   "answer": "After upgrading to Dovecot 2.4, the server refuses to start with \"dovecot_config_version not set.\" This is by design — Dovecot 2.4 requires a complete configuration rewrite. Here's what you need to know.",
   "created": "2026-04-03T19:31:08.557000+02:00",
   "updated": "2026-04-03T20:17:00.968000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/fixing-the-dovecot-config-version-error-in-dovecot-2-4/",
   "sources": []
  },
  {
   "slug": "how-do-you-localise-a-game-into-45-languages-including-right-to-left-scripts",
   "url": "https://agents.willem.com/en/questions/how-do-you-localise-a-game-into-45-languages-including-right-to-left-scripts/",
   "question": "How do you localise a game into 45 languages, including right-to-left scripts?",
   "answer": "Snake '97 is played in over 100 countries and supports 45+ languages — including right-to-left scripts like Arabic and Hebrew. Here's how one developer localised a game for the entire world.",
   "created": "2026-04-03T19:49:21.074000+02:00",
   "updated": "2026-04-03T19:49:21.077000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/game-localisation-how-snake-97-supports-45-languages/",
   "sources": []
  },
  {
   "slug": "is-a-gates-carbon-belt-drive-worth-it-on-a-commuter-bike",
   "url": "https://agents.willem.com/en/questions/is-a-gates-carbon-belt-drive-worth-it-on-a-commuter-bike/",
   "question": "Is a Gates carbon belt drive worth it on a commuter bike?",
   "answer": "Willem replaced the traditional chain on his commuter bike with a Gates Carbon Drive belt. After thousands of kilometres through Amsterdam rain and winter — here's the honest verdict on belt drives for daily commuting.",
   "created": "2026-04-03T19:41:05.432000+02:00",
   "updated": "2026-04-03T19:41:05.435000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/gates-carbon-drive-on-a-commuter-bike-long-term-review/",
   "sources": []
  },
  {
   "slug": "which-google-search-operators-are-worth-knowing",
   "url": "https://agents.willem.com/en/questions/which-google-search-operators-are-worth-knowing/",
   "question": "Which Google search operators are worth knowing?",
   "answer": "Most people type words into Google. Power users use search operators to find exactly what they need.",
   "created": "2026-04-03T20:04:04.954000+02:00",
   "updated": "2026-04-03T20:04:04.959000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/google-search-operators-the-complete-list-for-power-users/",
   "sources": []
  },
  {
   "slug": "how-much-data-does-a-stock-android-phone-send-to-google",
   "url": "https://agents.willem.com/en/questions/how-much-data-does-a-stock-android-phone-send-to-google/",
   "question": "How much data does a stock Android phone send to Google?",
   "answer": "When Willem set up a budget Android phone, he discovered just how much data Google collects by default — location history, app usage, voice recordings, and more. Here's what he found and how to reduce it.",
   "created": "2026-04-03T19:49:21.621000+02:00",
   "updated": "2026-04-03T19:49:21.628000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-much-data-does-google-collect-from-your-android-phone/",
   "sources": []
  },
  {
   "slug": "how-do-you-clean-a-vintage-automatic-watch-by-hand",
   "url": "https://agents.willem.com/en/questions/how-do-you-clean-a-vintage-automatic-watch-by-hand/",
   "question": "How do you clean a vintage automatic watch by hand?",
   "answer": "Willem found a Citizen Automatic at a flea market — dirty, stopped, forgotten. Instead of leaving it, he took it home, opened the case, cleaned every component by hand, and got it running again. Here's how.",
   "created": "2026-04-03T20:55:25.161000+02:00",
   "updated": "2026-04-03T20:55:25.174000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-to-clean-a-vintage-automatic-watch-by-hand/",
   "sources": []
  },
  {
   "slug": "how-do-you-convert-heic-photos-to-jpg-in-bulk",
   "url": "https://agents.willem.com/en/questions/how-do-you-convert-heic-photos-to-jpg-in-bulk/",
   "question": "How do you convert HEIC photos to JPG in bulk?",
   "answer": "Modern iPhones shoot in HEIC format — smaller files, better quality, but poor compatibility with many apps and platforms. Here's the single command to convert them all to JPG without losing quality.",
   "created": "2026-04-03T19:31:07.854000+02:00",
   "updated": "2026-04-03T20:16:56.773000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-to-convert-heic-to-jpg-in-bulk-using-imagemagick/",
   "sources": []
  },
  {
   "slug": "how-do-you-get-your-originals-out-of-apple-photos-without-losing-quality",
   "url": "https://agents.willem.com/en/questions/how-do-you-get-your-originals-out-of-apple-photos-without-losing-quality/",
   "question": "How do you get your originals out of Apple Photos without losing quality?",
   "answer": "Apple Photos makes it easy to store your pictures — and hard to get them out. Here's how to export your unmodified originals, rename them by date using EXIF data, and convert HEIC files to JPG. From Willem's complete guide to escaping Apple's photo ecosystem.",
   "created": "2026-04-03T19:18:24.307000+02:00",
   "updated": "2026-04-03T19:24:56.412000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-to-export-photos-from-apple-photos-without-losing-quality/",
   "sources": []
  },
  {
   "slug": "how-do-you-open-a-27-inch-imac-5k-without-breaking-the-screen",
   "url": "https://agents.willem.com/en/questions/how-do-you-open-a-27-inch-imac-5k-without-breaking-the-screen/",
   "question": "How do you open a 27-inch iMac 5K without breaking the screen?",
   "answer": "The 27-inch iMac's screen is held on by adhesive strips. Opening it requires patience, a pizza cutter tool, and steady hands. Willem photographed every step during his 14TB upgrade — here's exactly how it's done.",
   "created": "2026-04-03T19:41:01.422000+02:00",
   "updated": "2026-04-03T19:41:01.426000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-to-open-a-27-inch-imac-5k-step-by-step-with-photos/",
   "sources": []
  },
  {
   "slug": "how-do-you-strip-the-paint-from-a-bike-frame",
   "url": "https://agents.willem.com/en/questions/how-do-you-strip-the-paint-from-a-bike-frame/",
   "question": "How do you strip the paint from a bike frame?",
   "answer": "Whether you're restoring a vintage bike or customising a new one, removing paint from a steel frame is the first step. Here's the practical guide: which stripper to use, how long to wait, and how to get down to bare metal cleanly.",
   "created": "2026-04-03T19:49:20.488000+02:00",
   "updated": "2026-04-03T19:49:20.490000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-to-remove-paint-from-a-bike-frame/",
   "sources": []
  },
  {
   "slug": "how-do-you-replace-a-swollen-macbook-air-battery",
   "url": "https://agents.willem.com/en/questions/how-do-you-replace-a-swollen-macbook-air-battery/",
   "question": "How do you replace a swollen MacBook Air battery?",
   "answer": "A swollen lithium battery is a ticking bomb inside your MacBook. The trackpad stops clicking, the case bulges, and eventually the screen cracks from internal pressure. Willem caught it in time and replaced the battery himself.",
   "created": "2026-04-03T20:55:19.927000+02:00",
   "updated": "2026-04-03T20:55:19.931000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-to-replace-a-swollen-macbook-air-battery/",
   "sources": []
  },
  {
   "slug": "how-do-you-service-an-irobot-roomba-yourself",
   "url": "https://agents.willem.com/en/questions/how-do-you-service-an-irobot-roomba-yourself/",
   "question": "How do you service an iRobot Roomba yourself?",
   "answer": "Most people throw away their robot vacuum when it stops working properly. Willem took his apart instead — and documented every step with photos. Here's the complete service guide for bringing an iRobot Roomba back to life.",
   "created": "2026-04-03T19:31:12.572000+02:00",
   "updated": "2026-04-03T19:31:12.576000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-to-service-and-repair-an-irobot-roomba-vacuum-cleaner/",
   "sources": []
  },
  {
   "slug": "how-do-you-upgrade-the-ram-in-a-27-inch-imac-5k",
   "url": "https://agents.willem.com/en/questions/how-do-you-upgrade-the-ram-in-a-27-inch-imac-5k/",
   "question": "How do you upgrade the RAM in a 27-inch iMac 5K?",
   "answer": "Unlike most iMac upgrades, adding RAM to a 27-inch model doesn't require opening the screen. There's a small access hatch behind the stand — press a button, and the RAM slots are right there.",
   "created": "2026-04-03T19:41:02.036000+02:00",
   "updated": "2026-04-03T19:41:02.038000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/how-to-upgrade-ram-in-a-27-inch-imac-5k/",
   "sources": []
  },
  {
   "slug": "what-does-a-power-meter-actually-tell-you-about-your-cycling",
   "url": "https://agents.willem.com/en/questions/what-does-a-power-meter-actually-tell-you-about-your-cycling/",
   "question": "What does a power meter actually tell you about your cycling?",
   "answer": "A power meter measures exactly how much energy you're putting into the pedals — in watts. Willem installed a 4iiii Precision on his crank arm and discovered that power data changes how you think about cycling.",
   "created": "2026-04-03T20:55:47.108000+02:00",
   "updated": "2026-04-03T20:55:47.116000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/installing-and-riding-with-a-4iiii-power-meter-on-your-bike/",
   "sources": []
  },
  {
   "slug": "how-do-you-install-linux-on-a-microsoft-surface-go",
   "url": "https://agents.willem.com/en/questions/how-do-you-install-linux-on-a-microsoft-surface-go/",
   "question": "How do you install Linux on a Microsoft Surface Go?",
   "answer": "The Surface Go is a compact Windows tablet that makes an excellent Linux machine — if you know how to set it up. Here's the practical guide: creating a bootable USB, choosing the right distro, and getting touch input working properly.",
   "created": "2026-04-03T19:31:11.131000+02:00",
   "updated": "2026-04-03T19:31:11.137000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/installing-linux-on-a-microsoft-surface-go/",
   "sources": []
  },
  {
   "slug": "what-is-the-leiden-marathon-like-to-run",
   "url": "https://agents.willem.com/en/questions/what-is-the-leiden-marathon-like-to-run/",
   "question": "What is the Leiden Marathon like to run?",
   "answer": "The Leiden Marathon runs through one of the Netherlands' most historic cities — past the Pieterskerk, along the canals, through the university quarter. Willem ran it and wrote about what happens when the body says stop but the mind says continue.",
   "created": "2026-04-03T21:23:56.907000+02:00",
   "updated": "2026-04-03T21:23:56.910000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/leiden-marathon-review-when-the-going-gets-tough/",
   "sources": []
  },
  {
   "slug": "what-does-living-with-mcadd-mean-for-a-family-day-to-day",
   "url": "https://agents.willem.com/en/questions/what-does-living-with-mcadd-mean-for-a-family-day-to-day/",
   "question": "What does living with MCADD mean for a family day to day?",
   "answer": "MCADD (Medium-Chain Acyl-CoA Dehydrogenase Deficiency) is a rare metabolic condition that affects how the body processes fat for energy. When Willem's child was diagnosed, he wrote the post he wished he'd found — practical, honest, and written by a parent, not a doctor.",
   "created": "2026-04-03T19:59:17.165000+02:00",
   "updated": "2026-04-03T19:59:17.168000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/living-with-mcadd-a-parent-s-guide-to-the-metabolic-condition/",
   "sources": []
  },
  {
   "slug": "can-free-software-replace-apple-photos-and-icloud-for-a-photo-library",
   "url": "https://agents.willem.com/en/questions/can-free-software-replace-apple-photos-and-icloud-for-a-photo-library/",
   "question": "Can free software replace Apple Photos and iCloud for a photo library?",
   "answer": "You don't need iCloud to manage your photos. Shotwell on Linux handles importing, organising, and browsing your entire library — locally, privately, on a device you control.",
   "created": "2026-04-03T19:41:00.673000+02:00",
   "updated": "2026-04-03T20:17:13.509000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/managing-your-photo-library-with-free-software-instead-of-icloud/",
   "sources": []
  },
  {
   "slug": "does-a-total-darkness-sleep-mask-measurably-improve-sleep",
   "url": "https://agents.willem.com/en/questions/does-a-total-darkness-sleep-mask-measurably-improve-sleep/",
   "question": "Does a total-darkness sleep mask measurably improve sleep?",
   "answer": "The Mindfold is a sleep mask with a foam cavity that creates total darkness while letting you open your eyes freely. Willem tested it with Whoop sleep data — the results were measurable.",
   "created": "2026-04-03T19:41:06.039000+02:00",
   "updated": "2026-04-03T19:41:06.042000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/mindfold-sleep-mask-total-darkness-for-better-sleep/",
   "sources": []
  },
  {
   "slug": "is-a-low-profile-mechanical-keyboard-worth-switching-to",
   "url": "https://agents.willem.com/en/questions/is-a-low-profile-mechanical-keyboard-worth-switching-to/",
   "question": "Is a low-profile mechanical keyboard worth switching to?",
   "answer": "After decades of typing on laptop keyboards and Apple Magic Keyboards, Willem switched to a NuPhy Air60 V2 — a low-profile mechanical keyboard with Bluetooth. The difference in typing experience was immediate and dramatic.",
   "created": "2026-04-03T21:23:43.465000+02:00",
   "updated": "2026-04-03T21:23:43.469000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/nuphy-air60-v2-review-a-compact-mechanical-keyboard-for-serious-typing/",
   "sources": []
  },
  {
   "slug": "what-is-omarchy-and-can-it-run-on-an-imac",
   "url": "https://agents.willem.com/en/questions/what-is-omarchy-and-can-it-run-on-an-imac/",
   "question": "What is Omarchy and can it run on an iMac?",
   "answer": "Omarchy is a minimal, opinionated Linux distribution based on Arch. Willem installed it on a 27-inch iMac 5K — repurposing Apple hardware with an OS that's the philosophical opposite of macOS.",
   "created": "2026-04-03T19:59:13.102000+02:00",
   "updated": "2026-04-03T19:59:13.108000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/omarchy-a-minimal-linux-distribution-on-an-imac/",
   "sources": []
  },
  {
   "slug": "which-backpack-fits-a-whole-business-and-survives-amsterdam-rain",
   "url": "https://agents.willem.com/en/questions/which-backpack-fits-a-whole-business-and-survives-amsterdam-rain/",
   "question": "Which backpack fits a whole business and survives Amsterdam rain?",
   "answer": "Willem fits his entire business in this 15-litre backpack: laptop, tablet, cables, notebook. Waterproof for Amsterdam cycling, minimal enough to force discipline about what you carry.",
   "created": "2026-04-03T19:41:08.073000+02:00",
   "updated": "2026-04-03T19:41:08.075000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/ortlieb-urban-daypack-15l-the-minimal-business-backpack/",
   "sources": []
  },
  {
   "slug": "can-you-replace-a-broken-giro-helmet-retention-system-instead-of-the-helmet",
   "url": "https://agents.willem.com/en/questions/can-you-replace-a-broken-giro-helmet-retention-system-instead-of-the-helmet/",
   "question": "Can you replace a broken Giro helmet retention system instead of the helmet?",
   "answer": "Giro helmets use a Roc Loc retention system — the adjustable dial at the back that holds the helmet on your head. When it breaks (and it does), most people throw the helmet away. But the retention system is a replaceable part.",
   "created": "2026-04-03T20:55:42.111000+02:00",
   "updated": "2026-04-03T20:55:42.113000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/replacing-the-roc-loc-5-retention-system-on-a-giro-helmet/",
   "sources": []
  },
  {
   "slug": "how-do-you-restore-a-1978-batavus-champion",
   "url": "https://agents.willem.com/en/questions/how-do-you-restore-a-1978-batavus-champion/",
   "question": "How do you restore a 1978 Batavus Champion?",
   "answer": "Willem's first bike project: a rusted 1978 Batavus Champion found in a shed and rebuilt from the frame up. New wheels, new drivetrain, new cables — but the same Dutch steel frame that was built to last.",
   "created": "2026-04-03T20:55:38.054000+02:00",
   "updated": "2026-04-03T20:55:38.056000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/restoring-a-1978-batavus-champion-vintage-bike-rebuild/",
   "sources": []
  },
  {
   "slug": "how-do-you-set-up-daily-weekly-and-monthly-rsync-backups",
   "url": "https://agents.willem.com/en/questions/how-do-you-set-up-daily-weekly-and-monthly-rsync-backups/",
   "question": "How do you set up daily, weekly and monthly rsync backups?",
   "answer": "rsync is the most reliable backup tool on Linux — but setting up a proper rotation scheme takes thought. Here's a practical approach to daily, weekly, and monthly backups with incremental transfers that only copy what changed.",
   "created": "2026-04-03T19:31:10.612000+02:00",
   "updated": "2026-04-03T20:17:09.543000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/rsync-backup-rotation-daily-weekly-monthly-archives/",
   "sources": []
  },
  {
   "slug": "how-do-you-replace-a-shimano-7-speed-shift-cable",
   "url": "https://agents.willem.com/en/questions/how-do-you-replace-a-shimano-7-speed-shift-cable/",
   "question": "How do you replace a Shimano 7-speed shift cable?",
   "answer": "Replacing a shift cable on a Shimano 7-speed system is one of the most common bike repairs — and one of the most searched. Here's the complete guide with photos of every step, from removing the old cable to adjusting the derailleur.",
   "created": "2026-04-03T19:49:19.408000+02:00",
   "updated": "2026-04-03T19:49:19.410000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/shimano-7-speed-shift-cable-replacement-step-by-step/",
   "sources": []
  },
  {
   "slug": "what-was-the-smart-roadster-like-to-own",
   "url": "https://agents.willem.com/en/questions/what-was-the-smart-roadster-like-to-own/",
   "question": "What was the Smart Roadster like to own?",
   "answer": "Before going car-free, Willem drove a Smart Roadster — one of the quirkiest cars ever made. A mid-engine, rear-wheel-drive micro sports car that was terrible in every practical way and wonderful to drive.",
   "created": "2026-04-03T19:59:14.655000+02:00",
   "updated": "2026-04-03T19:59:14.657000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/smart-roadster-the-impractical-car-i-loved-and-sold/",
   "sources": []
  },
  {
   "slug": "does-the-apple-watch-actually-work-for-swimming",
   "url": "https://agents.willem.com/en/questions/does-the-apple-watch-actually-work-for-swimming/",
   "question": "Does the Apple Watch actually work for swimming?",
   "answer": "The Apple Watch is rated water-resistant, but how does it actually perform during swimming? Willem tested it in the pool and in open water — tracking laps, heart rate, and stroke detection.",
   "created": "2026-04-03T19:59:13.792000+02:00",
   "updated": "2026-04-03T19:59:13.795000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/swimming-with-apple-watch-waterproof-performance-tested/",
   "sources": []
  },
  {
   "slug": "what-is-the-tcs-amsterdam-marathon-course-like",
   "url": "https://agents.willem.com/en/questions/what-is-the-tcs-amsterdam-marathon-course-like/",
   "question": "What is the TCS Amsterdam Marathon course like?",
   "answer": "The TCS Amsterdam Marathon is one of Europe's major marathons — a flat, fast course through the city, finishing in the iconic Olympic Stadium from the 1928 Games. Willem ran it after months of preparation with data, sensors, and the lessons from his half marathon.",
   "created": "2026-04-03T21:24:08.355000+02:00",
   "updated": "2026-04-03T21:24:08.358000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/tcs-amsterdam-marathon-review-running-42-km-through-the-city/",
   "sources": []
  },
  {
   "slug": "what-do-most-touch-screen-interfaces-get-wrong",
   "url": "https://agents.willem.com/en/questions/what-do-most-touch-screen-interfaces-get-wrong/",
   "question": "What do most touch screen interfaces get wrong?",
   "answer": "Most touch screen interfaces are redesigned mouse interfaces — tiny hit targets, hover states that don't exist on touch, menus designed for precision that fingers can't deliver. Willem argues for a fundamentally different approach.",
   "created": "2026-04-03T19:59:16.461000+02:00",
   "updated": "2026-04-03T19:59:16.468000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/touch-screen-ui-design-what-mouse-interfaces-got-wrong/",
   "sources": []
  },
  {
   "slug": "how-do-you-limit-bandwidth-per-ip-with-iptables-and-tc",
   "url": "https://agents.willem.com/en/questions/how-do-you-limit-bandwidth-per-ip-with-iptables-and-tc/",
   "question": "How do you limit bandwidth per IP with iptables and tc?",
   "answer": "When one client or service eats all your bandwidth, traffic shaping is the surgical fix. Here's how to use iptables marks with tc's Hierarchy Token Bucket (HTB) to limit traffic per IP on Linux.",
   "created": "2026-04-03T19:41:03.363000+02:00",
   "updated": "2026-04-03T20:17:21.845000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/traffic-shaping-on-linux-with-iptables-and-tc-a-practical-guide/",
   "sources": []
  },
  {
   "slug": "how-does-a-tudor-black-bay-36-hold-up-after-three-years-of-daily-wear",
   "url": "https://agents.willem.com/en/questions/how-does-a-tudor-black-bay-36-hold-up-after-three-years-of-daily-wear/",
   "question": "How does a Tudor Black Bay 36 hold up after three years of daily wear?",
   "answer": "Most watch reviews are written after a few days. This one was written after three years of wearing the Tudor Black Bay 36 every day — through swimming, cycling, sleeping, and everything in between. Every scratch earned.",
   "created": "2026-04-03T19:31:11.872000+02:00",
   "updated": "2026-04-03T19:31:11.874000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/tudor-black-bay-36-three-years-of-daily-wear/",
   "sources": []
  },
  {
   "slug": "can-an-apple-watch-with-cellular-replace-your-iphone-entirely",
   "url": "https://agents.willem.com/en/questions/can-an-apple-watch-with-cellular-replace-your-iphone-entirely/",
   "question": "Can an Apple Watch with cellular replace your iPhone entirely?",
   "answer": "Willem ditched his iPhone and lived with just an Apple Watch Ultra on cellular for months. Calls, messages, maps, music — all from a screen the size of a postage stamp. Here's what worked, what didn't, and what you learn about yourself when the big screen disappears.",
   "created": "2026-04-03T19:31:09.874000+02:00",
   "updated": "2026-04-03T19:31:09.878000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/using-an-apple-watch-with-cellular-as-your-only-phone/",
   "sources": []
  },
  {
   "slug": "how-do-you-use-dig-to-debug-a-domain",
   "url": "https://agents.willem.com/en/questions/how-do-you-use-dig-to-debug-a-domain/",
   "question": "How do you use dig to debug a domain?",
   "answer": "The dig command lets you query DNS servers directly — check if your domain points to the right IP, verify your mail server's MX records, debug SPF settings, and understand how the internet's naming system works.",
   "created": "2026-04-03T20:55:29.526000+02:00",
   "updated": "2026-04-03T20:55:29.529000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/using-dig-to-query-dns-a-beginner-s-guide/",
   "sources": []
  },
  {
   "slug": "what-is-the-valencia-marathon-course-like",
   "url": "https://agents.willem.com/en/questions/what-is-the-valencia-marathon-course-like/",
   "question": "What is the Valencia Marathon course like?",
   "answer": "The Valencia Marathon is consistently ranked among the world's fastest — a flat coastal course with mild December weather, superb organisation, and a spectacular finish through Santiago Calatrava's City of Arts and Sciences. Willem ran it and shares the experience.",
   "created": "2026-04-03T21:24:14.407000+02:00",
   "updated": "2026-04-03T21:27:19.183000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/valencia-marathon-review-running-a-world-class-course-in-spain/",
   "sources": []
  },
  {
   "slug": "what-is-the-venloop-half-marathon-like",
   "url": "https://agents.willem.com/en/questions/what-is-the-venloop-half-marathon-like/",
   "question": "What is the Venloop half marathon like?",
   "answer": "The Venloop in Venlo was Willem's first half marathon — 21.1 kilometres through the Limburg countryside and city streets, wearing sensors, tracking heart rate, and learning what it means to run further than your body thinks it can.",
   "created": "2026-04-03T21:24:02.977000+02:00",
   "updated": "2026-04-03T21:24:02.981000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/venloop-half-marathon-review-running-21-km-in-venlo/",
   "sources": []
  },
  {
   "slug": "what-is-vibe-coding-judged-by-someone-who-has-coded-by-hand-for-decades",
   "url": "https://agents.willem.com/en/questions/what-is-vibe-coding-judged-by-someone-who-has-coded-by-hand-for-decades/",
   "question": "What is vibe coding, judged by someone who has coded by hand for decades?",
   "answer": "\"Vibe coding\" is the practice of describing what you want in natural language and letting an AI write the code. Willem — who has been writing code by hand for decades — tried it himself and has thoughts.",
   "created": "2026-04-03T20:55:33.099000+02:00",
   "updated": "2026-04-03T20:55:33.101000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/vibe-coding-when-ai-writes-code-from-natural-language-prompts/",
   "sources": []
  },
  {
   "slug": "how-accurate-is-whoop-s-wrist-heart-rate-against-a-chest-strap",
   "url": "https://agents.willem.com/en/questions/how-accurate-is-whoop-s-wrist-heart-rate-against-a-chest-strap/",
   "question": "How accurate is Whoop's wrist heart rate against a chest strap?",
   "answer": "The Whoop Strap uses an optical sensor on your wrist to measure heart rate. But how accurate is it compared to a chest strap? Willem wore both simultaneously during workouts and compared the data.",
   "created": "2026-04-03T19:49:18.683000+02:00",
   "updated": "2026-04-03T19:49:18.686000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/whoop-heart-rate-accuracy-tested-against-a-chest-strap/",
   "sources": []
  },
  {
   "slug": "what-does-whoop-actually-measure-while-you-sleep",
   "url": "https://agents.willem.com/en/questions/what-does-whoop-actually-measure-while-you-sleep/",
   "question": "What does Whoop actually measure while you sleep?",
   "answer": "The Whoop Strap tracks your sleep automatically — stages, duration, disturbances, HRV, and respiratory rate. But how accurate is it really? After months of nightly data, here's what Willem found.",
   "created": "2026-04-03T19:41:02.715000+02:00",
   "updated": "2026-04-03T20:17:17.646000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/whoop-sleep-tracking-what-it-actually-measures/",
   "sources": []
  },
  {
   "slug": "why-is-a-thinkpad-x200-from-2008-still-a-good-laptop",
   "url": "https://agents.willem.com/en/questions/why-is-a-thinkpad-x200-from-2008-still-a-good-laptop/",
   "question": "Why is a ThinkPad X200 from 2008 still a good laptop?",
   "answer": "The ThinkPad X200 was released in 2008. Willem still uses one — and argues it's better for actual work than most modern laptops. The keyboard, the repairability, the absence of distraction.",
   "created": "2026-04-03T19:41:07.370000+02:00",
   "updated": "2026-04-03T19:41:07.372000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/why-a-thinkpad-x200-is-still-a-great-laptop/",
   "sources": []
  },
  {
   "slug": "can-the-apple-vision-pro-replace-your-monitor-for-real-work",
   "url": "https://agents.willem.com/en/questions/can-the-apple-vision-pro-replace-your-monitor-for-real-work/",
   "question": "Can the Apple Vision Pro replace your monitor for real work?",
   "answer": "Apple calls it spatial computing. The question Willem asked: can you actually work in it? Not watch movies, not play games — write code, answer emails, manage projects. The answer is more nuanced than Apple's marketing suggests.",
   "created": "2026-04-03T21:23:50.528000+02:00",
   "updated": "2026-04-03T21:23:50.535000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/working-in-vr-can-apple-vision-pro-replace-your-monitor/",
   "sources": []
  },
  {
   "slug": "why-should-software-keep-working-without-internet",
   "url": "https://agents.willem.com/en/questions/why-should-software-keep-working-without-internet/",
   "question": "Why should software keep working without internet?",
   "answer": "Most modern software silently assumes you're always online. Willem argues this is a design flaw — and spent weeks working entirely offline to prove that a better approach exists.",
   "created": "2026-04-03T19:41:03.889000+02:00",
   "updated": "2026-04-03T19:41:03.892000+02:00",
   "answer_source": "Willem's own snippet summary, quoted",
   "snippet_url": "https://agents.willem.com/en/snippets/working-offline-first-why-your-software-should-work-without-internet/",
   "sources": []
  }
 ]
}