56,966 blogs · [ { "id": "01a087c5-9e71-7384-9732-96169f4dfc06", "title": "Learning sed or using Claude?", "url": "https://playtechnique.io/blog/learning-sed-or-using-claude.html", "published_at": "2026-08-10T12:29:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36342e153530", "title": "A GenAIration Lost In Space", "url": "https://playtechnique.io/blog/a-genairation-lost-in-space.html", "published_at": "2026-05-25T08:17:07+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36342e78cace", "title": "Azure's MFA warning links free-tier users to a page they can't use", "url": "https://playtechnique.io/blog/azures-mfa-warning.html", "published_at": "2026-05-18T17:51:03+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36342f1db5e5", "title": "Train Your Tenacity", "url": "https://playtechnique.io/blog/train-your-tenacity.html", "published_at": "2026-01-18T14:26:05+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36342fd81621", "title": "Two Runs One Instruction", "url": "https://playtechnique.io/blog/two-runs-one-instruction.html", "published_at": "2025-09-28T09:09:12+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363430a24673", "title": "Claude But Actually Useful", "url": "https://playtechnique.io/blog/claude-post-but-actually-useful.html", "published_at": "2025-09-27T11:55:10+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363430dce8cb", "title": "I Survived Giving A Conference Talk", "url": "https://playtechnique.io/blog/i-survived-giving-a-conference-talk.html", "published_at": "2025-09-20T11:29:32+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634310a122e", "title": "Estimation, Capacity Planning, Salaries", "url": "https://playtechnique.io/blog/planning-estimation.html", "published_at": "2025-08-30T08:43:08+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634314f170c", "title": "AI Doesn't Lighten the Burden of Mastery. It Makes It Easy to Stop Valuing It.", "url": "https://playtechnique.io/blog/ai-doesnt-lighten-the-burden-of-mastery.html", "published_at": "2025-08-17T08:50:42+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363431fd3beb", "title": "How I Learned To Stop Worrying And Trust My Understanding Of Design", "url": "https://playtechnique.io/blog/how-i-learned-to-stop-worrying-and-trust-my-understanding-of-design-patterns.html", "published_at": "2025-07-26T09:53:38+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343229fed8", "title": "Circle on a Canvas: An AI Story", "url": "https://playtechnique.io/blog/circle-on-a-canvas-an-ai-story.html", "published_at": "2025-06-28T07:56:05+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343309261f", "title": "How To Use Compiled Goose Migrations", "url": "https://playtechnique.io/blog/how-to-use-compiled-goose-migrations.html", "published_at": "2025-04-19T09:22:37+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363433f8185f", "title": "Goose for the Rails Developer", "url": "https://playtechnique.io/blog/goose-for-the-rails-developer.html", "published_at": "2025-03-31T13:10:27+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343400ddbf", "title": "I Have An Answer From ChatGPT, But What Does It Mean?", "url": "https://playtechnique.io/blog/i-have-awk-an-answer-from-chatgpt-but-what-does-it-mean.html", "published_at": "2025-03-29T09:13:32+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634342f1eab", "title": "Finding a Free Port in Go", "url": "https://playtechnique.io/blog/finding-a-free-port-in-go.html", "published_at": "2025-03-15T10:14:36+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343489a14f", "title": "How Not To Trigger Site Analytics From Localhost", "url": "https://playtechnique.io/blog/how-not-to-trigger-site-analytics-from-localhost.html", "published_at": "2025-01-14T17:22:15+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363434cd51a9", "title": "Discard Slog Logs In Tests", "url": "https://playtechnique.io/blog/discard-slog-logs-in-tests.html", "published_at": "2024-11-13T09:12:32+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634350911f8", "title": "Create A Trigger Table And Watch Grafana Save Changes", "url": "https://playtechnique.io/blog/create-a-trigger-table-and-watch-grafana-save-changes.html", "published_at": "2024-10-24T07:18:14+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363435939dc3", "title": "Writing An RSS Feed Generator", "url": "https://playtechnique.io/blog/writing-an-rss-feed-generator.html", "published_at": "2024-10-11T07:06:51+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363436287714", "title": "Grafana's Sqlite Database", "url": "https://playtechnique.io/blog/how-grafanas-sqlite-database-sees-a-new-dashboard-and-panel.html", "published_at": "2024-10-05T13:47:37+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363436cdd64e", "title": "Tracking Sqlite Changes", "url": "https://playtechnique.io/blog/tracking-sqlite-changes.html", "published_at": "2024-10-03T06:42:12+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634371b7f02", "title": "Adding Permissions To MapFS Part 1", "url": "https://playtechnique.io/blog/adding-permissions-to-mapfs-part-1.html", "published_at": "2024-09-24T20:34:05+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363437354140", "title": "zsh autocompletion for a shell function", "url": "https://playtechnique.io/blog/zsh-autocompletion-for-a-shell-function.html", "published_at": "2024-09-12T06:26:45+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634374c8aaf", "title": "Sliding Window 2: Length of Longest Substring Without Repeating Characters", "url": "https://playtechnique.io/blog/sliding-window-2-length-longest-substring.html", "published_at": "2024-09-07T14:57:39+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634374e1ca2", "title": "Sliding Window - The Easier Examples", "url": "https://playtechnique.io/blog/sliding-window-the-easier-examples.html", "published_at": "2024-09-05T20:05:24+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343757660e", "title": "Marching With Two Pointers", "url": "https://playtechnique.io/blog/marching-with-two-pointers.html", "published_at": "2024-09-05T10:00:05+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363437bffa08", "title": "How Do You Get To Carnegie Hall?", "url": "https://playtechnique.io/blog/how-do-you-get-to-carnegie-hall.html", "published_at": "2024-09-05T10:00:01+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343892c1ac", "title": "I Want to Love Azure, But They Make It Hard", "url": "https://playtechnique.io/blog/i-want-to-love-azure-but-they-make-it-hard.html", "published_at": "2024-08-23T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-363438ed6269", "title": "Set Go SLog Levels With An Environment Variable", "url": "https://playtechnique.io/blog/set-go-slog-levels-with-an-environment-variable.html", "published_at": "2024-08-22T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343963d004", "title": "Andrew is a glorious time sink", "url": "https://playtechnique.io/blog/life-is-a-glorious-time-sink.html", "published_at": "2024-08-21T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634397f5205", "title": "writing-a-daemon-in-golang", "url": "https://playtechnique.io/blog/writing-a-daemon-in-golang.html", "published_at": "2024-06-01T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-3634399cabdd", "title": "Keep Going Till It's Fun", "url": "https://playtechnique.io/blog/keep-going-till-its-fun.html", "published_at": "2024-05-31T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343a3ea483", "title": "attributes and data: parsing html in golang", "url": "https://playtechnique.io/blog/attributes-and-data.html", "published_at": "2024-04-21T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343a43c615", "title": "testing panics in go", "url": "https://playtechnique.io/blog/testing-panics-in-go.html", "published_at": "2024-04-20T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343b3513a3", "title": "fstest mapfs file does not exist error", "url": "https://playtechnique.io/blog/fstest-mapfs-file-does-not-exist.html", "published_at": "2024-03-27T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343c0d78b4", "title": "Using Andrew For Your Website", "url": "https://playtechnique.io/blog/using-andrew-for-your-website.html", "published_at": "2024-03-23T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343c8134c3", "title": "andrew is minimalistic", "url": "https://playtechnique.io/blog/andrew-is-minimalistic.html", "published_at": "2024-03-17T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343d1cbde8", "title": "andrew is actually a web server", "url": "https://playtechnique.io/blog/andrew-is-actually-a-web-server.html", "published_at": "2024-03-16T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343d60a4c7", "title": "Andrew is a partial site generator", "url": "https://playtechnique.io/blog/andrew-is-a-partial-site-generator.html", "published_at": "2024-03-09T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343e291f7a", "title": "Generate ssl certs with cert-manager", "url": "https://playtechnique.io/blog/2024-01-28-generate-ssl-cert-for-non-kubernetes-service.html", "published_at": "2024-01-24T00:00:00+00:00" }, { "id": "01a087c5-9e74-722f-8d32-36343edca2c5", "title": "Wrapping P4Merge and P4Diff For The Cli", "url": "https://playtechnique.io/blog/2024-01-24.html", "published_at": "2024-01-24T00:00:00+00:00" } ] posts Claim your blog
Back to playtechnique.io
Blog · corpus.blog/blogs/playtechnique.io/posts

playtechnique.io

playtechnique.io

2026

2025

2024