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 1391Jan 1391
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, 2024762Dec 5, 2024762
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, 202412Oct 22, 202412
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, 2024301Jul 24, 2024301
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, 20245Jun 27, 20245
Published inBetter ProgrammingWorking With Stacked PRs using git-branchless, git-autofixup, and git-prWork with stacked PRs easily within the git worldFeb 22, 2023103Feb 22, 2023103
Published inBetter ProgrammingMaking “goconvey” Work With “gomega” AssertionSimplify writing testsJan 4, 202352Jan 4, 202352
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, 2022199Dec 16, 2022199
Published inBetter ProgrammingCreate an Emoji Ball-drop Game With Matter.jsConnect the dotsSep 21, 2022Sep 21, 2022
Published inBetter Programming7 New ES2022 JavaScript Features You Might Have MissedOld vs. new JavaScriptSep 16, 20224Sep 16, 20224
Published inBetter ProgrammingValidate Zero Enum Value in Protocol BufferHow to validate that a Protobuf message does not contain enum fields with zero value? Turns out that this isn’t supported directly by…Mar 2, 2022Mar 2, 2022
Eventually consistency and cacheEventually consistency is a fancy name of doing something and only expecting the changed state after a while. But it won’t work with cache.Feb 22, 2022Feb 22, 2022
Published inGeek CultureFront-End Development Without node_modulesOnce upon a time, we could simply put an HTML and a script file into an FTP server, quickly have a working website and call it a day.Feb 3, 20211Feb 3, 20211
Published inThe Startupµjson — A Minimal JSON Parser and Transformer in Goµjson is a minimal JSON parser and transformer that works on unstructured (and trusted) JSON. It works by parsing input and calling the…Jan 8, 20211Jan 8, 20211