5 ms·
> Lots of praise for Pi in this thread, so I'll offer up a diverging opinion. Being reflexively contarian is not what HN is for. https://news.ycombinator.com/
by throw10920 2mo ago
> Lots of praise for Pi in this thread, so I'll offer up a diverging opinion.
Being reflexively contarian is not what HN is for.
https://news.ycombinator.com/item?id=45530593 https://news.ycombinator.com/item?id=45530593
> For a program that's minimal it sure takes a long time to start up
It took the same amount of time (3 seconds) as cursor-agent and codex on my machine, which isn't particularly high-spec.
> the standard C-p and C-n bindings don't work
It has programmable keybindings and you can ask the agent to remap them in five minutes, if not 30 seconds.
> it doesn't follow the XDG Base Directory Specification and just pollutes my $HOME directory
You can make it put .pi/agent anywhere with $PI_CODING_AGENT_DIR in 10 seconds.
> scriptable in a simple (aka non-JS) scripting language
This doesn't make any sense. The very point of Pi is that instead of implementing all of your features directly in the harness, you make the harness minimal and then implement the functionality you want as extensions, which necessarily means that you have some powerful and expressive extension language, ideally the one the harness was written in.
I suspect that if the harness was written in Lua (which I love and is probably the least bad choice of "scripting" language), you would have far more issues with it.
If these are your complaints, then this is one of the strongest endorsements of Pi that I've ever seen. I think I'm bookmarking this comment.
- throwuxiytayq 2mo ago> Being contrarian for the sake of it is not good form. Why would you say that? Is it good form to post that someone is being contrarian for the sake of it? OP’s comment looks like constructive criticism with plenty of good points. > It took the same amount of time (3.5 seconds) as cursor-agent and codex on my machine. So what? Nobody is pretending that these are minimalist. Codex is 1.2M of Rust LOC. > which necessarily means that you have some powerful and expressive extension language, ideally the one the harness was written in. Don’t be silly, JS is a joke. I was going to check Pi out, but now that I know it’s based on a shitty stack, I’m staying the fuck away from it. I don’t have the RAM to spare. > If these are your complaints, then this is one of the strongest endorsements of Pi that I've ever seen. I think I'm bookmarking this comment. > good form
- r_lee 2mo agoI seriously don't get the hate for JS/TS. it's a lot more ergonomic than Lua. just yesterday I saw someone claim they'd rather learn COBOL and use it than use JS it's ridiculous imo. the ram usage is one thing sure, but then it also means you can't use Claude Code because it also runs on top of JS. so I guess we should all stop using Claude Code, right? cause it's "based on a shitty stack"
- throwuxiytayq 2mo agoConsider this: - I regularly have 10+ instances of my harness running or idling on my laptop. - My laptop is often at near-100% CPU and memory usage due to the (irreducible) cost of the development tools and environment. - I often (50% of the time) downclock my laptop’s CPU to 1-2 GHz to save battery and/or reduce noise and thermals while charging. - I sometimes run my harness on machines that are low-power, low-RAM single-board computers. If my harness was written in JS, this would be both annoying in terms of responsiveness and limiting in terms of how much work I can do in parallel. This is why using JS for serious software is a... subpar decision. > but then it also means you can't use Claude Code because it also runs on top of JS. Correct. I don’t use Claude Code.
- r_lee 2mo agoThat's fair. I think with a lot of these harnesses they didn't really think people would be running so many instances of them at once I think for claude code it really would be best if they made it native, but for plugins I think JS wins, because it's just a lot more easier for most to write plugins in that. from my POV the performance used to be bad but it's pretty good now, every now and then though it'll start just growing in memory usage and needs to be restarted every now and then. so if you'd 10x that then I could see it really limiting workflows, especially with SBCs
- throw10920 2mo agoThe claims being made here are fallacious in three extremely basic ways. First, "I regularly have 10+ instances of my harness running or idling on my laptop" implicitly asserts that you need that many instances running at once. You don't. You can have a single instance running that handles your sessions in parallel. Second, "I sometimes run my harness on machines that are low-power, low-RAM single-board computers." presumes the whole agent has to run on the SBC itself. It doesn't. There are agents (including Pi, which makes this even sillier) that can run their tool calls in a separate process/host, meaning that the agent can live on your development machine while the tiny tool-call daemon runs on the SBC. Finally, "If my harness was written in JS, this would be both annoying in terms of responsiveness and limiting in terms of how much work I can do in parallel." could only be written out of a complete lack of understanding about how harnesses are actually implemented. Agent harnesses don't do very much. The limiting factor is not the harness itself, but in the filesystem (reads, writes, file searches, greps), the computational tool calls (compilers, linters, evaluating the program), and the LLM API itself. Your arguments against Javascript appear to be based on fallacies, lack of understanding of technology, and strong emotions against JS rather than actual fact.
- WithinReason 2mo agoThis is an incredibly reflexively contrarian comment
- throw10920 2mo agoThis is factually false. A contrarian is "A person who likes or tends to express a contradicting viewpoint, especially from one held by a majority of people, usually because of nonconformity or spite." The post I replied to is literally being contrarian: > Lots of praise for Pi in this thread, so I'll offer up a diverging opinion. Meanwhile, my post was not being contrarian in the slightest. I didn't offer a contradictory viewpoint - I provided factual information and context to dispel false claims/misinformation in the post I was responding to (e.g. the claim "the standard C-p and C-n bindings don't work" is highly misleading/false because you can trivially rebind them), and the opinions I provided were completely orthogonal to the opinion expressed ("I suspect that if the harness was written in Lua [...] you would have far more issues with it." I expressed no opinion either for or against "Given all the hype, I was a bit underwhelmed by Pi. It definitely has some good ideas around customization, but it annoyed me in many little ways." It always surprises me when someone so confidently makes an objectively incorrect statement when they could have spent 30 seconds looking up the definition of a word and realized that they were in the wrong. https://en.wiktionary.org/wiki/contrarian https://en.wiktionary.org/wiki/contrarian https://dictionary.cambridge.org/dictionary/english/contrarian https://dictionary.cambridge.org/dictionary/english/contrari... https://www.merriam-webster.com/dictionary/contrarian https://www.merriam-webster.com/dictionary/contrarian
- oblio 2mo ago> It took the same amount of time (3 seconds) as cursor-agent and codex on my machine, which isn't particularly high-spec. A simple CLI tool should start instantly and lazily load anything that can't be loaded instantly.