Avoid Ambiguous Booleans in TypescriptRecently, I’ve noticed a lot of boolean logic that may seem benign, but presents a lot of readability issues. This can be especially the…May 4May 4
Why AI (CoPilot) is the Absolute Best Practice and the best $10 I ever spentThere comes a time for software developers when they think they know it all. Once you’ve settled into the comfort of your favorite code…Feb 2Feb 2
A Must-Do Discovery for Typescript: Embracing Tiny-InvariantIn software development, the “early exit pattern” involves strategically placing condition checks at the beginning of a function or block…Dec 21, 2023Dec 21, 2023
Navigating the Readability Conundrum: Code Quality > StylingIn the intricate landscape of coding, a common pitfall emerges — the indiscriminate use of decimals in code styling and constants. This…Dec 4, 2023Dec 4, 2023
React-Query Continuous PollingWhen you’re waiting for new data, but a socket isn’t availableNov 12, 2023Nov 12, 2023
Simple Infinite Scrollable List— MUI CompatibleI was recently looking for solutions to provide an infinite scrollable list component in React. While react-window is often used and…Oct 4, 2023Oct 4, 2023
Bad Coding Practices Series: Always MemoizingIt’s pretty astounding to me that so many ReactJS developers don’t quite understand the usage of useMemo(), often times using it in places…Aug 3, 2023Aug 3, 2023
Bad Coding Practices Series: TS Trojan Horse Union TypesIn this series, I’ll share some of the common anti-patterns I see in ReactJS code.Aug 1, 2023Aug 1, 2023
Async Singletons: A JS StoryWhile building the front-end of a DEX with one of crypto partners, we encountered an issue trying to optimize the performance of their SDK…Jul 27, 2023Jul 27, 2023
GraphQL-Shield (deprecated): How to *properly* implement Node server permissionsNote: I wrote this a year ago and neglected to publish. Since then, the plugin has been deprecated, but patterns described should still be…Jul 25, 2023Jul 25, 2023