56,966 blogs · [ { "id": "01a0bb96-aa6f-7390-8f96-f44e28ef887b", "title": "Learn Claude Code", "url": "https://www.mikenikles.com/blog/learn-claude-code", "published_at": "2026-09-16T08:00:00+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e87074adc7d", "title": "I vibe-coded a database GUI", "url": "https://www.mootoday.com/blog/i-vibe-coded-a-database-gui", "published_at": "2025-12-23T03:45:22+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e295b6c19", "title": "I vibe-coded a database GUI", "url": "https://www.mikenikles.com/blog/i-vibe-coded-a-database-gui", "published_at": "2025-12-23T03:45:22+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e8707cdb514", "title": "Instead of paternity leave, they ended my contract", "url": "https://www.mootoday.com/blog/instead-of-paternity-leave-they-ended-my-contract", "published_at": "2025-10-16T08:12:45+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2a599081", "title": "Instead of paternity leave, they ended my contract", "url": "https://www.mikenikles.com/blog/instead-of-paternity-leave-they-ended-my-contract", "published_at": "2025-10-16T08:12:45+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e87089238f6", "title": "Untrusted customer code on the server with WebAssembly (Wasm) components", "url": "https://www.mootoday.com/blog/untrusted-customer-code-on-the-server-with-wasm-components", "published_at": "2025-05-04T05:12:45+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2b0732c0", "title": "Untrusted customer code on the server with WebAssembly (Wasm) components", "url": "https://www.mikenikles.com/blog/untrusted-customer-code-on-the-server-with-wasm-components", "published_at": "2025-05-04T05:12:45+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870894ec71", "title": "All you need is a CLI", "url": "https://www.mootoday.com/blog/all-you-need-is-a-cli", "published_at": "2025-01-22T02:34:12+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2b49f649", "title": "All you need is a CLI", "url": "https://www.mikenikles.com/blog/all-you-need-is-a-cli", "published_at": "2025-01-22T02:34:12+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e8709356803", "title": "Migrating a Node.js CLI to Rust", "url": "https://www.mootoday.com/blog/migrating-a-nodejs-cli-to-rust", "published_at": "2025-01-07T10:45:12+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2bb54086", "title": "Migrating a Node.js CLI to Rust", "url": "https://www.mikenikles.com/blog/migrating-a-nodejs-cli-to-rust", "published_at": "2025-01-07T10:45:12+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870a2b490d", "title": "My first Rust crate", "url": "https://www.mootoday.com/blog/my-first-rust-crate", "published_at": "2024-12-29T03:13:05+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2c092f96", "title": "My first Rust crate", "url": "https://www.mikenikles.com/blog/my-first-rust-crate", "published_at": "2024-12-29T03:13:05+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870a3e811d", "title": "A re-imagined development environment", "url": "https://www.mootoday.com/blog/a-re-imagined-dev-environment", "published_at": "2024-07-15T08:23:13+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2c92ffbb", "title": "A re-imagined development environment", "url": "https://www.mikenikles.com/blog/a-re-imagined-dev-environment", "published_at": "2024-07-15T08:23:13+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870ad01b8e", "title": "An opinionated dev setup", "url": "https://www.mootoday.com/blog/an-opinionated-dev-setup", "published_at": "2024-05-26T04:45:12+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2d3c796f", "title": "An opinionated dev setup", "url": "https://www.mikenikles.com/blog/an-opinionated-dev-setup", "published_at": "2024-05-26T04:45:12+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870b20c0af", "title": "Work with multiple git branches in parallel", "url": "https://www.mootoday.com/blog/work-with-multiple-git-branches-in-parallel", "published_at": "2024-05-18T03:15:13+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2d4f4264", "title": "Work with multiple git branches in parallel", "url": "https://www.mikenikles.com/blog/work-with-multiple-git-branches-in-parallel", "published_at": "2024-05-18T03:15:13+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870bd527aa", "title": "I replaced Homebrew with Devbox", "url": "https://www.mootoday.com/blog/i-replaced-homebrew-with-devbox", "published_at": "2024-05-12T03:45:17+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2e342782", "title": "I replaced Homebrew with Devbox", "url": "https://www.mikenikles.com/blog/i-replaced-homebrew-with-devbox", "published_at": "2024-05-12T03:45:17+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870cb25031", "title": "Beyond the Bottom Line: The ROI of Investing in Developer Experience", "url": "https://www.mootoday.com/blog/beyond-the-bottom-line-the-roi-of-investing-in-developer-experience", "published_at": "2024-04-22T06:15:13+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2e5e5879", "title": "Beyond the Bottom Line: The ROI of Investing in Developer Experience", "url": "https://www.mikenikles.com/blog/beyond-the-bottom-line-the-roi-of-investing-in-developer-experience", "published_at": "2024-04-22T06:15:13+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870d90f024", "title": "`curl` your landing page", "url": "https://www.mootoday.com/blog/curl-your-landing-page", "published_at": "2023-11-27T06:15:13+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2f076fcc", "title": "`curl` your landing page", "url": "https://www.mikenikles.com/blog/curl-your-landing-page", "published_at": "2023-11-27T06:15:13+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870e005705", "title": "Test GitHub Actions locally", "url": "https://www.mootoday.com/blog/test-github-actions-locally", "published_at": "2023-08-04T10:33:13+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2f40066e", "title": "Test GitHub Actions locally", "url": "https://www.mikenikles.com/blog/test-github-actions-locally", "published_at": "2023-08-04T10:33:13+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870edf9cf2", "title": "Svelte & XState", "url": "https://www.mootoday.com/blog/svelte-and-xstate", "published_at": "2022-12-17T21:10:13+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2f7f62d3", "title": "Svelte & XState", "url": "https://www.mikenikles.com/blog/svelte-and-xstate", "published_at": "2022-12-17T21:10:13+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e870fdabdb0", "title": "Dev environments in the cloud are a half-baked solution", "url": "https://www.mootoday.com/blog/dev-environments-in-the-cloud-are-a-half-baked-solution", "published_at": "2022-12-08T04:03:13+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e2fd43b1c", "title": "Dev environments in the cloud are a half-baked solution", "url": "https://www.mikenikles.com/blog/dev-environments-in-the-cloud-are-a-half-baked-solution", "published_at": "2022-12-08T04:03:13+00:00" }, { "id": "01a087a8-b766-71cf-a067-8e871065f600", "title": "Announcing a Full-Stack Web Development cohort-based course", "url": "https://www.mootoday.com/blog/announcing-a-full-stack-web-development-cohort-based-course", "published_at": "2021-12-21T17:47:18+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e30bc1f1b", "title": "Announcing a Full-Stack Web Development cohort-based course", "url": "https://www.mikenikles.com/blog/announcing-a-full-stack-web-development-cohort-based-course", "published_at": "2021-12-21T17:47:18+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674ddfd8bfa", "title": "SvelteKit & Prisma - A match made in digital heaven", "url": "https://www.mootoday.com/blog/svelte-kit-prisma-a-match-made-in-digital-heaven", "published_at": "2021-08-03T03:06:14+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3132d759", "title": "SvelteKit & Prisma - A match made in digital heaven", "url": "https://www.mikenikles.com/blog/svelte-kit-prisma-a-match-made-in-digital-heaven", "published_at": "2021-08-03T03:06:14+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674de4d45ff", "title": "Why I Left Google and Joined Gitpod", "url": "https://www.mootoday.com/blog/why-i-left-google-and-joined-gitpod", "published_at": "2021-04-07T05:09:36+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e318793dc", "title": "Why I Left Google and Joined Gitpod", "url": "https://www.mikenikles.com/blog/why-i-left-google-and-joined-gitpod", "published_at": "2021-04-07T05:09:36+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674dee057a8", "title": "A Svelte component to format numbers", "url": "https://www.mootoday.com/blog/a-svelte-component-to-format-numbers", "published_at": "2021-01-09T15:23:05+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e31aff634", "title": "A Svelte component to format numbers", "url": "https://www.mikenikles.com/blog/a-svelte-component-to-format-numbers", "published_at": "2021-01-09T15:23:05+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674df3bef13", "title": "2021 - My Objectives & Key Results", "url": "https://www.mootoday.com/blog/2021-my-objectives-key-results", "published_at": "2021-01-02T16:59:57+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e326169fb", "title": "2021 - My Objectives & Key Results", "url": "https://www.mikenikles.com/blog/2021-my-objectives-key-results", "published_at": "2021-01-02T16:59:57+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674df9b7263", "title": "A smart guide for your career as a software engineer", "url": "https://www.mootoday.com/blog/a-smart-guide-for-your-career-as-a-software-engineer", "published_at": "2020-12-31T19:29:05+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e330ca15d", "title": "A smart guide for your career as a software engineer", "url": "https://www.mikenikles.com/blog/a-smart-guide-for-your-career-as-a-software-engineer", "published_at": "2020-12-31T19:29:05+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e0155059", "title": "2020 - Year in Review", "url": "https://www.mootoday.com/blog/2020-year-in-review", "published_at": "2020-12-24T17:57:09+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e33bf1172", "title": "2020 - Year in Review", "url": "https://www.mikenikles.com/blog/2020-year-in-review", "published_at": "2020-12-24T17:57:09+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e0614949", "title": "Why I turned my homepage into a timeline", "url": "https://www.mootoday.com/blog/why-i-turned-my-homepage-into-a-timeline", "published_at": "2020-12-06T20:21:32+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e345e51a9", "title": "Why I turned my homepage into a timeline", "url": "https://www.mikenikles.com/blog/why-i-turned-my-homepage-into-a-timeline", "published_at": "2020-12-06T20:21:32+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e12e213b", "title": "What was the biggest blunder in your career as a developer?", "url": "https://www.mootoday.com/blog/what-was-the-biggest-blunder-in-your-career-as-a-developer", "published_at": "2020-08-20T12:47:18+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3558c868", "title": "What was the biggest blunder in your career as a developer?", "url": "https://www.mikenikles.com/blog/what-was-the-biggest-blunder-in-your-career-as-a-developer", "published_at": "2020-08-20T12:47:18+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e1dfbbcb", "title": "How I wrote 214 pages for a web development book with 19 pull requests in 3 months", "url": "https://www.mootoday.com/blog/how-i-wrote-214-pages-for-a-web-development-book-with-19-pull-requests-in-3-months", "published_at": "2020-07-03T20:26:33+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e35bc9553", "title": "How I wrote 214 pages for a web development book with 19 pull requests in 3 months", "url": "https://www.mikenikles.com/blog/how-i-wrote-214-pages-for-a-web-development-book-with-19-pull-requests-in-3-months", "published_at": "2020-07-03T20:26:33+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e250d1b3", "title": "My personal website v2.0", "url": "https://www.mootoday.com/blog/my-personal-website-v2-0", "published_at": "2020-06-24T13:48:01+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e361d5f3d", "title": "My personal website v2.0", "url": "https://www.mikenikles.com/blog/my-personal-website-v2-0", "published_at": "2020-06-24T13:48:01+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e2798052", "title": "Deploy a static Sapper app with Deno on Cloud Run", "url": "https://www.mootoday.com/blog/deploy-a-static-sapper-app-with-deno-on-cloud-run", "published_at": "2020-05-14T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e367b8422", "title": "Deploy a static Sapper app with Deno on Cloud Run", "url": "https://www.mikenikles.com/blog/deploy-a-static-sapper-app-with-deno-on-cloud-run", "published_at": "2020-05-14T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e2981d49", "title": "I am writing a book: Cloud Native Web Development", "url": "https://www.mootoday.com/blog/i-am-writing-a-book-cloud-native-web-development", "published_at": "2020-05-10T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3766bc9b", "title": "I am writing a book: Cloud Native Web Development", "url": "https://www.mikenikles.com/blog/i-am-writing-a-book-cloud-native-web-development", "published_at": "2020-05-10T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e2e92f07", "title": "Develop Cypress end-to-end tests on Gitpod.io - Virtual Desktop included", "url": "https://www.mootoday.com/blog/develop-cypress-end-to-end-tests-on-gitpod-io-virtual-desktop-included", "published_at": "2020-05-02T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e38450c57", "title": "Develop Cypress end-to-end tests on Gitpod.io - Virtual Desktop included", "url": "https://www.mikenikles.com/blog/develop-cypress-end-to-end-tests-on-gitpod-io-virtual-desktop-included", "published_at": "2020-05-02T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e3648dc8", "title": "Sapper, Google Cloud Run, Continuous Deployment - A boilerplate template", "url": "https://www.mootoday.com/blog/sapper-google-cloud-run-continuous-deployment-a-boilerplate-template", "published_at": "2020-04-28T01:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e391de86f", "title": "Sapper, Google Cloud Run, Continuous Deployment - A boilerplate template", "url": "https://www.mikenikles.com/blog/sapper-google-cloud-run-continuous-deployment-a-boilerplate-template", "published_at": "2020-04-28T01:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e3dabeb8", "title": "Firebase Hosting for static assets of a Sapper web app on Cloud Run", "url": "https://www.mootoday.com/blog/firebase-hosting-for-static-assets-of-a-sapper-web-app-on-cloud-run", "published_at": "2020-04-28T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3967a833", "title": "Firebase Hosting for static assets of a Sapper web app on Cloud Run", "url": "https://www.mikenikles.com/blog/firebase-hosting-for-static-assets-of-a-sapper-web-app-on-cloud-run", "published_at": "2020-04-28T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e4c36881", "title": "A Link Content Previewer with Svelte & Sapper", "url": "https://www.mootoday.com/blog/a-link-content-previewer-with-svelte-sapper", "published_at": "2020-04-18T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e39c833d9", "title": "A Link Content Previewer with Svelte & Sapper", "url": "https://www.mikenikles.com/blog/a-link-content-previewer-with-svelte-sapper", "published_at": "2020-04-18T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e5039dc9", "title": "Why I use a cloud-based development environment and how you can too", "url": "https://www.mootoday.com/blog/why-i-use-a-cloud-based-development-environment-and-how-you-can-too", "published_at": "2020-03-31T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3a99ae8e", "title": "Why I use a cloud-based development environment and how you can too", "url": "https://www.mikenikles.com/blog/why-i-use-a-cloud-based-development-environment-and-how-you-can-too", "published_at": "2020-03-31T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e52409ac", "title": "How to use Svelte for your Google Docs add-on", "url": "https://www.mootoday.com/blog/how-to-use-svelte-for-your-google-docs-add-on", "published_at": "2020-03-28T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3b738320", "title": "How to use Svelte for your Google Docs add-on", "url": "https://www.mikenikles.com/blog/how-to-use-svelte-for-your-google-docs-add-on", "published_at": "2020-03-28T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e52a485d", "title": "Add a commenting platform to a Svelte app", "url": "https://www.mootoday.com/blog/add-a-commenting-platform-to-a-svelte-app", "published_at": "2020-01-01T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3bf8b2b2", "title": "Add a commenting platform to a Svelte app", "url": "https://www.mikenikles.com/blog/add-a-commenting-platform-to-a-svelte-app", "published_at": "2020-01-01T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e5a1dc91", "title": "Why I moved from React to Svelte and why others will follow", "url": "https://www.mootoday.com/blog/why-i-moved-from-react-to-svelte-and-why-others-will-follow", "published_at": "2019-12-26T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3c3b752e", "title": "Why I moved from React to Svelte and why others will follow", "url": "https://www.mikenikles.com/blog/why-i-moved-from-react-to-svelte-and-why-others-will-follow", "published_at": "2019-12-26T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e65eaea2", "title": "Our approach to software development consistency", "url": "https://www.mootoday.com/blog/our-approach-to-software-development-consistency", "published_at": "2018-01-03T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3d03d20e", "title": "Our approach to software development consistency", "url": "https://www.mikenikles.com/blog/our-approach-to-software-development-consistency", "published_at": "2018-01-03T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e75bda44", "title": "A (mostly) automated release process", "url": "https://www.mootoday.com/blog/a-mostly-automated-release-process", "published_at": "2017-12-26T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3d2ac1b2", "title": "A (mostly) automated release process", "url": "https://www.mikenikles.com/blog/a-mostly-automated-release-process", "published_at": "2017-12-26T00:00:00+00:00" }, { "id": "01a087a8-b767-7100-a7bf-a674e8554769", "title": "Ever wondered why your best employees leave", "url": "https://www.mootoday.com/blog/ever-wondered-why-your-best-employees-leave", "published_at": "2016-04-11T00:00:00+00:00" }, { "id": "01a0bb96-aa6f-7390-8f96-f44e3d98ebd2", "title": "Ever wondered why your best employees leave", "url": "https://www.mikenikles.com/blog/ever-wondered-why-your-best-employees-leave", "published_at": "2016-04-11T00:00:00+00:00" } ] posts Claim your blog
Back to mootoday.com
Blog · corpus.blog/blogs/mootoday.com/posts

mootoday.com

mootoday.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016