4 ms·
I don't want to offend (it's AI coded anyway :)) but that does not scream "high quality" to me. The headline gif on that repo just paints a terrible picture. It
by Philip-J-Fry 5mo ago
I don't want to offend (it's AI coded anyway :)) but that does not scream "high quality" to me. The headline gif on that repo just paints a terrible picture. It can't draw a box correctly, there's random underscores all over the screen. The UI itself is just incredibly incoherent. I don't even know what I'm looking at.
Like, no it doesn't seem like very high quality work... It just seems like a vibe coded tool.
Edit: yes it's wrapping Claude. It's BREAKING the TUI. Not sure what people aren't getting here...
- kstenerud 5mo agoYou do realize that you're complaining about the Claude Code TUI, right? That's not what this product is; merely a tool it uses.
- pprotas 5mo agoYou claim "very high quality" but can't even get the basic UI working properly. You wrap tmux and a container in 2k lines of code and claim quality, I think the comment above was aimed at this claim.
- kstenerud 5mo agoThe UI is working properly. Interfering with Anthropic's UI, or any of the other agent harness' UIs it supports, would be madness incarnate. I also strongly suspect that you'd only taken a cursory glance at the top of the readme prior to passing judgment.
- deleted 5mo ago[deleted]
- embedding-shape 5mo agoI did not much more than a cursory glance too, but found "./sandbox/create.go", a ~1300 lines long file with so much duplication even within just itself that I stopped counting. Now it was a long time ago I did Go professionally, but I'm also in the camp of "That doesn't really count as high-quality", although I know for a fact you can get quality code out of LLMs, but I don't think that's a good showcase of that.
- kstenerud 5mo ago> I did not much more than a cursory glance too, but found "./sandbox/create.go", a ~1300 lines long file with so much duplication even within just itself that I stopped counting. Really? What duplication did you actually find? I count a few small ones in buildMounts and ReadPrompt, maybe 20 lines or so, but hardly anything worthy of such an epithet. Admittedly, the parsing & escaping code and some utility functions could be moved outside to shrink the file, but otherwise I'm having trouble finding issues with the code.
- embedding-shape 5mo agoThe duplication I'm seeing isn't just "same text repeated" but structural duplication. Doing a quick 5 minute look again just to give you some pointers; runtime.MountSpec construction in buildMounts, Workdir vs aux-dir mount-mode handling, repeated one-off mount append blocks, overlay detection and so on, the list goes on. Just those should account for 200+ lines. Look for slight variations of the same thing but with different paths, variables, or modes and I think you'd be able to spot the rest as well.
- kstenerud 5mo agoYou consider adding in-place constructed items to an array to be code duplication?
- freedomben 5mo agoI've noticed that the bar for "quality" when people judge AI is often significantly higher than what they'd hold a human to. I'm not saying GP et al are doing this (I haven't looked myself), but it is a widespread pattern I've noticed both professionally and personally. I don't know why it is.
- kenjackson 5mo agoI have seen it too. The answer is easy - they don’t like AI. I've seen similar things with some people that don’t like women in tech or certain minorities - they suddenly critique at an extremely high level. I also haven’t looked at this particular case, but it wouldn’t surprise me to be the same thing here.
- everforward 5mo agoI looked through and there's a bunch of stuff that's in poor coding practice. E.g. https://github.com/kstenerud/yoloai/blob/main/internal/fileutil/fileutil.go#L54 https://github.com/kstenerud/yoloai/blob/main/internal/fileu... <- that recursively creates directories, but will only change permissions on the innermost dir (user may be unable to cd into intermediary directories) https://github.com/kstenerud/yoloai/blob/main/internal/mcpsrv/tools.go#L195 https://github.com/kstenerud/yoloai/blob/main/internal/mcpsr... <- all the json.Marshal calls in this file just suppress errors, so if anything un-marshallable ends up in there the app will return empty strings with no errors logged https://github.com/kstenerud/yoloai/blob/main/runtime/registry.go#L23 https://github.com/kstenerud/yoloai/blob/main/runtime/regist... <- `Register` embeds a copy of the code from `IsAvailable` because of the locking; that could be replaced with a private `isAvailable` that has no locking that both use (after doing their own locking) https://github.com/kstenerud/yoloai/blob/main/runtime/exec.go https://github.com/kstenerud/yoloai/blob/main/runtime/exec.g... <- these functions are identical except for the strings.Trim, one should just call the other and then trim the output Just out of curiosity, I enabled some other linters and it looks bad. Excluding test files, there are 110 functions with a cyclomatic complexity over 10 and 7 that are _over 50_. The worst is at 86, which is mind-boggling. Could probably find more, but you get the drift. I'm sure it runs, but stylistically this is more along the lines of what I would expect an intern to do. This is also sort of nit-picky, but like half the stuff in https://github.com/kstenerud/yoloai/blob/main/docs/dev/backend-idiosyncrasies.md#osstat-on-the-containerd-socket-does-not-detect-permission-denied https://github.com/kstenerud/yoloai/blob/main/docs/dev/backe... isn't idiosyncratic, it's just the way those things work and a lot of them aren't even tricky. The one linked is particularly blatant; that's not limited to os.Stat that's literally just how permissions work. Denying permission on inodes is a property of the folder, not the file.
- Philip-J-Fry 5mo agoSo why has your tool completely broken the Claude Code UI then? Can't you see in the gif? It's completely broken. My Claude doesn't look like that. Neither does anyone else's.
- kstenerud 5mo agoClaude Code will automatically "dumb" the TUI down a bit when it can't properly detect certain terminal capabilities, to avoid potential font rendering issues. Likely there are some terminal caps that aren't being properly preserved inside of the sandbox. It's never bothered me since the agent itself works fine.
- Philip-J-Fry 5mo agoYeah, so whatever you're doing to wrap Claude is broken. Because it's breaking the UI. "It's never bothered me". Cool. But your tool is bugged.
- kstenerud 5mo agoFeel free to open a bug report if it bothers you. Or a PR. Or feel free to avoid the tool entirely if this UI issue shakes your faith in its overall quality down to its very foundations. This is hardly a hill to die on.
- sjagauanbdvva 5mo agoYou’re missing the point. You claimed high quality and provided a repo. Did you not expect someone to actually look and critique it? Whether the visual bugs are a deal breaker or not isn’t the point. The point is that’s not high quality code, it may work. But it’s not code I would ship at my job and therefore it’s not high enough quality for anyone serious
- kstenerud 5mo agoHey that's fine. You're free to make whatever judgment you wish. But I still stand by the quality of my code, including here. You and I don't need to agree. What decades of managing codebases (public and private, huge and small) has taught me is that there will always be an endless list of bugs and feature ideas and nice-to-haves and technical debt pressures in any given project. You'll never get to them all, so you prioritize (as I have done here). Functional bugs usually trump visual ones unless they're actually interfering with work. Will I fix this bug? Probably, now that I'm aware of it. But there are more important matters to attend to first. Edit: Turns out the bug comes from a mismatch with the terminal I'm using. With other terminals it looks fine. Term caps are surprisingly complicated, especially when you have multiple layers!
- walthamstow 5mo agoTake it up with Anthropic. It's actually their billion-dollar TUI product you're commenting on. The problem with being such a naysayer is that you're entirely disconnected from what's going on. You haven't tried an agent like Claude Code and experienced it for yourself, so you don't recognise what it looks like when it's in front of you.
- Philip-J-Fry 5mo agoI have tried Claude code. It doesn't look like that! I don't know what the project is. All I see is a TUI that looks completely broken. Go and use Claude Code right now. Does it look like that? Random underscores all over the page. No it doesn't.
- walthamstow 5mo agoIt can look like that in certain conditions. The question is why are you so eager to give critique on unrelated work, appearing in a demo screencap, to someone who didn't produce it?
- Philip-J-Fry 5mo agoI don't know what you're talking about. His tool wraps Claude and breaks the TUI. What's so hard to understand? That's valid critique. What world have I woke up in today?
- deleted 5mo ago[deleted]
- deleted 5mo ago[deleted]
- deleted 5mo ago[deleted]
- walthamstow 5mo agoTo be honest I assumed it was the screencap software running a basic terminal env without bells and whistles that CC needs, which I've seen before. If the actual tool functions like that too, that's not great. That said, it works for them, it works for them.
- vdelpuerto 5mo agoThat is the same fight the 2D animators were having with 3D aninmation 30 years ago. The resolution is likely to be the same: the tool wins but the fundamentals stay, and the line between competent and incompetent practitioners moves but does not disappear.
- wanderlust123 5mo agoI think at this point there is no convincing people. Clearly there is value in these tools and it generates code when steered properly. Perhaps your struggles are down to a skill issue.
- godelski 5mo ago> I don't want to offend (it's AI coded anyway :)) but that does not scream "high quality" to me. Honestly, I think this is where the big divide is. People have massively different opinions on what "quality" is. Which is okay, but it feels like everyone is working under some assumption that quality is this very clear objective measure that we all agree on. Clearly we don't. We didn't before AI and well... if you can't tell that we don't with AI... you need to take a step back. FWIW, I agree with Philip here. I don't think this screams "high quality" to me. I'm also not trying to take a shit on your project. Nothing screams "terrible" to me, but yeah, it does look a bit sloppy. There's no polish to it. It looks like someone that grades on "it works" and that's fine. But it also isn't everyone's cup of tea. Where the sloppiness comes in is like what Philip said. First thing I saw was the gif and well... I think Claude Code is sloppy. But this is also a great example at how and where LLMs visibly fail. Creating a box in text is pretty simple. There's tons of tools to do it. And the LLM 100% knows about characters like ⌜⌝⌞⌟⎜, it just doesn't use them and doesn't care. The code itself also looks very LLM generated. It's fine and I don't think you have any reason to be ashamed of it, but I also wouldn't go around boasting that it is an example of high quality work too. And FWIW, I can't think of a single heavily LLM assisted code where I don't have similar feelings. I've seen stuff with more polish, but yeah, they feel off. > TUI This is a space I feel weird in. I love the terminal. I love that there's a lot of new TUIs. But it also feels very weird because it is extremely clear that a lot of these new TUIs were written by people (or machines) that don't really have a lot of experience in the terminal itself. There's a real shared language by people like me who live in the cli. There's a reason people like me can pick up a new tool and guess certain flags and certain ways to use them. It's because of a shared design language that we know of and we end up writing that way because we know it reduces to cognitive load on our peers. But the LLMs? They don't have that shared experience. I think this is true for a lot of stuff, not just TUIs or bash tools. Things just smell... off...