Live data from Hacker News

Unix philosophy and filesystem access makes Claude Code amazing

alephic.com

121–130 of 223 posts

Re: Unix philosophy and filesystem access makes Claude Code amazing

#121
post #89

Earlier quoted context omitted.

It's a bit annoying that you have to tell it to do it, though. Humans (or at least programmers) "build the tools to solve the problem" so intuitively and automatically when the problem starts to "feel hard", that it doesn't often occur to the average programmer that LLMs don't think like this. When you tell an LLM to check the code for errors, the LLM could simply "realize" that the problem is complex enough to warra…

As the other commenter said, these days Claude Code often does actually reach for a script on its own, or for simpler tasks it will do a bash incantation with grep and sed. That is for tasks where a programmatic script solution is a good idea though. I don't think your example of "check the code for errors" really falls in that category - how would you write a script to do that? "Staring at the code really hard" to c…

Running “the” existing configured linter (or what-have-you) is the easy problem. The interesting question is whether the LLM would decide of its own volition to add a linter to a project that doesn’t have one; and where the invoking user potentially doesn’t even know that linting is a thing, and certainly didn’t ask the LLM to do anything to the project workflow, only to solve the immediate problem of proving that a certain code file is syntactically valid / “not broken” / etc.

After all, solving an immediate problem that seems like it could come up again, by “taking the opportunity” to solve the problem from now on by introducing workflow automation to solve the problem, is what an experienced human engineer would likely do in such a situation (if they aren’t pressed for time.)

Re: Unix philosophy and filesystem access makes Claude Code amazing

#122
post #8

I do really like the Unix approach Claude Code takes, because it makes it really easy to create other Unix-like tools and have Claude use them with basically no integration overhead. Just give it the man page for your tool and it'll use it adeptly with no MCP or custom tool definition nonsense. I built a tool that lets Claude use the browser and Claude never has an issue using it.

The light switch moment for me is when I realized I can tell claude to use linters instead of telling it to look for problems itself. The later generally works but having it call tools is way more efficient. I didn't even tell it what linters to use, I asked it for suggestions and it gave me about a dozen of suggestions, I installed them and it started using them without further instruction. I had tried coding with C…

How is this better than calling `cargo clippy` or similar commands yourself?

Re: Unix philosophy and filesystem access makes Claude Code amazing

#123

Earlier quoted context omitted.

The light switch moment for me is when I realized I can tell claude to use linters instead of telling it to look for problems itself. The later generally works but having it call tools is way more efficient. I didn't even tell it what linters to use, I asked it for suggestions and it gave me about a dozen of suggestions, I installed them and it started using them without further instruction. I had tried coding with C…

How is this better than calling `cargo clippy` or similar commands yourself?

Claude can then proceed to fix the issues for you

Re: Unix philosophy and filesystem access makes Claude Code amazing

#124
post #102
post #99

Just because a popular new tool runs in the terminal, doesn't make it a shining example for the "Unix philosophy" lol. the comparison makes no sense if you think about it for more than 5 seconds and is hacker news clickbait you and i fell for :(

1. Small programs that do a single thing and are easy to comprehend. 2. Those programs integrate with one another to achieve more complex tasks. 3. Text streams are the universal interface and state is represented as text files on disk. Sounds like the UNIX philosophy is a great match for LLMs that use text streams as their interface. It's just so normalized that we don't even "see" it anymore. The fact that all your…

Right, and Claude Code is a large proprietary monolith. There’s nothing particularly UNIXy about it except that it can fork/execve to call ripgrep (or whatever), and that its CLI can use argv or stdin to receive inputs. That’s nowhere enough to make it “UNIX way”.

Re: Unix philosophy and filesystem access makes Claude Code amazing

#125
post #101

Earlier quoted context omitted.

This is the best way to approach it but if I had a dollar for each time Claude ran “—no-verify” on the git commits it was doing I’d have 10’s of dollars. Doesn’t matter if you tell it multiple times in CLAUDE.md to not skip checks, it will eventually just skip them so it can commit. It’s infuriating. I hope that as CC evolves there is a better way to tell/force the model to do things like that (linters, formatters, u…

I’ve found the same issue and also with Rust sometimes skips tests if it thinks they’re taking too long to compile, and says it’s unnecessary because it knows they’ll pass.

Even AI understands it's Friday. Just push to to production and go home for the weekend.

Re: Unix philosophy and filesystem access makes Claude Code amazing

#126
post #102

Earlier quoted context omitted.

1. Small programs that do a single thing and are easy to comprehend. 2. Those programs integrate with one another to achieve more complex tasks. 3. Text streams are the universal interface and state is represented as text files on disk. Sounds like the UNIX philosophy is a great match for LLMs that use text streams as their interface. It's just so normalized that we don't even "see" it anymore. The fact that all your…

Right, and Claude Code is a large proprietary monolith. There’s nothing particularly UNIXy about it except that it can fork/execve to call ripgrep (or whatever), and that its CLI can use argv or stdin to receive inputs. That’s nowhere enough to make it “UNIX way”.

I mean, you are also a large proprietary monolith. I can't exactly take the run a shell part of your brain and leave the 8 hours of sleep part out. That seemingly is a limitation of intelligence we've not got around yet.

The fact that the AI interpreter will use small commands makes it very useful.

Re: Unix philosophy and filesystem access makes Claude Code amazing

#127

All GUI apps are different, each being unhappy in its own way. Moated fiefdoms they are, scattered within the boundaries of their operating system. CLI is a common ground, an integration plaza where the peers meet, streams flow and signals are exchanged. No commitment needs to be made to enter this information bazaar. The closest analog in the GUI world is Smalltalk, but again - you need to pledge your allegiance bef…

> Moated fiefdoms they are, scattered within the boundaries of their operating system.

Yet highly preferred over CLI applications to the common end user.

CLI-only would have stunted the growth of computing.

Re: Unix philosophy and filesystem access makes Claude Code amazing

#128
post #116

Earlier quoted context omitted.

That's just one part of it. I want the LLM to see type checking errors, failing test outputs, etc.

Errors shouldn’t be on stdout ;)

“Errors” printed by your linter aren’t errors, they’re reports

Re: Unix philosophy and filesystem access makes Claude Code amazing

#129
post #126

Earlier quoted context omitted.

Right, and Claude Code is a large proprietary monolith. There’s nothing particularly UNIXy about it except that it can fork/execve to call ripgrep (or whatever), and that its CLI can use argv or stdin to receive inputs. That’s nowhere enough to make it “UNIX way”.

I mean, you are also a large proprietary monolith. I can't exactly take the run a shell part of your brain and leave the 8 hours of sleep part out. That seemingly is a limitation of intelligence we've not got around yet. The fact that the AI interpreter will use small commands makes it very useful.

Uh, my only objection way about talking about Claude Code as “UNIX way/philosophy”. While there are some similarities, they’re nowhere sufficient to call it so.

(As far as I’m aware our brains are opposite of UNIX, starting right from the fact they had evolved and were not designed at all. And the article is about Claude and not me.)

Re: Unix philosophy and filesystem access makes Claude Code amazing

#130

Earlier quoted context omitted.

I have a Just task that runs linters (ruff and pyright, in my case), formatter, tests and pre-commit hooks, and have Claude run it every time it thinks it's done with a change. It's good enough that when the checks pass, it's usually complete.

This is the best way to approach it but if I had a dollar for each time Claude ran “—no-verify” on the git commits it was doing I’d have 10’s of dollars. Doesn’t matter if you tell it multiple times in CLAUDE.md to not skip checks, it will eventually just skip them so it can commit. It’s infuriating. I hope that as CC evolves there is a better way to tell/force the model to do things like that (linters, formatters, u…

We should have a finish hook that, when the AI decides it's run, runs the hook, and gives it to the LLM, and it can decide whether the problem is still there.

Students don't get to choose whether to take the test, so why do we give AI the choice?

Post reply on HN