Use Named Params, not Positional Params, in TypeScript

2025-09-21
Functions with long positional signatures age poorly. The parameter object pattern (named params) fixes most of that with better call-site clarity and safer evolution...

'Do' More With 'Run'

2023-05-19
I recently wrote about Async Pool, one of my favorite JavaScript / TypeScript helpers, and today I want to share an even simpler yet extremely useful utility...

Async Pool: Promise.all for Bulk Operations

2023-01-16
Promises and async/await in JavaScript are awesome. They give developers straightforward primitives to build complex concurrent code without threading. Because most concurrent code is I/O bound, JavaScript's single-threaded execution model is usually not the blocker when running complex operations...

My Experience Switching to Dvorak

2020-07-23
Five years ago, my friend and I challenged each other to learn and master a new keyboard layout during our summer internships. Five years later, I submit my report on the benefits and quirks of using Dvorak every day of my life....

In Us We Trust

2020-05-20
At a "Reopen Massachusetts" protest recently I saw a bumper sticker that read: "God gives rights, not Govt". The protesters were demonstrating for their individual rights to move about and do business as usual during the current public health crisis. However, in the context of a protest for individual rights, this specific bumper sticker struck me as hypocritical...

Riding A Razor Scooter As An Adult

2019-09-30
When I asked around my office to see if I could have anyone's old Razor scooter, I did not expect to become a 'Scooter'. Not a literal scooter, but "one who scoots"...

Procuring a Student Visa

2018-01-09
I received the information about procuring a student visa in mid-October and shelved it immediately. 'Next week', I thought. But, when I finally read it the next week, it was too late....