🏳️Human Who Codes - Human Who Codes

Website faviconnczonline.net

The Official Web Site of Nicholas C. Zakas

* * *

Recent Posts

------------

### [Introducing Mentoss: The fetch mocker](/blog/2025/01/introducing-mentoss-fetch-mocker)

_January 27, 2025_ - A new approach to mocking global fetch() calls that works in both browsers and server-side runtimes.

### [Present technical information using a storytelling framework](/blog/2024/09/present-technical-information-storytelling-approach)

_September 4, 2024_ - Streamline presentations to stakeholders using a storytelling approach.

### [How someone temporarily took over my subdomain](/blog/2024/05/someone-temporarily-took-over-subdomain)

_May 21, 2024_ - How an old DNS record set up my subdomain to be occupied by someone else.

### [Backing up my life with a Synology NAS](/blog/2024/04/backing-up-my-life-synology-nas)

_April 23, 2024_ - Data in a public cloud is out of your control, that's why I decided to create my own private cloud in my office.

### [Managing your to-do-list as a staff+ engineer](/blog/2024/04/managing-your-to-do-list-staff-engineer)

_April 20, 2024_ - With great agency comes responsibility – to yourself. Learn how to triage your projects and tasks into a structured to-do list.

### [What's the difference between JavaScript engines and JavaScript runtimes?](/blog/2024/03/javascript-engines-runtimes)

_March 26, 2024_ - Runtimes and engines are often incorrectly referred to as the same thing.

### [Introducing humanfs (formerly fsx): A modern filesystem API for JavaScript](/blog/2024/01/fsx-modern-filesystem-api-javascript)

_January 10, 2024_ - Filesystem APIs in JavaScript runtimes haven't been great for a long time. This is my attempt to make a better one.

### [JavaScript WTF: Why does every() return true for empty arrays?](/blog/2023/09/javascript-wtf-why-does-every-return-true-for-empty-array)

_September 8, 2023_ - How can a condition be satisified when there aren't any values to test?

### [Managing your interrupt rate as a tech lead, part 3: Office hours and appointment blocks](/blog/2023/08/managing-interrupt-rate-tech-lead-office-hours-appointment-blocks)

_August 1, 2023_ - You can more easily eliminate interruptions when you create a specific time for them.

### [Managing your interrupt rate as a tech lead, part 2: Time blocking](/blog/2023/07/managing-interrupt-rate-tech-lead-time-blocking)

_July 25, 2023_ - Your calendar is a place where you should be in control and not be at the whims of others who send you invites.

[« Older Entries](/blog/2)

Additional Information

======================

My Books

--------

*   [](https://www.lulu.com/en/us/shop/nicholas-c-zakas/understanding-javascript-promises/paperback/product-2yvnqn.html)

*   [](https://geni.us/hwc-es6-book)

*   [](https://geni.us/hwc-oopjs-book)

*   [](https://geni.us/hwc-mjs-book)

Recent Snippets

---------------

*   [Passing GitHub Actions workflow step output to JavaScript](/snippets/2025/02/passing-github-action-step-output-to-script/)

*   [Publishing to JSR using release-please](/snippets/2024/03/publishing-to-jsr-release-please/)

*   [How to setup a known\_hosts file for a Jenkins pipeline job](/snippets/2023/11/how-to-setup-known-hosts-jenkins-pipeline/)

*   [Mimicking \_\_dirname and \_\_filename in ESM modules in Node.js](/snippets/2023/01/mimicking-dirname-filename-nodejs-esm/)

*   [How to add npm packages for client-side use in Eleventy](/snippets/2022/02/eleventy-npm-modules-client/)

*   [Creating a new user with an SSH key on Linux](/snippets/2021/03/create-user-linux-ssh-key/)

*   [How to setup and deploy a web application on Dokku](/snippets/2021/02/how-to-setup-deploy-web-application-dokku/)

*   [How to regain Jenkins web access after being locked out](/snippets/2021/02/how-to-regain-jenkins-web-access-after-lockout/)

*   [Create TypeScript declarations from JavaScript and JSDoc](/snippets/2020/10/create-typescript-declarations-from-javascript-jsdoc/)

*   [How to read environment variables in Deno using JavaScript](/snippets/2020/10/read-environment-variables-deno/)

Archives (21 Years)

-------------------

*   [2025](/blog/2025/)

*   [2024](/blog/2024/)

*   [2023](/blog/2023/)

*   [2022](/blog/2022/)

*   [2021](/blog/2021/)

*   [2020](/blog/2020/)

*   [2019](/blog/2019/)

*   [2018](/blog/2018/)

*   [2016](/blog/2016/)

*   [2015](/blog/2015/)

*   [2014](/blog/2014/)

*   [2013](/blog/2013/)

*   [2012](/blog/2012/)

*   [2011](/blog/2011/)

*   [2010](/blog/2010/)

*   [2009](/blog/2009/)

*   [2008](/blog/2008/)

*   [2007](/blog/2007/)

*   [2006](/blog/2006/)

*   [2005](/blog/2005/)

*   [2004](/blog/2004/)

* * *