HNHacker News
TopNewBestAskShowJobs

tobyhinloopen

2,961 karma · joined August 29, 2014

submissionscomments
tobyhinloopen··on I scanned all of GitHub's "oops commits" for leaked secrets
Yes, because paying customers will have the content removed but it will continue to be available for pirates.
tobyhinloopen··on I scanned all of GitHub's "oops commits" for leaked secrets
Anything pushed is to be considered leaked. You might as well leave the commit in and invalidate the secret.
tobyhinloopen··on The Effect of Noise on Sleep
I find this hard to believe this is universally true. I sleep much worse without noise. I use a fan or a speaker to add noise to the room. If I don't, I wake up constantly.
tobyhinloopen··on Gemini CLI
No worries! hah
tobyhinloopen··on Gemini CLI
Yeah I also just gave up. I'll revisit it in a week or so.
tobyhinloopen··on Gemini CLI
That's an interesting comment - I realized I have a gemini api key in my env.

`GEMINI_API_KEY="" gemini` + login using my Google account solves the problem.

tobyhinloopen··on Gemini CLI
At some point, LLMs just get distracted and you might be better off throwing it away and restarting hah.
tobyhinloopen··on Gemini CLI
I literally wrote "hello" and got this:

> hello

[API Error: {"error":{"message":"{\n \"error\": {\n \"code\": 429,\n \"message\": \"Resource has been exhausted (e.g. check quota).\",\n \"status\": \"RESOURCE_EXHAUSTED\"\n }\n}\n","code":429,"status":"Too Many Requests"}}] Please wait and try again later. To increase your limits, request a quota increase through AI Studio, or switch to another /auth method

⠼ Polishing the pixels... (esc to cancel, 84s)

tobyhinloopen··on Define policy forbidding use of AI code generators
I think a future with LLM coding requires much more tests, both testing happy and bad flows.
tobyhinloopen··on Phoenix.new – Remote AI Runtime for Phoenix
Did you consider creating a LLM.txt and some variants for Phoenix?

Some libraries have text-based documentation for LLMs which works great in my experience.

tobyhinloopen··on Phoenix.new – Remote AI Runtime for Phoenix
LLMs don’t know Elixir/Phoenix very well
tobyhinloopen··on Phoenix.new – Remote AI Runtime for Phoenix
My primary concern with Phoenix is how bad it performs in LLMs and I basically went back to Node/React/Rails for LLMs.

This is very exciting and I’ll check it out!

tobyhinloopen··on Why agents are bad pair programmers
Sometimes but usually not anymore. Highly depends on the model, Claude Sonnet 3.7 has been the most reliable, but each model has its own quirks
tobyhinloopen··on Why agents are bad pair programmers
One task per session, sometimes split into multiple smaller tasks in the same session if they’re closely related.

Usually it’s like “implement a worker/class/module for x” (which will act as a model) and when it did that successfully (with tests and such) I commit everything and I continue the session building the GUI, since the GUI requires deep knowledge of the thing it just made.

If I tell it to make the GUI and worker at the same time, it will usually be poorly written with logic in the views rather than in a model, and it will be tested through views while I want dedicated tests for the model

tobyhinloopen··on Why agents are bad pair programmers
Yes, I inject multiple documents like that before every session. The documents I inject are relevant to the upcoming task.

The one I shared is a variant of the “Base” document, I have specific documents per use case. If I know I’m adding features (controller actions), I inject a prompt containing documentation how to add routes, controllers, controller actions, views, etc and how to format views, what helpers are commonly used.

If I’m working on APIs, I have API specific prompts. If I’m working on syncs with specific external services, I have prompts containing the details about these services.

Basically I consider every session a conversation with a new employee. I give them a single task and include all the relevant documentation and guidelines and wish them good luck.

Sometimes it takes a while, but I generally have a second issue to work on, in parallel. So while one agent is fixing one issue, I prepare the other agent to work on the second. Very occasionally I have 3 sessions running at the same time.

I barely write code anymore. I think I’ve not written a single line of code in the last few work days. Almost everything I submit is written by AI, and every time I have to guide the LLM and I expect the mistake to be repeated, I expand the relevant prompt document.

Last few days I also had the LLM update the prompt documents for me since they’re getting pretty big.

I do thoroughly review the code. The generated code is different from how I would write it, sometimes worse but sometimes better.

I also let it write tests, obviously, and I have a few paragraphs to write happy flow tests and “bad flow” tests.

I feel like I’m just scratching the surface of the possibilities. Im writing my own tools to further automate the process, including being able to generate code directly on production and have different versions of modules running based on the current user, so I can test new versions and deploy them instantly to a select group of users. This is just a wild fantasy I have and I’m sure I will find out why it’s a terrible idea, but it doesn’t stop me from trying.

tobyhinloopen··on Why agents are bad pair programmers
Hah the need to add comments is pretty resilient, that’s true.
tobyhinloopen··on Why agents are bad pair programmers
I usually use huge context/prompt documents (10-100K tokens) before doing anything, I suppose that helps.

I’ll experiment with comments, I can always delete them later. My strategy is to have self-documenting code (and my prompts include a how-to on self-documenting code)

tobyhinloopen··on Why agents are bad pair programmers
Many of my prompts include _somewhat_ sensitive details because they're tailor-made for each project. This is a more generic prompt I've been using for my code generation tool:

https://gist.github.com/tobyhinloopen/e567d551c9f30390b23a0a...

More about this prompt:

https://bonaroo.nl/2025/05/20/enforced-ai-test-driven-develo...

Lately, I've been letting the agent write the prompt by ordering it to "update the prompt document with my expressed preferences and code conventions", manually reviewing the doc. Literally while writing this comment, I'm waiting for the agent to do:

> note any findings about this project and my expressed preferences and write them to a new prompt document in doc, named 20250610-<summary>.md

I keep a folder of prompt documents because there's so many of them (over 30 as of writing this comment, for a single project). I have more generic ones and more specific ones, and I usually either tell the agent to find relevant prompt documents or tell the agent to read the relevant ones.

Usually over 100K tokens is spent on reading the prompts & documentation before performing any task.

Here's a snippet of the prompt doc it just generated:

https://gist.github.com/tobyhinloopen/c059067037a6edb19065cd...

I'm experimenting a lot with prompts, I have yet to learn what works and what doesn't, but one thing is sure: A good prompt makes a huge difference. It's the difference between constantly babysitting and instructing the agent and telling it to do something and waiting for it to complete.

I had many MRs merged with little to no post-prompt guidance. Just fire and forget, commit, read the results, manually test it, and submit as MR. While the code is usually somewhere between "acceptable" and "obviously AI written", it usually works just fine.

tobyhinloopen··on Why agents are bad pair programmers
With that logic, I should ask the AI to _increase_ the amount of comments. I highly doubt the comments it generates are useful, they're usually very superficial.
tobyhinloopen··on Why agents are bad pair programmers
Just add to the prompt not to include comments and to talk less.

I have a prompt document that includes a complete summary of the Clean Code book, which includes the rules about comments.

You do have to remind it occasionally.

tobyhinloopen··on Why agents are bad pair programmers
This guy needs a custom prompt. I keep a prompt doc around that is constantly updated based on my preferences and corrections.

Not a few sentences but many many lines of examples and documentation

tobyhinloopen··on Why agents are bad pair programmers
You can totally do that. Just tell it to.

If you want an LLM to do something, you have to explain it. Keep a few prompt docs around to load every conversation.

tobyhinloopen··on LLMs and Elixir: Windfall or deathblow?
Ive seen some new tools use “docs for LLMs”, maybe Elixir / Phoenix can provide these if they haven’t already.

Functional programming works great on LLMs because there’s no hidden side effects. I let my LLM tools write functional style NodeJS but that’s only because Node is easiest to test with.

tobyhinloopen··on LLM function calls don't scale; code orchestration is simpler, more effective
Some people believe that if you're not doing this now, you might be out of the industry again pretty soon.
tobyhinloopen··on Ruby 3.5 Feature: Namespace on read
That's because you are aware of the limitations. Ruby is really powerful and allows you to manipulate existing modules, but you shouldn't do that because it will leak everywhere.

This namespaces feature allows you to manipulate existing globals, but keep it isolated in your own namespace. That seems pretty good to me :) Because it remains isolated, you can also use these features more aggressively.

tobyhinloopen··on Unity’s Open-Source Double Standard: the ban of VLC
Unity again showing their hostility. Perma-banning developers for this reason is crazy.
tobyhinloopen··on The Turkish İ Problem and Why You Should Care (2012)
I think you're giving this character a bit too much credit here, I feel like the violent attack might have some causes unrelated to transliteration of some characters.
tobyhinloopen··on A senior Apple exec could be jailed in Epic case
The big difference between Steam and Apple App Store, is that developers can choose to deploy on Steam, and users actually want to use Steam, while Apple has locked down their stuff and forces you to use it.
tobyhinloopen··on Reflecting on a Year of Gamedev in Zig
It is.
tobyhinloopen··on Reflecting on a Year of Gamedev in Zig
SO is a very beginner-unfriendly platform. Every time I used it, I either did not get any replies or had my question altered, deleted, removed, closed etc. I have no clue why anyone still uses it.
← PreviousPage 6 of 34Next →