Blog
Rambling, ranting, and raving… But mostly just whatever seems important in the moment about JavaScript, frontend development, and life surrounding me.
-
Code editors are very personal
I just spent far too long trying to bend Zed to my will. It reminded me of how I needed multiple weeks on and off configuring and reconfiguring VSCode to work for me. It is rare that the defaults provided in a code editor work for me. So I tried, and I’ve given up for a few very important (to me) reasons…
-
Introducing oneRepo: the JavaScript & TypeScript monorepo toolchain for safe, strict, & fast development
I am thrilled to announce the first major version of oneRepo. Many years of experience creating monorepo tooling for high performance frontend, JavaScript, and TypeScript teams at major organizations has led to the creation of this command-line interface, an API, and a toolchain for better, safer, and faster monorepos.
-
There can be only one Array<T>
This little hill I will forever defend. The shorthand syntax for Arrays in TypeScript is unnecessary and unclear.
-
Review: Things I wanted to see in JavaScript and Frontend development in 2023
Taking a look back at the things I was hoping to see more of in 2023 for JavaScript and frontend development.
-
App Defaults 2023
Here’s a little trend for 2023 that’s going around: listing out the default apps (and tools!) that I’ve used in 2023. I enjoy this little go around, as I’ve been getting to discover new apps that I might want to try.
-
We use type safety not on preference, but because we want to make money
A short recounting of the thing that changed my mind forever on strict type checking for JavaScript.
-
Import path aliasing is a crutch for poor architecture
Path aliasing, sometimes referred to as import or module resolution, in the earliest and most naïve sense, is a method of overloading the Node Require Resolution Algorithm so that it first looks in some particular defined folders for modules of a given name before looking for installed modules of the same name in
node_modules
folders. While this seems handy at first glance, in practice, it’s is an unnecessary maintenance overhead in large distributed teams and a sign of poor code organization and architecture. -
The line between writing functions yourself and using open source modules
When was the last time you stopped to think about the cost of a new third-party package that you’re adding into your process?
Where do you recommend balancing between “not invented here” syndrome and using packages just because they exist? I always come back to the “left-pad incident” as an extreme example to avoid the latter, but where should we be drawing the line between the two?
Let’s take a moment to break down considerations that I try to make when balancing writing code against pulling in third-party modules…
-
A clean codebase is a happy codebase
How do so many people just ignore cruft in their projects and keep moving forward? I was fighting with a bunch of
package.json
files recently that had 10s of dependencies that were completely unused. Why was it left this way?