iter.json: A Powerful and Efficient Way to Iterate and Manipulate JSON in GoHave you ever needed to modify unstructured JSON data in Go? Maybe you’ve had to delete all blacklisted fields, rename keys from camelCase…Jan 13Jan 13
Published inConnectly AICommit your code in style with git.emoji 🎉Have you ever gotten bored with the same old commit messages, all starting with “update”, “fix” or “feat”? Do you know that emojis are the…Jan 2Jan 2
Published inConnectly AIErrors, Errors Everywhere: How We Centralized and Structured Error Handling in GoHandling errors in Go is simple and flexible — yet no structure!Dec 5, 2024Dec 5, 2024
Published inConnectly AIImplement a Distributed State Machine with Redis to Migrate Billions of RecordsAs a start-up company, we started with a simple architecture: All data were stored in a single centralized Postgres instance, shared by a…Oct 22, 2024Oct 22, 2024
Published inConnectly AIUpgrade your scripts using ‘direnv’ and ‘run’ scriptIn JavaScript/Node world, we usually store scripts in package.json and run them using npm. In other worlds, we use Makefile or create a…Jul 24, 2024Jul 24, 2024
ezpkg.io — Collection of packages to make writing Go code easierAs I work on various Go projects, I often find myself creating utility functions, extending existing packages, or developing packages to…Jun 27, 2024Jun 27, 2024
Published inBetter ProgrammingWorking With Stacked PRs using git-branchless, git-autofixup, and git-prWork with stacked PRs easily within the git worldFeb 22, 2023Feb 22, 2023
Published inBetter ProgrammingMaking “goconvey” Work With “gomega” AssertionSimplify writing testsJan 4, 2023Jan 4, 2023
Make direnv work with saplingIn the last post, I shared my experience with Sapling, Meta’s new Git client. It requires some workaround with direnv. This post explains…Dec 21, 2022Dec 21, 2022
Published inBetter ProgrammingMy First Impressions of Sapling — Meta’s New Git ClientExperimenting with stacked pull requestsDec 16, 2022Dec 16, 2022