HNHacker News
TopNewBestAskShowJobs

spoiler

2,756 karma · joined January 15, 2013

Software engineer by day. Aspiring artist by night.

Also, I'm very passionate about DX and UX...

And I like long walks on the beach.

submissionscomments
spoiler··on Claude Code Routines
It frequently gets indentation wrong on projects, then tries to write sed/awk scripts. Can't get it right, then write a python script that reformats the whole file on stdout, makes sure the indentation is correct, then writes requests an edit snippet.

And you might be thinking. Well, you should use a code formatter! But I do!

And then you might say, well surely you forgot to mention it in you AGENTS/CLAUDE file. Nope, it's there, multiple times even in different sections because once was apparently not enough.

And lastly, surely if I'm watching this cursed loop unfold and am approving edits manually, like some bogan pleb, I can steer it easily... Well, let me tell ya... I tried stopping it and injecting hints about the formatter, and it stick for a minute before it goes crazy again. Or sometimes it rereads the file and just immediately fucks up the formatting.

I think when this shit happens, it probably uses like 3x more tokens.

For a Rust project, it recently stated analysing binaries in the target as directory a first instinct, instead of looking at the code...

Good grief.

spoiler··on Claude Code Routines
Honestly, I thought it was a skill issue too, but it just turns out I wasn't using it enough.

I started a new job recently, so I'm asking it a lot of questions about the codebase, sometimes just to confirm my understanding and often it came up with wrong conclusions that would send me down rabbit holes only to find out it was wrong.

On a side project I gave it literally a formula and told it to run it with some other parameters. It was doing its usual "let me get to know the codebase" then a "I have a good understanding of the codebase" speech, only to follow it up with "what you're asking is not possible" I'm like... No, I know it's possible I implemented it already, just use it in more places only to get the same "o ye ur right, I missed that... Blabla"

Yeah, it's gotten pretty bad...

spoiler··on Now is the best time to write code by hand
Curious, what do you normally use? I had to write a few timing sensitive MC drivers and the only way I knew how onto do that reliably was using assembly. But granted, it wasn't _often_, just more than I expected (especially for someone who doesn't normally do that low level stuff, this was for an art project)
spoiler··on The cult of vibe coding is dogfooding run amok
Yes, and to add, in case it's not obvious: in my experience the maintenance, mental (and emotional costs, call me sensitive) cost of bad code compounds exponentially the more hacks you throw at it
spoiler··on The Claude Code Source Leak: fake tools, frustration regexes, undercover mode
I have been doing this for years, especially for libraries (internal or otherwise), anything that's `pub`/`export`, or gnarly logic that makes the intent not obvious. Not _everything_ is documented, but most things are.

I'm doing it because I know how much I appreciate well-written documentation. Also this is a bit niche, but if you're using Rust and add examples to doc-comments, they get run as tests too.

Also given we both managed to produce more than one sentence, and include capital letters in our comments, it's entirely possible both of us will be accused of being an AI. Because, you know... People don't write like this, right?

spoiler··on JSSE: A JavaScript Engine Built by an Agent
There's many JS implementations out there. Quality kind depends on what you need, and there's some engines more or less complete in which quirks are supported.

And for example, v8 doesn't make much sense in embedded contexts

spoiler··on Claude Code's source code has been leaked via a map file in their NPM registry
Random aside: I've seen a 2015 game be accused of AI slop on Steam because it used a similar concept... And mind you, there's probably thousands of games that do this.

First it was punctuation and grammar, then linguistic coherence, and now it's tiny bits of whimsy that are falling victim to AI accusations. Good fucking grief

spoiler··on I am definitely missing the pre-AI writing era
I know this is a spicy take, but it probably just means you're more eloquent in your writing than most netizens...

And that's not really a hard bar to clear if you look at how people write comments online (including places like GitHub).

Anyone that uses punctuation, and capitalises words, probably automatically gets past the 70% confidence line.

spoiler··on Pretext: TypeScript library for multiline text measurement and layout
I recently battled this and reverted to using DOM measurements. In my case the measurement would be off by around a pixel, which caused layout issues if I tried rendering the text in DOM. This was only happening on some Linux and Android setups
spoiler··on Wine 11 rewrites how Linux runs Windows games at kernel with massive speed gains
To be fair, early wine (when I first tried it) wasn't very usable, and for gaming specifically. So if you were an early enthusiast adopter, you might've just experienced their growing pains.

Also, I assume some Windows version jumps didn't make things easy for Wine either lol

spoiler··on Krita 5.3.0 and 6.0.0 Released
Oh, this is news to me! I've used Krita to pain (recreational noob, not on a professional level) and I never realised this. I'll play with this tomorrow
spoiler··on Krita 5.3.0 and 6.0.0 Released
Most of the transfors you describe are still unfortunately destructive (ie the only way to go back is to undo). I'm not an expert on this, but I think the only way this could be key framed would be to take snapshots of the pixels and insert the modified raster data as keyframes? I'm not sure there's a good/correct/obviously way to interpolate betweens say a before and after liquefy operation the way it currently works. Maybe some of them coul store brush+inputs (pressure, cursor movement, etc) but that seems difficult to work with as an artist. Again, not done much animation (as a dev or artist) so maybe I'm just out of the loop completely

But yeah I agree with you in principle though, it would be nice if these were non-destructive and could be keyframed.

spoiler··on Qite.js – Frontend framework for people who hate React and love HTML
No horse in this race, but your phrasing seems a bit weird, honestly... If reduced, your comments read as:

"You don't know about X? Well, at least I know about X and Y..." Doesn't seemed like a good faith comment to me either?

And then you say "You misunderstood my intentions so I'm going to disengage". For what it's worth, I didn't interpret your argument as insulting someone, but also it wasn't a useful or productive comment either.

What did you hope to achieve with your comments? Was it simply to state how you know something the other person doesn't? What purpose do you think that serves here?

spoiler··on No AI in Node.js Core
I don't know why you have to qualify your sentence with "think carefully before you respond" it makes it seem like you're setting up some rhetoric trap... But I'll assume it's in good faith? Anyway...

I don't mind if a review is AI-assisted. I've always been a fan of the whole "human in the loop" concept in general. Maybe the AI helps them catch something they'd normally miss or gloss over. Everyone tends to have different priorities when reviewing PRs, and it's not like humans don't have lapses in judgement either (I'm not trying to anthropomorphise AI, but you know what I mean).

My stance is same about writing code. I honestly don't mind if the code was written `ed` on a linux-powered toaster from 2005 with 32x32 screen, or if they wrote it using Claude Code 9000.

At the end of the day, the person who's submitting the code (or signing off a review) is responsible for their actions.

So in a round-about way, to answer your question: I think AI as part of the review is fine. As impressive as their output can be sometimes be, it can be both impressively good and impressively bad. So no, only relying on AI for review is not enough.

spoiler··on No AI in Node.js Core
If AI writes a for loop the same way you would... Does it automatically mean the code is bad because you—or someone you approve of—didn't write it? What is the actual argument being made here? All code has trade offs, does AI make a bad cost/benefit analysis? Hell yeah it does. Do humans make the same mistake? I can tell you for certain they do, because at least half of my career was spent fixing those mistakes... Before there ever was an LLM in sight. So again... What's the argument here? AI can produce more code, so like more possibility for fuck up? Well, don't vibe code with "approve everything" like what are we even talking about? It's not the tool it's the users, and as with any tool theres going to be misuse, especially new and emerging ones lol
spoiler··on No AI in Node.js Core
The PR touched a lot of internals, including module code and mirrors the fs APIs. So, yes it was big, but the commit history was largely clean and followed a development story, and it was tested. The code quality was decent too. I didn't review all of it because I don't have a personal stake in this though.

I suggest EVERYONE in this thread go read the the GitHub PR in question. There's some good arguments for and against AI, and what it means for FOSS... But good lord you will have to sift through the virtue signalling bullshit and have patience for the constant moving of goalposts

spoiler··on No right to relicense this project
But it's a reimplementation... So it's new code, their code. Can't they license it? Only the project name and the API surface remained similar
spoiler··on Farewell, Rust for web
Oh right, I know what you mean now. I was thinking more along the lines of the QueyBuilder API (and you can write extensions traits to make things more ergonomic). But yeah, some of their APIs work only/best with static strings.

There also sea-query, and sea-orm was already mentioned!

spoiler··on No right to relicense this project
They have been maintaining the project for years. It's not like some Joe Random with ChatGPT randomly entered the scene
spoiler··on No right to relicense this project
Let us also remember that certain architectural changes need to happen over a period of planned refractors. Nobody wants to read a 5000 line shotgun-blast looking diff
spoiler··on No right to relicense this project
Ok since this is not really answered... Hypothetically, If I'm a maintainer of this project. I decided I hate the implementation, it's naive, horrible performance, weird edge cases. I'm wiser today than 3 years ago.

I rewrite it, my head full of my own, original, new ideas. The results turn out great. There's a few if and while loops that look the same, and some public interfaces stayed the same. But all the guts are brand new, shiny, my own.

Do I have no rights to this code?

spoiler··on No right to relicense this project
Which is what happened here? The maintainers did a rewrite, apparently, but it's not enough!
spoiler··on No right to relicense this project
I think it's just the GPL family of licenses that tend tend to cause most problems. I appreciate their intent, but the outcome often leaves a lot to be desired.
spoiler··on No right to relicense this project
So effective, LGPL means you freely give all copyright for your work to the license holder? Even if the license holder has moved on from the project?

What if I decide to make a JS or Rust implementation of this project and use it as inspiration? Does that mean I'm no longer doing a "clean room" implementation and my project is contaminated by LGPL too?

spoiler··on No right to relicense this project
That whole clean room argument makes no sense. Project changed governance and was significantly refactored or reimplemented... I think the maintainers deserve to call it their own. Original-pre MIT release can stay LGPL.

I don't think this is a precedent either, plenty of projects changed licenses lol.

I keep kind mixing them up but the GPL licenses keep popping up as occasionally horror stories. Maybe the license is just poorly written for today's standards?

spoiler··on Farewell, Rust for web
They didn't make them hard by design, I think, it's just the limitations of the current API and prioritisation. Dynamic queries are possible, just not trivial
spoiler··on What years of production-grade concurrency teaches us about building AI agents
There's lots of things you could do. Imagine you're making a group chat bot (way more difficult than a 1-1 chat) where people can play social games by giving the LLM game rules. You can have an agent that only manages game state using natural language (controlled by the main LLM). You could have an agent dedicated to remembering important conversation, while not paying attention to chit-chatting
spoiler··on Vitamin D and Omega-3 have a larger effect on depression than antidepressants
While (I think) I agree with you on the facts here, I don't think this type of dismissive comments are that useful either.

Can you give the replyee some pointers, for example? Link to articles or studies that show a different view?

spoiler··on Creators of Tailwind laid off 75% of their engineering team
I mean stuff like adding `display: block` on the parent and `flex: 1` on a child element. Clearly a copy-pasting leftover because someone or whatnot, but then you're debugging a layout issue and you're wondering "but why is this here"
spoiler··on Creators of Tailwind laid off 75% of their engineering team
> and nobody knows what is going on there.

For what its worth, I had the same experience with Tailwind. I regularly see classes that don't have an meaningful outcome.

I don't think the problem is Tailwind or CSS (well, I guess Tailwind is CSS with extra steps but you get the idea) syntax (or any of the CSS preprocessors), but the fact that styling in browsers has accumulated a lot of cruft, and people who haven't "grown up" with it over the years don't fully understand it (I am more competent than most with it and there's still times I screw up).

One thing that's kinda nice about Tailwind is that it made copy-pasting components easier. So people can get something decent without fully understanding what's happening

← PreviousPage 2 of 34Next →