News for hackers. Stuff that matters.

Firfi

Show HN: Hapsland – Realtime semantic advice on coding standards for the agents

https://hapsland.dearlordylord.com/

Agents ignore AGENTS.md mid-session.Then you tell them: hey, this is written in AGENTS.md.- "You're absolutely right!" (proceeds with fixing)But not anymore! This is a tool that would check the code immediately with a classifier (Jev etc.) and give the agent advice in the same turn.It catches some mistakes that are difficult to put into lint rules and excels at the cases when semantic...

( Read More... | no comments | on HN )
I was tired of agents ignoring AGENTS.md mid-session, then introducing invalid states (representable) into interfaces and building upon them, until finally being caught only by reviewer agents (only if!) or by manual reviews. Agents are much more cooperative when their hand is slapped right after a wrong assumption. That assumption doesn't poison the context no more after that. So, Hapsland was born. Behold.

TLDR: edit tools hook + semantic enhancement + decision api; full control over "what goes to Jev" and "what is saved to the disk"

Re:TypeScript compile-time dice rolls on Wednesday August 26, 2026 @11:32AM (#49450927)
Well, in some sense, yes. There's a seed, of course! It's not always 4 unless it IS : )
Re:TypeScript compile-time dice rolls on Wednesday August 26, 2026 @11:12AM (#49450576)
I needed to roll some "2d10 + 3"-like expressions in TypeScript, but found that there was no TypeScript dice library for some reason. There you go, then. Rolls both at compile time and at runtime.

TLDR

```ts const r = evaluate("d20", initializedState); // r knows it rolled "12" on type-level const v = valueOf(r); // value of v is 12, type is literal 12 ```

The code is controlled slop; tokens were burnt with mindfulness.

Re:Branded Types and Connascence of Execution on Tuesday August 25, 2026 @12:10PM (#49436414)
A very small writeup on branded types [in Typescript, but the approach is applicable to many other languages] in application to Connascence of Execution
Re:Guide to data tools landscape for developers on Thursday July 16, 2026 @11:31AM (#48935932)
Now I'll be thinking of "L" in ETL as "Land" and not "Load". Although the article doesn't propose that but uses a lot of "Land" terminology. "Load" => "load where? or FROM where?" - ambiguous "Land" => "land where?" - clear
Re:Model-Based Testing for Dungeons & Dragons on Friday April 10, 2026 @12:32PM (#47720558)
That's a great idea, in fact. I'll try it out next time. Maybe even a mix, because I do sometimes want to be very specific about some expressions and experiment with wordplay
Re:Model-Based Testing for Dungeons & Dragons on Friday April 10, 2026 @12:28PM (#47720509)
In my view, the edge cases like so (I think peasant railgun even mentioned in dm handbook) are more of a community problem than the game's. If it can be called a problem, of course - some tables enjoy those shenanigans, some don't.

What players and DMs are forgetting more often than not is the wording somewhere in the start of dm book: dm can overrule any rule. [to facilitate the game mood and direction that the table has agreed upon] [and a larger overarching problem is probably that there's often no such agreement before the game]

Re:Model-Based Testing for Dungeons & Dragons on Friday April 10, 2026 @12:22PM (#47720420)
That's the plan! D&D combat can be a slog sometimes, and when it is, that kills a lot of fun for me as a story-first approach adept. I'd really just ask about that or that rule from a chatbot, or have a list of weighted actions presented to me at my turn. That's where I'm moving towards - a good spec is hopefully what should enable that direction. Hopefully...
Re:Model-Based Testing for Dungeons & Dragons on Friday April 10, 2026 @12:03PM (#47720167)
Sorry for that, everyone. I did use the AI to help me with structure and English. I thought I'd proofread and edited that enough to be readable, but apparently it still smells. I'll update the wording soon.
Re:Model-Based Testing for Dungeons & Dragons on Friday April 10, 2026 @11:49AM (#47719943)
Right. Quint is not used in runtime and is not supposed to be. It's a strong testing layer. But there's much more to it. My bigger idea is that I would generate whatever implementation from it, hopefully, with an agentic loop - the MBT test is a natural feedback harness to leave coding overnight. So dnd-rust at some point, maybe? If someone develops a game, they would be able to generate a core logic in rust for bevy, in c# for unity, in (whatever it's used there) for godot. That's in an ideal world.
Re:Model-Based Testing for Dungeons & Dragons on Tuesday April 07, 2026 @09:15AM (#47674895)
Dungeons & Dragons rules are a spec spanning thousands of pages, not formalized, but thoroughly tested by the community. Moving them to a formal specification language (Quint) was an obvious next step. It worked and proved to also be a great LLM self-checker.
Re:Vibe code isn't meant to be reviewed on Monday June 16, 2025 @11:10AM (#44290336)
Thank you (twice!) for reading it. The idea wrapped in a scandalous topic indeed, but the PR process ambiguity was also what was the last straw for me to write it.
Re:Vibe code isn't meant to be reviewed on Monday June 09, 2025 @12:53PM (#44226438)
That's one of my biggest frustrations - I wasted a lot of time on reprompting. I was making myself stick to 100% LLM approach for a while, in order to learn.

I can't say for everyone, but for me it's hit-and-miss: if LLM starts with "Oh, sorry, you're right" that's a STRONG signal I have to take over right now or rethink the approach, or I get into the doom spiral of reprompting and waste half a day on something I could've done myself by that point, with only difference that after half a day with a coding agent I discovered no important domain or technical knowledge.

So, "how much" to me depends so very much on seemingly random factors, including the time of the day when Antropic decides to serve their quantised version instead of a normal one. On non-random too, like how difficult the domain area is, how well you described it in the prompt, and how well you crafted your system queries. And I hate it very much! At this point, I'm trigger-happy to take over the control and write the stuff that LLM can't in the "controlling package" and tell it to use it as an example / safety check.

Re:Vibe code isn't meant to be reviewed on Monday June 09, 2025 @12:36PM (#44226234)
It seems to me we have to find out how to figure out "what matters" to have the benefits that 10x vibe coder bros promise. I think we still have to review (despite my clickbait title), it's just different things that we are looking for in slop, and different type/amount of mental strain required. For more important libs, I guess we can "overshoot" a bit and put more time into vetting vibe code (and making it the guardrail code). While in the "next revolutionary React Todo App" the balance could be much farther towards vibe...
Re:Vibe code isn't meant to be reviewed on Monday June 09, 2025 @12:14PM (#44225986)
I actually do recommend reviewing manually - it's just very convenient to see when a person wrote something (then much more scrutiny can be applied) vs. when the work was outsourced to AI. I feel like there is another application though, but didn't mention it for it's not that clear to me yet: you can yet again estimate whether a new programmer can actually code or if they 10x YOLO their way slowly bringing codebase maintainability down.
Re:Vibe code isn't meant to be reviewed on Monday June 09, 2025 @11:59AM (#44225818)
Just feeling and experience, really. For me, if I spent time with the vibe code snippet and improved it until I can say "yes I would've written this" it's not slop anymore, even if it was written by Claude initially.

On the contrary, if I glanced over the code and could say "ok it doesn't look terrible, no obvious `rm -rf` and all", even if I changed a couple obvious mistakes, I still consider it vibe.

Re:Vibe code isn't meant to be reviewed on Monday June 09, 2025 @11:34AM (#44225544)
After some vibe coding frustrations, ups and downs, I found that splitting the code explicitly into well-curated, domain-heavy guidance code and code marked “slop” can solve a lot of frustration and inefficiency.

We can be honest in our PR, “yes, this is slop,” while being technical and picky about code that actually matters.

The “guidance” code is not only great for preserving knowledge and aiding the discovery process, but it is very strong at creating a system of “checks and balances” for your AI slops to conform to, which greatly boosts vibe quality.

Helps me both technically (at least I feel so) with guiding claude code to do exactly what I want (or what we agreed to!) and psychologically because there's no detachment from the knowledge of the system anymore.

Re:Mindfulness in TypeScript code branching, or how to if/else on Thursday January 09, 2025 @10:21AM (#42646518)
Hey folks, sometimes on PRs, I find that people aren't well-versed in the intricacies of code branching. So, I wrote a short article to educate fellow engineers and point to it sometimes so I don't have to explain things over and over.

Specifically, many people apparently don't know yet about exhaustiveness and the statement/expression dichotomy and how TS type system can help with it.

Re:TypeScript Validators Feature Comparison on Friday September 20, 2024 @10:49AM (#41602551)
An app with typescript validators features tests. The test case is based on real use cases but is kept generic. Tests more advanced stuff like algebraic data types, template literals, nominal types, and recursive types. It's not a performance/size benchmark; there's a really nice performance benchmark app that exists already (I linked it there).
Hey, sharing my colleague's @juanArias8 article on Solana Mobile here. He'll answer questions/comments in this thread if any popup.
Re:Kraken the Code: How to Build a Talking Avatar on Wednesday February 21, 2024 @11:58AM (#39456311)
We joked with my colleague that this post about real-time text-to-speech lipsync of his was either born too late because Sora is here to rule the industry or too early because his solution is tailored better than Sora for the specific task. Anyway, it's an ironic coincidence that he finished writing it before OpenAI released their video monster

Older »