Nicholas C. Zakas
humanwhocodes.com
Nicholas C. Zakas
@humanwhocodes.com
Human who codes. Creator of @eslint.org. Author. Speaker. Advisor. Coach. GitHub Star.

Mastodon: https://fosstodon.org/@nzakas

Blog: https://humanwhocodes.com

Coaching: https://humanwhocodes.com/coaching
Crosspost 1.0.2 has been released!

🔧 Replaced dotenv with native process.loadEnvFile for env handling

Details:
https://github.com/human...
November 11, 2025 at 10:19 PM
Did you know that fetch() can reject errors? Network errors or AbortSignals cause errors, so you never get a Response object and need to handle these separately. That's annoying so I created Safe Fetch, a wrapper that always returns a Response:
https://github.com/human...
November 11, 2025 at 10:13 PM
This is super weird. When I test Bredbox locally, it's able to correctly fetch and extract meta data from a YouTube URL. Once deployed to Cloudflare, I get nothing. (thinking emoji)
November 6, 2025 at 10:05 PM
I currently have three VS Code windows open:

1. My local file system
2. My WSL instance
3. A remote server via SSH

It's nearly impossible to tell the difference between them. Amazing work by the VS Code team.
November 6, 2025 at 8:09 PM
If you look closely, you may notice someone familiar in the day 2 keynote at GitHub Universe.

youtu.be/q1IxyisKcZI?...
Dream it in the morning, build it in the afternoon: Collapsing the distance from idea to impact
YouTube video by GitHub
youtu.be
October 31, 2025 at 1:56 PM
I've switched my go-to models now:

Claude Haiku 4.5 - general coding, implementation, incremental changes
GPT-5-Codex - designing a feature, debugging difficult problems
October 30, 2025 at 1:14 PM
It's almost time for my monthly newsletter. What should I write about?
October 29, 2025 at 9:27 PM
Pro tip: The GitHub MCP server has 94 tools. You probably don't need all of them. Enable just the ones you need to avoid confusing the LLM.
October 28, 2025 at 6:04 PM
Doctor: Your LDL is high. I think it’s time for a statin.
Me: I’d like to try adjusting my diet to first.
Him: We can try but I don’t think it will come down enough.
Me:
October 28, 2025 at 2:05 PM
Temporarily paused sending out new Bredbox invites after a user reported a large Pocket file failed to import. Got everything figured out and invites are going out again.

If you loved Pocket, sign up for a Bredbox invite:
https://bredbox.app
October 27, 2025 at 8:21 PM
While I generally enjoy using Cloudflare infrastructure, the worker subrequests limit is a pain to work with. Very little visibility into what counts as a subrequest and the limits aren’t enforced locally so it’s a huge time sink to debug “too many subrequests” errors.
October 24, 2025 at 10:59 PM
Excited to see VS Code Copilot also reading in CLAUDE.md for instructions. 🎉
October 24, 2025 at 8:18 PM
React Email is such a well-thought-out project. Absolute joy to use and my emails already look better.
October 22, 2025 at 9:35 PM
Pro tip: Did you accidentally `rm` a file you had open in this VS Code session? Open the command palette --> "Local History: Find Entry to Restore".

You're welcome.
October 22, 2025 at 7:26 PM
One of the hidden benefits of ESLint going multi-language is pulling in a new group of contributors. Since releasing the JSON, CSS, and Markdown plugins, we had over a dozen new consistent contributors and four became team members.
October 21, 2025 at 3:08 PM
I’ve been saying this for a while: any linter that wants to meaningfully compete with ESLint needs to support ESLint plugins. First Deno lint, now Oxlint:

voidzero.dev/posts/announ...
Announcing Oxlint JavaScript Plugin Support
Oxlint now supports plugins written in JavaScript. Developers can customize and extend Oxlint using JavaScript, but at a speed approaching Rust, due to 'raw transfer' between Rust and JS, and other br...
voidzero.dev
October 20, 2025 at 10:31 PM
I still use ChatGPT for most non-coding AI stuff. I feel like it always give the right level of detail. With Claude, it's like that friend who you ask what time it is and they tell you the history of timepieces.
October 20, 2025 at 9:27 PM
Shout out to @nicr.dev for creating this utility to bulk update npm packages to trusted publishing:
https://github.com/nicol...
October 20, 2025 at 2:37 PM
Pretty excited that full-text search just shipped on Bredbox! Feature parity with Pocket for managing bookmarks is getting very close. Only major feature left to implement is highlights.

Still invite-only while I'm building it out, invites sent weekly. Join the waiting list:
https://bredbox.app
October 17, 2025 at 4:08 PM
If you want your open source project to grow, you need to get comfortable with other people reviewing and merging pull requests without your involvement. This didn't come naturally to me and still feels weird, but there's no other way to keep up project velocity.
October 16, 2025 at 8:51 PM
Early thoughts on Claude Haiku 4.5: It seems just as fast as GPT-4.1 but with more agency and more capacity to understand complex situations. It has less of a tendency to go off on tangents than Sonnet 4.0 but still does from time to time.
October 16, 2025 at 4:56 PM
I am quickly approaching the need to declare GitHub notification bankruptcy. Can't get under 100 on a daily basis. 😓
October 15, 2025 at 7:10 PM
My current biggest time sink is Supabase's lack of true down migrations. `migration down` deletes all data, which essentially is like doing `db reset`.
October 15, 2025 at 6:59 PM
Latest VS Code update breaks my world. Copilot chat doesn't work in WSL. zsh terminal doesn't seem to be working in WSL either, it just hangs on every command.
October 15, 2025 at 2:24 PM
Twitter just renewed my annual Premium Pro plan without any advance notice for nearly $400. It's over 3x more expensive than last year and no way I would've knowingly paid that. 😠
October 15, 2025 at 2:15 PM