<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Henri Cook&apos;s Blog</title><description>Writing about software engineering, tools, and the occasional cooking tip.</description><link>https://blog.henricook.com/</link><item><title>I Strapped a Tiny Screen to My Desk and Now I Can&apos;t Stop Adding Things to It</title><link>https://blog.henricook.com/posts/i-strapped-a-tiny-screen-to-my-desk-and-now-i-can-t-stop-adding-things-to-it/</link><guid isPermaLink="true">https://blog.henricook.com/posts/i-strapped-a-tiny-screen-to-my-desk-and-now-i-can-t-stop-adding-things-to-it/</guid><description>I saw a project by @acervenky on GitHub where they&apos;d wired up a small OLED screen to show their Claude usage in real-time. I instantly loved the idea. Their execution wasn&apos;t quite for me though - I li</description><pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate><category>AI, Claude, Hardware</category></item><item><title>Read Permissions for Claude Code</title><link>https://blog.henricook.com/posts/read-permissions-for-claude-code/</link><guid isPermaLink="true">https://blog.henricook.com/posts/read-permissions-for-claude-code/</guid><description>As a Senior Staff Developer with an AI focus at CreateiQ I’ve been glued to my news feeds for the last year. AI is moving at breakneck pace and I want to make sure that both our Product and Team stay</description><pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate><category>AI</category><category>claude.ai</category></item><item><title>Finally Getting Away from Authy for 2FA</title><link>https://blog.henricook.com/posts/finally-getting-away-from-authy-for-2fa/</link><guid isPermaLink="true">https://blog.henricook.com/posts/finally-getting-away-from-authy-for-2fa/</guid><description>As an experienced Software Engineer, keeping my systems secure is crucial. However, when the tools I rely on stop meeting my needs, it’s time for a change. Recently, I faced this dilemma with Authy. Authy, a popular two-factor authentication (2FA) ap...</description><pubDate>Sun, 16 Jun 2024 00:00:00 GMT</pubDate><category>authentication</category><category>2FA</category><category>MFA</category></item><item><title>How I got the access_token from the provider into my Session on Next Auth V5 in a Next.js app with Typescript and appDir</title><link>https://blog.henricook.com/posts/how-i-got-the-accesstoken-from-the-provider-into-my-session-on-next-auth-v5-in-a-nextjs-app-with-typescript-and-appdir/</link><guid isPermaLink="true">https://blog.henricook.com/posts/how-i-got-the-accesstoken-from-the-provider-into-my-session-on-next-auth-v5-in-a-nextjs-app-with-typescript-and-appdir/</guid><description>Next Auth (now known as Auth.js) is a bit of a hot mess. It absolutely takes away lots of work for you if you&apos;re using multiple authentication providers (e.g. login with Facebook, Google, Apple etc.) but makes it very hard to get access to those Prov...</description><pubDate>Sun, 12 Nov 2023 00:00:00 GMT</pubDate><category>nextauth.js</category><category>Next.js</category><category>auth.js</category><category>OAuth2</category></item><item><title>Shadow PC: Support for Ubuntu 21.10</title><link>https://blog.henricook.com/posts/shadow-pc-support-for-ubuntu-2110/</link><guid isPermaLink="true">https://blog.henricook.com/posts/shadow-pc-support-for-ubuntu-2110/</guid><description>I&apos;ve had a really bad experience with Shadow.tech Support, they make it seem like all versions of Ubuntu are supported on their website and they most definitely are not. You have to be on a really old version to have &apos;official&apos; support. When I tried ...</description><pubDate>Tue, 11 Jan 2022 00:00:00 GMT</pubDate><category>Ubuntu</category><category>gaming</category></item><item><title>Luke: Lucene index browser</title><link>https://blog.henricook.com/posts/luke-lucene-index-browser/</link><guid isPermaLink="true">https://blog.henricook.com/posts/luke-lucene-index-browser/</guid><description>Do you want to browse a Lucene index on disk? You&apos;re looking for Luke There&apos;s loads of old Luke versions lying around, it took me three or four Googles to find the most modern version. Let me save you some time, it&apos;s been rolled into the  Apache Luce...</description><pubDate>Thu, 02 Dec 2021 00:00:00 GMT</pubDate><category>search</category><category>apache</category></item><item><title>Okta does not check expiry dates of Identity Provider signing certificates</title><link>https://blog.henricook.com/posts/okta-does-not-check-expiry-dates-of-identity-provider-signing-certificates/</link><guid isPermaLink="true">https://blog.henricook.com/posts/okta-does-not-check-expiry-dates-of-identity-provider-signing-certificates/</guid><description>TL;DR Okta doesn&apos;t enforce expiry checks on signing certificates for identity providers, and you have no other option but to accept it. I use Okta regularly, for both personal and corporate projects. They&apos;re generally speaking, pretty great. Gartner&apos;...</description><pubDate>Sat, 27 Nov 2021 00:00:00 GMT</pubDate><category>Security</category><category>authentication</category></item><item><title>Http4s: Tips and Tricks</title><link>https://blog.henricook.com/posts/http4s-tips-and-tricks/</link><guid isPermaLink="true">https://blog.henricook.com/posts/http4s-tips-and-tricks/</guid><description>Get the text body of a response with EntityDecoder If you&apos;ve got a request like this: val postRequest: Task[Request[Task]] = POST(                                      payload,                                      uri                                 ...</description><pubDate>Fri, 01 Jan 2021 00:00:00 GMT</pubDate><category>Scala</category><category>Functional Programming</category></item><item><title>The Riddler: Microservice for checking passwords against the NCSC top list</title><link>https://blog.henricook.com/posts/the-riddler-microservice-for-checking-passwords-against-the-ncsc-top-list/</link><guid isPermaLink="true">https://blog.henricook.com/posts/the-riddler-microservice-for-checking-passwords-against-the-ncsc-top-list/</guid><description>I made a thing, it&apos;s a tiny service that checks passwords against the NCSC top 100k list. Get started now on the microsite @ https://theriddler.dev</description><pubDate>Sat, 27 Jun 2020 00:00:00 GMT</pubDate><category>Security</category><category>Open Source</category><category>passwords</category></item><item><title>port 53: Address already in use when installing Streisand on Ubuntu 20.04</title><link>https://blog.henricook.com/posts/port-53-address-already-in-use-when-installing-streisand-on-ubuntu-2004/</link><guid isPermaLink="true">https://blog.henricook.com/posts/port-53-address-already-in-use-when-installing-streisand-on-ubuntu-2004/</guid><description>Whilst installing Streisand on Ubuntu 20.04 I came across this error related to dnsmasq. Luckily it&apos;s simple to solve.  See what&apos;s listening: sudo netstat -tulpn | grep &quot;:53 &quot; There&apos;s something hogging our port! Result: tcp        0      0 127.0.0.53...</description><pubDate>Fri, 26 Jun 2020 00:00:00 GMT</pubDate><category>Ubuntu</category><category>proxy</category></item><item><title>How to defuzz or unobscure lastminute.com top secret hotel images</title><link>https://blog.henricook.com/posts/how-to-defuzz-or-unobscure-lastminutecom-top-secret-hotel-images/</link><guid isPermaLink="true">https://blog.henricook.com/posts/how-to-defuzz-or-unobscure-lastminutecom-top-secret-hotel-images/</guid><description>Recently a friend was desperately trying to find a hotel in Paris, for reasons unknown lastminute.com choose to declare some hotels &apos;top secret hotels&apos;, obscure their images and not tell you exactly where they are on the map... remarkably inconvenien...</description><pubDate>Sat, 22 Jun 2019 00:00:00 GMT</pubDate><category>hack</category></item><item><title>My mission to quit cooking forever</title><link>https://blog.henricook.com/posts/my-mission-to-quit-cooking-forever/</link><guid isPermaLink="true">https://blog.henricook.com/posts/my-mission-to-quit-cooking-forever/</guid><description>Hellofresh — Cool, don’t have to do any shopping for dinner. Good ingredients, no wasteful portions, cals from 600–1000 per meal (for the big burger and chips one). Involved generally 30–45 minutes prep plus washing up (bleurgh). All ingredients came...</description><pubDate>Fri, 31 May 2019 00:00:00 GMT</pubDate></item><item><title>How to cook a great Sunday roast dinner with only one oven</title><link>https://blog.henricook.com/posts/how-to-cook-a-great-sunday-roast-dinner-with-only-one-oven/</link><guid isPermaLink="true">https://blog.henricook.com/posts/how-to-cook-a-great-sunday-roast-dinner-with-only-one-oven/</guid><description>The ultimate guide to cooking a Sunday roast alone with only one oven  Dad help I need to cook a Sunday roast for 10 people and I can’t figure out how this is going to work with just one oven   — my cry echoed down the phone. After the laughter at my...</description><pubDate>Sun, 04 Nov 2018 00:00:00 GMT</pubDate></item><item><title>How to remove “on behalf of” when sending via GSuite</title><link>https://blog.henricook.com/posts/how-to-remove-on-behalf-of-when-sending-via-gsuite/</link><guid isPermaLink="true">https://blog.henricook.com/posts/how-to-remove-on-behalf-of-when-sending-via-gsuite/</guid><description>If you have an aliased domain you use to send mail as part of your Google Apps account and are annoyed by the “on behalf of” that appears when recipients read your messages, this is for you. e.g. “bob@bobsalias.com via bob@bobsgsuitedomain.com” There...</description><pubDate>Sat, 05 May 2018 00:00:00 GMT</pubDate><category>Google</category></item><item><title>Boot hangs after grub on Ubuntu 18.04, 17.10 with Nvidia Drivers sometimes, often after booting Windows</title><link>https://blog.henricook.com/posts/boot-hangs-after-grub-on-ubuntu-1804-1710-with-nvidia-drivers-sometimes-often-after-booting-windows/</link><guid isPermaLink="true">https://blog.henricook.com/posts/boot-hangs-after-grub-on-ubuntu-1804-1710-with-nvidia-drivers-sometimes-often-after-booting-windows/</guid><description>Running nvidia-390 or -396 on Ubuntu 18.04 (Bionic) and 17.10 on a Windows dual boot machine I would sometimes encounter a blank screen after grub, especially when rebooting from Windows and attempting to boot to linux. I tried a lot of things to inv...</description><pubDate>Fri, 04 May 2018 00:00:00 GMT</pubDate><category>Linux</category><category>graphics</category><category>Ubuntu</category><category>drivers</category></item><item><title>SM961 NVMe Drive Windows Install — no Drivers found</title><link>https://blog.henricook.com/posts/sm961-nvme-drive-windows-install-no-drivers-found/</link><guid isPermaLink="true">https://blog.henricook.com/posts/sm961-nvme-drive-windows-install-no-drivers-found/</guid><description>This is a niche post, I had a world of hurt trying to reinstall windows on a machine where it had worked previously with my PCIe NVMe drive. Windows install would start but no drivers were ever found. My windows install image was on a USB I’d burned ...</description><pubDate>Mon, 29 Jan 2018 00:00:00 GMT</pubDate><category>Linux</category><category>Windows</category><category>software</category></item><item><title>Bad VPN Speeds on Asus RT-AC87U</title><link>https://blog.henricook.com/posts/bad-vpn-speeds-on-asus-rt-ac87u/</link><guid isPermaLink="true">https://blog.henricook.com/posts/bad-vpn-speeds-on-asus-rt-ac87u/</guid><description>Tried NordVPN, Private Internet Access (PIA) and others After a lot of experiment on my RT-AC87U and pulling of hair over *dreadful* VPN speeds i’ve come to the conclusion that it just doesn’t have the processing power to handle encryption overhead. ...</description><pubDate>Tue, 25 Apr 2017 00:00:00 GMT</pubDate><category>privacy</category><category>proxy</category></item><item><title>Solution to “sun.security.validator.ValidatorException: No trusted certificate found” when installing SBT on a new (Ubuntu) system</title><link>https://blog.henricook.com/posts/solution-to-sunsecurityvalidatorvalidatorexception-no-trusted-certificate-found-when-installing-sbt-on-a-new-ubuntu-system/</link><guid isPermaLink="true">https://blog.henricook.com/posts/solution-to-sunsecurityvalidatorvalidatorexception-no-trusted-certificate-found-when-installing-sbt-on-a-new-ubuntu-system/</guid><description>Solution to “sun.security.validator.ValidatorException: No trusted certificate found” when installing SBT on a new (Ubuntu) system: I had a perplexing problem on my new Ubuntu 16.04 LTS system today. After installing SBT and attempting to compile a p...</description><pubDate>Mon, 02 May 2016 00:00:00 GMT</pubDate><category>Scala</category><category>Ubuntu</category></item><item><title>My favourite git aliases</title><link>https://blog.henricook.com/posts/my-favourite-git-aliases/</link><guid isPermaLink="true">https://blog.henricook.com/posts/my-favourite-git-aliases/</guid><description>I take these git aliases from project to project with me, here they are in case they’re good for you too! They’re purposefully short, as anyone who works with git regularly on the command line and likes shortcuts may have noticed, it’s a lot of keyst...</description><pubDate>Fri, 26 Feb 2016 00:00:00 GMT</pubDate><category>Git</category></item><item><title>My First generation, battery-powered Nest Protect has a dead battery and even with new ones in it doesn’t work, is it broken?</title><link>https://blog.henricook.com/posts/my-first-generation-battery-powered-nest-protect-has-a-dead-battery-and-even-with-new-ones-in-it-doesnt-work-is-it-broken/</link><guid isPermaLink="true">https://blog.henricook.com/posts/my-first-generation-battery-powered-nest-protect-has-a-dead-battery-and-even-with-new-ones-in-it-doesnt-work-is-it-broken/</guid><description>This happened to me. I tried two brand new sets of AAs (x6) and it still just beeped saying it was out of power. Straight to the fix — I had missed part of the user manual that says you should only put Lithium Batteries in your Nest Protects. The man...</description><pubDate>Sun, 07 Feb 2016 00:00:00 GMT</pubDate><category>nest</category></item><item><title>Cracking/Popping sound when playing Prison Architect on Ubuntu 15.04/15.10</title><link>https://blog.henricook.com/posts/crackingpopping-sound-when-playing-prison-architect-on-ubuntu-15041510/</link><guid isPermaLink="true">https://blog.henricook.com/posts/crackingpopping-sound-when-playing-prison-architect-on-ubuntu-15041510/</guid><description>On a new build of Ubuntu 15.10, whenever playing Prison Architect there was a constant crackling/popping over the top of the game music and effects. The fix was quite simple but took me a while to find. So here it is in case you have the same problem...</description><pubDate>Wed, 18 Nov 2015 00:00:00 GMT</pubDate><category>Ubuntu</category></item><item><title>Corrections for the Youtube Analytics “Sample Application”</title><link>https://blog.henricook.com/posts/corrections-for-the-youtube-analytics-sample-application/</link><guid isPermaLink="true">https://blog.henricook.com/posts/corrections-for-the-youtube-analytics-sample-application/</guid><description>I’ve recently tried out the YT Analytics sample application. I had a few problems and had to trawl the internet to find the solutions, they weren’t overly easy to find so here they are to help you out. index.js has a couple of notable omissions.  Cha...</description><pubDate>Sun, 13 Sep 2015 00:00:00 GMT</pubDate><category>JavaScript</category><category>Node.js</category></item><item><title>Using Nvidia/Nforce (MCP55) on-board ethernet with Ubuntu 9.10 (Karmic)</title><link>https://blog.henricook.com/posts/using-nvidianforce-mcp55-on-board-ethernet-with-ubuntu-910-karmic/</link><guid isPermaLink="true">https://blog.henricook.com/posts/using-nvidianforce-mcp55-on-board-ethernet-with-ubuntu-910-karmic/</guid><description>Ever since Ubuntu Gutsy i’ve had issues with the wired ethernet (MCP55) on my ABit IN-9 32X Max – there are two problems, i’ve summated them and the way that I work around them below: 1. Interfaces appear in ‘ifconfig’ but do not establish connection...</description><pubDate>Mon, 05 Apr 2010 00:00:00 GMT</pubDate><category>Ubuntu</category></item><item><title>Using Steam from inside a university firewall (w/Tor + Sockscap)</title><link>https://blog.henricook.com/posts/using-steam-from-inside-a-university-firewall-withtor-sockscap/</link><guid isPermaLink="true">https://blog.henricook.com/posts/using-steam-from-inside-a-university-firewall-withtor-sockscap/</guid><description>Our university firewall is shockingly restrictive, this meant that recently I couldn’t even download a game that I bought using Steam (this is my first time using the Steam system). There instructions will also work for any program you might be unabl...</description><pubDate>Sun, 15 Feb 2009 00:00:00 GMT</pubDate><category>proxy</category><category>Security</category><category>hack</category></item></channel></rss>