41554 blogs · [ { "id": "01a0d82e-9832-7062-8e3e-82a38fcaaa6f", "title": "Making games with opencode", "url": "https://www.elliotclyde.nz/blog/making-games-with-opencode/", "published_at": "2026-09-22T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd12b4524c", "title": "Hugh Haworth - Developer Blog", "url": "https://www.elliotclyde.nz/blog/", "published_at": "2025-11-01T09:28:48+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd124d461b", "title": "A tale of two static site hosts", "url": "https://www.elliotclyde.nz/blog/a-tale-of-two-static-site-hosts/", "published_at": "2025-11-01T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd11ca42f3", "title": "Scripting Audacity with JavaScript", "url": "https://www.elliotclyde.nz/blog/scripting-audacity-with-javaScript/", "published_at": "2025-02-22T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd10f19e28", "title": "Snippets everywhere on Windows with autohotkey", "url": "https://www.elliotclyde.nz/blog/snippets-everywhere-on-windows-with-autohotkey/", "published_at": "2024-12-31T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd102f670d", "title": "Speed up Power BI merges with record lookups", "url": "https://www.elliotclyde.nz/blog/speed-up-power-bi-merges-with-record-lookups/", "published_at": "2024-11-14T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0f7a3de9", "title": "OIDC Authentication in ASP.NET Core apps explained", "url": "https://www.elliotclyde.nz/blog/oidc-authentication-in-asp-net-core-apps-explained/", "published_at": "2024-10-14T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0edbec21", "title": "OIDC Authentication in server-side Blazor apps", "url": "https://www.elliotclyde.nz/blog/oidc-authentication-in-server-side-blazor-apps/", "published_at": "2024-07-17T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0ec1c5b3", "title": "What's in a PDF", "url": "https://www.elliotclyde.nz/blog/whats-in-a-pdf/", "published_at": "2024-03-11T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0e54ab98", "title": "Ways of getting data from Excel files into a Database", "url": "https://www.elliotclyde.nz/blog/ways-of-getting-data-from-excel-files-into-a-database/", "published_at": "2024-01-18T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0df11c39", "title": "Sticker Charts", "url": "https://www.elliotclyde.nz/blog/sticker-charts/", "published_at": "2023-08-13T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0d4ef215", "title": "DotNetCore, Azure AD, and SAML", "url": "https://www.elliotclyde.nz/blog/dotnetcore-azure-ad-and-saml/", "published_at": "2023-04-20T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0ceea109", "title": "Hill Times, Vim and Delayed Gratificication", "url": "https://www.elliotclyde.nz/blog/hill-times-vim-and-delayed-gratificication/", "published_at": "2023-01-31T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0bfb080b", "title": "Goodbye Heroku free plan", "url": "https://www.elliotclyde.nz/blog/goodbye-heroku-free-plan/", "published_at": "2023-01-08T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0be52220", "title": "Gizmo Girls", "url": "https://www.elliotclyde.nz/blog/gizmo-girls/", "published_at": "2022-12-01T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0b353c2d", "title": "Hosting small websites on EC2", "url": "https://www.elliotclyde.nz/blog/Hosting-small-websites-on-EC2/", "published_at": "2022-10-02T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0a848aad", "title": "Printing a file with the Apache Portable Runtime", "url": "https://www.elliotclyde.nz/blog/printing-a-file-with-the-apache-portable-runtime/", "published_at": "2022-07-31T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd099700eb", "title": "Compile your own Apache Module in C", "url": "https://www.elliotclyde.nz/blog/compile-your-own-apache-module-in-c/", "published_at": "2022-06-16T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd09745438", "title": "Why is SQL weird?", "url": "https://www.elliotclyde.nz/blog/why-is-sql-weird/", "published_at": "2022-05-10T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0889537a", "title": "The callbacks are out to get you", "url": "https://www.elliotclyde.nz/blog/The-callbacks-are-out-to-get-you/", "published_at": "2022-03-03T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd079ea13b", "title": "My JavaFX ListViews are doubling up", "url": "https://www.elliotclyde.nz/blog/My-JavaFX-ListViews-are-doubling-up/", "published_at": "2022-01-18T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0752e2ba", "title": "Explorations in C, C++, Win32, and SDL", "url": "https://www.elliotclyde.nz/blog/explorations-in-c-cplusplus-win32-and-sdl/", "published_at": "2022-01-10T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0654b289", "title": "Intro to RequestAnimationFrame", "url": "https://www.elliotclyde.nz/blog/Intro-to-requestAnimationFrame/", "published_at": "2021-12-22T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd064775f1", "title": "What should “create” do?", "url": "https://www.elliotclyde.nz/blog/what-should-create-do/", "published_at": "2021-09-29T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0569136a", "title": "React and Electron", "url": "https://www.elliotclyde.nz/blog/react-and-electron/", "published_at": "2021-09-02T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd04842c98", "title": "Rollup Plugins for Absolute Beginners", "url": "https://www.elliotclyde.nz/blog/rollup-plugins-for-beginners/", "published_at": "2021-07-26T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd04585afd", "title": "Reviving an old laptop with linux", "url": "https://www.elliotclyde.nz/blog/Reviving-an-old-laptop-with-linux/", "published_at": "2021-07-21T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd03acaf49", "title": "HTTP Caching is a Superpower", "url": "https://www.elliotclyde.nz/blog/http-caching-is-a-superpower/", "published_at": "2021-05-11T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd02e1df34", "title": "Going static", "url": "https://www.elliotclyde.nz/blog/going-static/", "published_at": "2021-01-25T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd02a1d5a9", "title": "Easy Node Live Server", "url": "https://www.elliotclyde.nz/blog/easy-node-live-server/", "published_at": "2021-01-17T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0247bcf3", "title": "Dropping Plantr 2.0", "url": "https://www.elliotclyde.nz/blog/dropping-plantr-2/", "published_at": "2021-01-12T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd017b9810", "title": "2020 to 2021", "url": "https://www.elliotclyde.nz/blog/2020-to-2021/", "published_at": "2020-12-31T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd014a631d", "title": "Tailwind for interactions - Alpine.JS", "url": "https://www.elliotclyde.nz/blog/tailwind-for-interactions-alpine-js/", "published_at": "2020-12-07T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd00f5c697", "title": "React on a Budget with Lit-html and Haunted", "url": "https://www.elliotclyde.nz/blog/react-on-a-budget-with-lit-html-and-haunted/", "published_at": "2020-11-17T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bcd0092295d", "title": "Batteries-included React", "url": "https://www.elliotclyde.nz/blog/batteries-included-react/", "published_at": "2020-10-16T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bccffe8fcdc", "title": "Eloquent Models - First Impressions", "url": "https://www.elliotclyde.nz/blog/eloquent-models-first-impressions/", "published_at": "2020-10-05T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bccff358afe", "title": "Upcoming project Plantr 2.0", "url": "https://www.elliotclyde.nz/blog/plantr-2-upcoming/", "published_at": "2020-09-11T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bccfe45e842", "title": "Web Colour Deep Dive", "url": "https://www.elliotclyde.nz/blog/web-colour-deep-dive/", "published_at": "2020-09-06T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bccfdda9fb0", "title": "PHP Data Objects", "url": "https://www.elliotclyde.nz/blog/php-data-objects/", "published_at": "2020-08-27T00:00:00+00:00" }, { "id": "01a08772-ae13-7145-8c5b-4bccfd3735d6", "title": "Building this Blog", "url": "https://www.elliotclyde.nz/blog/building-this-blog/", "published_at": "2020-08-20T00:00:00+00:00" } ] posts Claim your blog
Back to elliotclyde.nz
Blog · corpus.blog/blogs/elliotclyde.nz/posts

elliotclyde.nz

elliotclyde.nz

2026

2025

2024

2023

2022

2021

2020