Nicholas C. Zakas's Avatar

Nicholas C. Zakas

@humanwhocodes.com.bsky.social

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

5,278 Followers  |  46 Following  |  948 Posts  |  Joined: 29.05.2023  |  1.9966

Latest posts by humanwhocodes.com on Bluesky

Is all of your agent usage metered? Curious how youโ€™re quantifying cheaper.

08.08.2025 22:25 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yeah, thereโ€™s an issue with the terminal that theyโ€™re looking at fixing. Not model-specific.

08.08.2025 22:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Gave GPT-5 its first real debugging test: pasted logs, it traced the error to its source in the dependency tree. GPT-4.1 chokes on this type of thing.

08.08.2025 16:56 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

First day using Copilot with GPT-5 and it's pretty impressive. Only issue for me is that it got stuck in a loop of running the same tests over and over again. The changes were already correct and all tests were passing, not sure what it was doing.

08.08.2025 15:57 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

You should! I think more people need to be talking about this approach.

07.08.2025 12:48 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Most of the work on Bredbox (my Pocket clone) has centered around proper metadata extraction from added URLs. After a couple of weeks of back-and-forth with Gemini 2.5 Pro, we finally landed on a solution I'm satisfied with. Now the fun part: getting the UI working.

06.08.2025 21:28 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I'm experimenting with adding a new step to my persona-based AI software development flow: the reviewer. For more complex changes, I'm using Gemini 2.5 Pro to evaluate the implementation against the tech spec to find inconsistencies. So far I'm liking this.

06.08.2025 20:33 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Gotcha. Bug fixes usually donโ€™t require any docs unless thereโ€™s a question about the correct behavior. At that point, Iโ€™m can be helpful to refer back to the spec defining the feature.

If thereโ€™s a departure from the specified behavior, then a decision doc is helpful to leave a paper trail.

06.08.2025 13:39 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Iโ€™m not familiar with the term โ€œproblem statementsโ€ in this context so not sure what youโ€™re asking.

05.08.2025 22:27 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

GPT-4.1 has started removing blank lines and comments from parts of my code unrelated to its edits. When I ask it to fix it, it is unaware it has made such edits. ๐Ÿค”

05.08.2025 20:52 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Thanks. ๐Ÿ™

05.08.2025 13:38 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Lately, my incoming coaching client applications indicate they learned of me through ChatGPT. It used to almost always be through Google.

04.08.2025 15:48 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

GPT seems particularly bad at this for some reason.

01.08.2025 22:36 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Not really the point. The point is whether or not the model obeys instructions the first time or not.

01.08.2025 22:35 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I'd like to propose a new AI benchmark: The number of times you need to say "do not use emdashes" before the model produces content without emdashes.

I'm looking at you, GPT-4o.

01.08.2025 18:45 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

The thing I enjoy the most about debating designs with Gemini 2.5 Pro is how it asks me to consider different scenarios when explaining why I'm wrong. That helps me understand its logic and see if my approach works in those scenarios.

31.07.2025 20:36 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Happy "use up all your remaining premium AI requests" day for July!

31.07.2025 18:20 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

AI is great, but sometimes a well-crafted regular expression find-and-replace is a better choice.

31.07.2025 15:55 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Thanks to everyone who helped us revise this advisory.

We on the @eslint.org team are also reviewing our policies around issuing security advisories so we can better communicate real security issues.

31.07.2025 15:18 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I ended up writing up a database design spec for Bredbox (my Pocket clone) because I couldn't get one I liked with AI. I then asked Gemini 2.5 Pro to critique it. We debated back and forth on a couple of points, and it was right about everything. Amazing.

30.07.2025 21:07 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

If you want to be successful as a software engineer going forward, you're going to need to write and read specs.

30.07.2025 20:28 โ€” ๐Ÿ‘ 6    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Yeah, we worked to get a โ€œlowโ€ severity with GitHub. That was pretty easy.

29.07.2025 22:15 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

GPT-4.1 threw me a new curveball today: "Because this part requires human judgment, I'll tell you the next steps for you to complete." ๐Ÿคฏ

29.07.2025 21:04 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I wish when someone commented on an open source issue saying, "we need this at our company," it also included, "and we're willing to sponsor the project to make it happen." There's still way too much expectation of free labor in open source from for-profit companies.

29.07.2025 16:15 โ€” ๐Ÿ‘ 18    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I donโ€™t have the time or energy to fight, I just want there to be some acknowledgement that dev dependencies running locally donโ€™t represent a significant security issue.

29.07.2025 13:55 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Experimented a bit with GPT-4.1 Beast Mode and ultimately found myself falling back to my PRD -> tech spec -> implement approach. 4.1 just couldn't figure out the complete picture for some fairly basic features.

28.07.2025 21:22 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Do any of my followers work at Snyk? I'd like to talk to someone about this report, as I think it's unnecessarily alarmist given how this package is actually used:
https://security.snyk.io/vuln/SNYK-JS-ESLINTPLUGINKIT-10847878

28.07.2025 15:33 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 1

Yeah, actually tried a new footer but didnโ€™t like the result. Will try again next week.

25.07.2025 22:29 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Before: Screenshot of the Human Who Codes website homepage showing the main navigation menu (Books, Reading, Coaching, Newsletter, Donate, Contact) and a Recent Posts section with blog post titles and excerpts including 'A persona-based approach to AI-assisted software development', 'Post to social media using Claude Desktop and Crosspost', 'Introducing Mentoss: The fetch mocker', and others. The right sidebar displays book covers for JavaScript titles and a Recent Snippets section with links to various technical tutorials.

Before: Screenshot of the Human Who Codes website homepage showing the main navigation menu (Books, Reading, Coaching, Newsletter, Donate, Contact) and a Recent Posts section with blog post titles and excerpts including 'A persona-based approach to AI-assisted software development', 'Post to social media using Claude Desktop and Crosspost', 'Introducing Mentoss: The fetch mocker', and others. The right sidebar displays book covers for JavaScript titles and a Recent Snippets section with links to various technical tutorials.

After: Updated view of the Human Who Codes website showing the same layout but now displaying individual blog post cards in a more detailed format. Each post card shows the full title, description, author photo of Nicholas C. Zakas, publication date, estimated reading time, and topic tags. The first post about AI-assisted software development shows tags for 'AI', 'Claude', and 'GPT'. The second post about Crosspost shows tags for 'Open Source', 'AI', and 'Claude'. The third post about Mentoss shows tags for 'JavaScript', 'Open Source', and 'Fetch'. The sidebar content remains the same with book covers and recent snippets

After: Updated view of the Human Who Codes website showing the same layout but now displaying individual blog post cards in a more detailed format. Each post card shows the full title, description, author photo of Nicholas C. Zakas, publication date, estimated reading time, and topic tags. The first post about AI-assisted software development shows tags for 'AI', 'Claude', and 'GPT'. The second post about Crosspost shows tags for 'Open Source', 'AI', and 'Claude'. The third post about Mentoss shows tags for 'JavaScript', 'Open Source', and 'Fetch'. The sidebar content remains the same with book covers and recent snippets

I unleashed Claude on my blog and told it to "make it prettier." Here's the result. (now live at humanwhocodes.com).

25.07.2025 21:26 โ€” ๐Ÿ‘ 7    ๐Ÿ” 0    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 0

Copilot agent spent a half hour investigating this issue and figured out it could make a one-line change to solve the problem. That's exactly what a good engineer would do. https://github.com/humanwhocodes/tailwind-csstree/pull/14

25.07.2025 15:29 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@humanwhocodes.com is following 20 prominent accounts