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 22Oct 22
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 24Jul 24
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 27Jun 27
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
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