Recent submissions

Comment · 1 month ago
Info:

  Location: Ottawa, Canada
  Remote: Yes
  Willing to relocate: No

  Technologies: Recently a lot of Typescript/Javascript, PHP.  Web and mobile development, both frontend and backend.  I have a lot of Java and C# under my belt, but it's getting a bit dated and I kinda miss it.

  Résumé/CV: https://plaintextdev.com/wp-content/uploads/2026/10/James-Beninger-Senior-Full-Stack-Software-Developer.pdf
  Email: [email protected]
A senior developer with 20 years of experience. I've built enterprise software for the Canadian government, worked at TripAdvisor on the review-processing team, and I've been freelancing for about a decade. I've become an expert at taking a design and making it work on real devices, but I'm also the guy people call when their in-house developers can't figure something out.

I'm looking for regular remote work, and I'd be happy to discuss any short-term freelancing positions as well. If you need a guy who can just do the thing, I'm your guy.

Comment · 1 month ago
It's possible I invented skills before they were common. I've always had some instructions in agents.md that are something like "when working with typescript, read prompts/conventions.ts.md, when working with our fooBar module, read prompts/foobar.md"

I'm not sure if this differs greatly from skills. Maybe my wording makes these "skills" less likely to be read at the correct times, but I haven't seen an issue.

Comment · 1 month ago
I'd be worried the standard wouldn't include my favourite carplay feature, where it plays the same song from my phone on startup no matter how I configure it.
Comment · 1 month ago
That's not a generator tell when used judiciously. It's a genuinely useful construction that's been poisoned by overgeneration.
Comment · 1 month ago
Lose anonymity and bring back key-signing parties. Maybe you can't guarantee that everything is human-generated, but at least you know the chain of trust that leads to the human that signed off.

Yes, I'm aware of the irony of creating a darknet that only works by removing anonymity.

Comment · 2 months ago
As someone who spends way too much time searching for the best abstractions, absolutely this is still true.

I often have a long back and forth with codex to explore the problem space and settle on the best abstractions. Occasionally it will make a suggestion that helps me, but for the most part it's reviewing while I'm in the driver's seat.

Contrast this to simply giving it a function name and a vague description of what the function will do. I'll generally accept its output with a few refinements.

But for larger project structure and metaphors, it falls flat, and often lands on a solution that's going to be a maintenance nightmare or result in endless repetition across not-quite-the-same cases. I've never seen it happen upon an appropriate abstraction that can cleanly cut through the nonsense.

Comment · 2 months ago
Also, attacking good naming and structure belies their claim of knowing anything about dev at all. If you can't tell the quality difference between a well-structured program and spaghetti code consisting of single-letter variables, you don't belong in software.

Honestly, from the tone, I suspect the gp post is just trying to get a rise.

Comment · 3 months ago
This analogy is one of the best I've seen. It's going to live in my head a long time, I think.
Comment · 3 months ago
Just want to "me too" this. I have two weeks a year where I unplug completely from my daily work and it often results in a new project or skill that I wouldn't have thought of otherwise
Comment · 4 months ago
Glad I could help. I've been trying to use coding agents more than makes sense this year to get a feel for the tech. There's no good set of guidelines yet and everything feels like secret knowledge.

If you're using a coding agent like codex or claude code, I've also seen marked improvement by telling the agent to keep a journal of decision points, and every file read or written. And then, here's the important part, read the last five journals before starting. It primes the context with whatever you were working on and keeps a new session more focused that if it has to go searching for keywords through the whole codebase. It can also be an interesting read.

Comment · 4 months ago
But... it shouldn't. People are arguing that a bad abstraction is better than none at all. Badly-implemented abstraction is the same. If you hit code that is duplicated organically a dozen times, you don't make it a baker's dozen. You spend a bit of extra time at least stubbing out the abstraction so future organic duplication can at least share an entry point. Abstractions grow organically too, in well-tended codebases.
Comment · 4 months ago
The gold standard is code samples. I've got 1000-line convention documents with very simple rules like "Early returns on a single line". Llms sometimes ignore these or misinterpret them in unusual ways.

But if I tell it "read these files that use the same conventions" first, there's no misunderstanding, and the agent also picks up the general "tone" of the code. I have very little to tweak if I've defined the problem well.

Comment · 5 months ago
Having worked with LLMs, you absolutely can golf most (>50%) lines of code out of existence. I regularly do, because it picks the wrong abstractions and sticks with them.
Comment · 6 months ago
I think that AGI will make heavy use of LLMs. It's not a straight path, but a component.

To compare with the human brain, have you ever been so drunk you don't remember the night, but you're told afterwards you had coherent conversations about complex topics? There's some aspect of our minds that is akin to a next-token-generator, pulling information from other components to produce a conversation. But that component alone is not enough to produce intelligence.

Comment · 8 months ago
What a weird thing to say.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton