41554 blogs · [ { "id": "01a0d50d-39e1-735b-83fb-8660583766e5", "title": "Rewriting History Safely: `filter-repo` and Protected Refs", "url": "https://ajitem.com/blog/beneath-the-porcelain-part-7-rewriting-history-safely-filter-repo/", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a0d50d-39e1-735b-83fb-866058a0f9d1", "title": "Attaching Build Metadata with `git notes`", "url": "https://ajitem.com/blog/git-quick-hits-part-7-attaching-build-metadata-with-git-notes/", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0d50d-39e1-735b-83fb-8660596944cc", "title": "Signed Tags as a Release Gate", "url": "https://ajitem.com/blog/beneath-the-porcelain-part-6-signed-tags-as-a-release-gate/", "published_at": "2026-09-17T00:00:00+00:00" }, { "id": "01a0d50d-39e1-735b-83fb-86605a28e3ec", "title": "Shipping a Repo as One File with `git bundle`", "url": "https://ajitem.com/blog/git-quick-hits-part-6-shipping-a-repo-as-one-file-with-git-bundle/", "published_at": "2026-09-14T00:00:00+00:00" }, { "id": "01a08c6b-e0ba-70b7-b381-2e3e8af84f56", "title": "Custom Merge and Filter Drivers for Generated Files", "url": "https://ajitem.com/blog/beneath-the-porcelain-part-5-custom-merge-and-filter-drivers/", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077b187f30", "title": "`.gitignore` vs `.git/info/exclude` vs Global Excludes", "url": "https://ajitem.com/blog/git-quick-hits-part-5-gitignore-vs-info-exclude-and-ci-leaks/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077b4ecd31", "title": "Worktrees in Production: Blue-Green Deploys from One Clone", "url": "https://ajitem.com/blog/beneath-the-porcelain-part-4-worktrees-in-production-blue-green-deploys/", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077b6ecd64", "title": "`git rerere`: Stop Resolving the Same Conflict Twice", "url": "https://ajitem.com/blog/git-quick-hits-part-4-git-rerere-for-recurring-merge-conflicts/", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077beb49b2", "title": "Hooks as a Poor Man's CI", "url": "https://ajitem.com/blog/beneath-the-porcelain-part-3-hooks-as-a-poor-mans-ci/", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077c253083", "title": "The Undo Button Nobody Uses: `git reflog`", "url": "https://ajitem.com/blog/git-quick-hits-part-3-the-undo-button-nobody-uses-git-reflog/", "published_at": "2026-08-24T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077c6fbd1c", "title": "Go 1.27: net/http, and a Tour of the Testing Toolchain", "url": "https://ajitem.com/blog/go-1-27-net-http-testing-toolchain/", "published_at": "2026-08-24T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077d4572d0", "title": "Post-Quantum Signatures with crypto/mldsa: What ML-DSA Actually Costs", "url": "https://ajitem.com/blog/go-1-27-post-quantum-mldsa/", "published_at": "2026-08-23T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077d623696", "title": "Go 1.27's Runtime and Compiler: A Buffer Removed, Labels Added, Allocation Sped Up", "url": "https://ajitem.com/blog/go-1-27-runtime-and-compiler/", "published_at": "2026-08-21T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077d63c9fd", "title": "What Actually Happens on `git push`", "url": "https://ajitem.com/blog/beneath-the-porcelain-part-2-what-actually-happens-on-git-push/", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077da599c4", "title": "The go1.27 Goroutine Leak Profile: What Reachability Can and Cannot See", "url": "https://ajitem.com/blog/go-1-27-goroutine-leak-profile/", "published_at": "2026-08-19T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077e66de43", "title": "Parallel Branches Without Stashing: `git worktree`", "url": "https://ajitem.com/blog/git-quick-hits-part-2-parallel-branches-without-stashing-git-worktree/", "published_at": "2026-08-17T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077ed2e113", "title": "Go 1.27 and encoding/json/v2: The Engine Changed, the Contract Didn't", "url": "https://ajitem.com/blog/go-1-27-json-v2/", "published_at": "2026-08-17T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35077fbfb236", "title": "Generic Methods in Go 1.27: What Changed, What Didn't", "url": "https://ajitem.com/blog/go-1-27-generic-methods/", "published_at": "2026-08-15T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507802f7881", "title": "The Bare Repo Pipeline", "url": "https://ajitem.com/blog/beneath-the-porcelain-part-1-the-bare-repo-pipeline/", "published_at": "2026-08-13T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078042c8d8", "title": "Go 1.27: A Release Map, Ordered by What Can Break You", "url": "https://ajitem.com/blog/go-1-27-introduction/", "published_at": "2026-08-13T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-350780b7c584", "title": "Found in a Response Header: How I Joined Automattic", "url": "https://ajitem.com/blog/found-in-a-response-header-how-i-joined-automattic/", "published_at": "2026-08-12T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078109b40c", "title": "Automating Regression Hunts with `git bisect run`", "url": "https://ajitem.com/blog/git-quick-hits-part-1-automating-regression-hunts-with-git-bisect-run/", "published_at": "2026-08-10T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078204abf7", "title": "Try It Yourself: Watch an SSH Key Exchange Happen", "url": "https://ajitem.com/blog/try-it-yourself-watch-an-ssh-key-exchange-happen/", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078212291b", "title": "RFC 10008: HTTP Finally Gets a QUERY Method", "url": "https://ajitem.com/blog/rfc-10008-http-finally-gets-a-query-method/", "published_at": "2026-07-02T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-350782b9a4ec", "title": "The Revolution That's Taking Forever", "url": "https://ajitem.com/blog/iron-core-part-6-the-revolution-thats-taking-forever/", "published_at": "2026-04-18T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507831630db", "title": "Bird Strike, Terminal 2", "url": "https://ajitem.com/blog/iron-core-part-5-bird-strike-terminal-2/", "published_at": "2026-04-16T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507834c47f7", "title": "From GDS to Gate", "url": "https://ajitem.com/blog/iron-core-part-4-from-gds-to-gate/", "published_at": "2026-04-14T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-350783a08f90", "title": "The Command Line That Never Died", "url": "https://ajitem.com/blog/iron-core-part-3-the-command-line-that-never-died/", "published_at": "2026-04-12T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-350783af8061", "title": "Six Characters", "url": "https://ajitem.com/blog/iron-core-part-2-six-characters/", "published_at": "2026-04-10T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-350783f721df", "title": "The Problem That Built an Industry", "url": "https://ajitem.com/blog/iron-core-part-1-the-problem-that-built-an-industry/", "published_at": "2026-04-08T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078434a97a", "title": "Developing Packages for Laravel", "url": "https://ajitem.com/blog/draft-developing-packages-for-laravel/", "published_at": "2026-03-21T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-350784d61baf", "title": "I think you should actually try working with Go and NodeJS before coming up with an article.", "url": "https://ajitem.com/blog/draft-i-think-you-should-actually-try-working-with-go-and-nodejs-before-coming-up-with-an-article/", "published_at": "2026-03-21T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507856c963c", "title": "Kickstarting Kafka Locally with Docker Compose", "url": "https://ajitem.com/blog/draft-kickstarting-kafka-locally-with-docker-compose/", "published_at": "2026-03-21T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-350786095025", "title": "Phantom Types in Rust and Go: Type Safety Without Runtime Overhead", "url": "https://ajitem.com/blog/draft-phantom-types-in-rust-and-go-type-safety-without-runtime-overhead-2/", "published_at": "2026-03-21T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507861361c1", "title": "Phantom Types in Rust and Go: Type Safety Without Runtime Overhead", "url": "https://ajitem.com/blog/draft-phantom-types-in-rust-and-go-type-safety-without-runtime-overhead/", "published_at": "2026-03-21T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507870f77b1", "title": "My Journey Through the One Billion Row Challenge in Go", "url": "https://ajitem.com/blog/my-journey-through-the-one-billion-row-challenge-in-go/", "published_at": "2025-04-15T10:18:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507871c9b3a", "title": "Enhancements to Go Tooling in 1.24: go vet, go build, and More", "url": "https://ajitem.com/blog/enhancements-to-go-tooling-in-1-24-go-vet-go-build-and-more/", "published_at": "2025-02-15T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078805587c", "title": "Advanced Concurrency Testing in Go 1.24: Exploring testing/synctest", "url": "https://ajitem.com/blog/advanced-concurrency-testing-in-go-1-24-exploring-testing-synctest/", "published_at": "2025-02-14T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507882f5275", "title": "Cryptographic Enhancements in Go 1.24: Post-Quantum Readiness & More", "url": "https://ajitem.com/blog/cryptographic-enhancements-in-go-1-24-post-quantum-readiness-more/", "published_at": "2025-02-13T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507883b2c7e", "title": "Memory Efficiency in Go 1.24: Introducing the weakPackage", "url": "https://ajitem.com/blog/memory-efficiency-in-go-1-24-introducing-the-weakpackage/", "published_at": "2025-02-12T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-350788fb549a", "title": "Improved Finalization in Go 1.24: Introducing runtime.AddCleanup", "url": "https://ajitem.com/blog/improved-finalization-in-go-1-24-introducing-runtime-addcleanup/", "published_at": "2025-02-11T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078997ab18", "title": "Secure Filesystem Access in Go 1.24: Introducing os.Root", "url": "https://ajitem.com/blog/secure-filesystem-access-in-go-1-24-introducing-os-root/", "published_at": "2025-02-10T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078a69bfef", "title": "Performance Optimizations in Go 1.24: Swiss Table Maps and More", "url": "https://ajitem.com/blog/performance-optimizations-in-go-1-24-swiss-table-maps-and-more/", "published_at": "2025-02-09T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078b626b03", "title": "Exploring Generic Type Aliases in Go 1.24", "url": "https://ajitem.com/blog/exploring-generic-type-aliases-in-go-1-24/", "published_at": "2025-02-08T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078c4c9a03", "title": "Introduction to Go 1.24: What’s New and Why It Matters", "url": "https://ajitem.com/blog/introduction-to-go-1-24-what-s-new-and-why-it-matters/", "published_at": "2025-02-07T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078cef2f5e", "title": "Performance optimization in Go: Checkmate Performance using Chess Piece Movements as an example", "url": "https://ajitem.com/blog/performance-optimization-in-go-checkmate-performance-using-chess-piece-movements-as-an-example/", "published_at": "2025-01-24T11:05:01+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078d85ec43", "title": "Understanding Go 1.17’s performance boost", "url": "https://ajitem.com/blog/understanding-go-1-17s-performance-boost/", "published_at": "2021-08-22T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078e76f184", "title": "Looking Glass Write Up – TryHackMe", "url": "https://ajitem.com/blog/looking-glass-write-up-tryhackme/", "published_at": "2021-08-17T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078f12fdb0", "title": "Will Rosetta 2 deliver the performance that Apple claims it will?", "url": "https://ajitem.com/blog/will-rosetta-2-deliver-the-performance-that-apple-claims-it-will/", "published_at": "2020-06-26T00:00:00+00:00" }, { "id": "01a08721-d426-7098-9ea7-35078f5de0e8", "title": "Leaving a mark… Git Commit Signature", "url": "https://ajitem.com/blog/leaving-a-mark-git-commit-signature/", "published_at": "2018-07-02T05:21:44+00:00" }, { "id": "01a08721-d426-7098-9ea7-3507901482c6", "title": "WordPress Lessons: WP_Query Shenanigans", "url": "https://ajitem.com/blog/wordpress-lessons-wp-query-shenanigans/", "published_at": "2016-05-04T12:24:18+00:00" } ] posts Claim your blog
Back to ajitem.com
Blog · corpus.blog/blogs/ajitem.com/posts

ajitem.com

ajitem.com

2026

2025

2021

2020

2018

2016