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
Reposted by Nicholas C. Zakas
Something similar happened recently with @preactjs.com and they ended up updating their Code of Conduct to be more explicit about transparency in LLM usage: github.com/preactjs/pre...
November 25, 2025 at 3:04 PM
Whenever I try a Google AI web app, they almost always have scrollbars missing. Both Jules and Stitch have clearly missing scrollbars for me in both Edge and Firefox. I need to use page up/down keys to navigate. Anyone else?
November 25, 2025 at 5:38 PM
TIL you can Shift+right click on the terminal in VS Code to get a context menu that includes "Add Terminal selection to chat". (Windows only) 🎉
November 25, 2025 at 3:16 PM
Seeing more AI-generated issues on ESLint repos. Most of the time, people submit them without actually reading or verifying the generated content, which wastes the team's time. Don't do this. If you use AI to generate details for an issue, at least review it for correctness before submitting.
November 25, 2025 at 2:56 PM
A frequent question I get when asking companies to sponsor ESLint is, "what will this get us?" That's one way to think of it. Another way is to think of it as backpay for all the years you've already been using ESLint without contributing.
November 24, 2025 at 6:52 PM
Tip: Use GitHub Copilot Coding Agent (or Jules, or whatever you like) to automatically create repos that contain a simplified reproduction case for the bug you're filing. Maintainers will thank you.
November 21, 2025 at 8:07 PM
It seems with the intro of nano banana, Gemini has lost its ability to generate SVGs. Even though it claims to be doing so, and even though its thinking indicates it is creating an SVG, the final result is always a PNG.
November 21, 2025 at 4:56 PM
I asked ChatGPT to make an updated logo for Bredbox. I described it as a "happy piece of toast." Here's the before and after. What do you think?
November 20, 2025 at 10:03 PM
Interestingly, I found Gemini 3 Pro to do a subpar job generating a tech spec using my existing prompt. It missed some key details. I typically use GPT-5-Codex for this and still will going forward.
November 20, 2025 at 4:23 PM
First few tries with Gemini 3 Pro and I'm impressed. The attention to detail is excellent. Whereas other models frequently miss files in a multi-file refactor, Gemini 3 Pro got them all on the first try.
November 19, 2025 at 10:33 PM
TIL there's a browser API for highlights.
https://developer.mozill...
November 19, 2025 at 10:08 PM
Here's the tech stack for Bredbox (my Pocket clone):

🪶 Supabase for database + auth
⚡ Cloudflare Workers for the backend
🎨 Tailwind 4 for styling
⚛️ Preact for components
🌌 Astro as the app layer
🔗 Hono for API services

I'm enjoying it so far.

Sign up for the waiting list here:
bredbox.app
Bredbox - Keep your links fresh
bredbox.app
November 19, 2025 at 6:53 PM
Creating a proxy cache in Cloudflare workers is so easy and straightforward. fetch + the Web Cache API is all you need.
November 17, 2025 at 10:33 PM
Another take on the problem of fetch() sometimes returning a response and sometimes throwing an error: what if it always returned an object containing either response or error?
https://github.com/human...
November 12, 2025 at 9:56 PM
safe-fetch 1.1.0 has been released!

✨ Errors now serialize as JSON in Response body

Details:
https://github.com/human...
November 12, 2025 at 9:52 PM
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