Live data from Hacker News

Vibing a non-trivial Ghostty feature

mitchellh.com

141–150 of 160 posts

Re: Vibing a non-trivial Ghostty feature

#141

Earlier quoted context omitted.

What if your coworker was pushing tons of crap code and AI didn't exist? How would you deal with the situation then? Do that.

It's not the same because, with AI, they will likely be called anti-ai or anti-progress if they push back against it.

Don't mention AI, just point out why the code is bad. I've had co-workers who were vim wizards and others who literally hunt and pecked to type. At no point did their tools ever come up when reviewing their code. AI is a tool like anything else, treat it that way. This also means that the OPs default can't be AI == bad; focus on the result.

Re: Vibing a non-trivial Ghostty feature

#142
post #134
post #5

Tip: I very often use AI for inspiration. In this case, I ended up keeping a lot (not all) of the UI code it made, but I will very often prompt an agent, throw away everything it did, and redo it myself (manually!). I find the "zero to one" stage of creation very difficult and time consuming and AI is excellent at being my muse. This right here is the single biggest win for coding agents. I see and directionally agre…

I explain it to my peers as "exploiting Cunningham's Law[0] with thyself" I'll stare blankly at a blank screen/file for hours seeking inspiration, but the moment I have something to criticise I am immediately productive and can focus. [0]: https://en.wikipedia.org/wiki/Ward_Cunningham#Law > The best way to get the right answer on the Internet is not to ask a question; it's to post the wrong answer.

About that quote, iirc it's also a technique in Intelligence for getting information from people. You say something stupid and wrong and they will instantly just correct you on the spot and explain why etc.

So it works in real life too

Re: Vibing a non-trivial Ghostty feature

#143
In the first coding session:

https://ampcode.com/threads/T-9fc3eb88-5aa2-45e4-8f6d-03697f...

The user says "Consult the oracle." at the end of the prompt and the AI begins its answer with:

"I'm going to ask the oracle for advice on planning custom UI for Sparkle update notifications in the titlebar."

What does this refer to?

EDIT: Another comment in this thread says "It's currently Sonnet 4.5 by default but uses GPT-5 for the "oracle" second opinion", so I guess that is what it means.

Re: Vibing a non-trivial Ghostty feature

#144
LLMs have brought back my excitement with coding.

At work, they help me to kickstart a task - taking the first step is very often the hardest part. It helps me grok new codebases and write boring parts.

But side projects is where the real fun starts - I can materialize random ideas extremely quickly. No more hours spent on writing boilerplate or fighting the tooling. I can delegate the parts I'm not good at the agent. Or one-prompt a feature, if I don't like the result or it doesn't work, I roll it back.

Re: Vibing a non-trivial Ghostty feature

#145

Earlier quoted context omitted.

By the time you've done that, why not repeat it yourself? I once needed to define a large table of trigrams in C (for the purpose of distinguishing "English" from "not English"). Setting it up looked like this: 1. Download a book from Project Gutenberg. 2. Write something that went through the book character-by-character, and for every character, remembered the trigram ending there. 3. Make the form of "remembering"…

Concretely, I was creating a cli application. I had implemented a few commands end-to-end and established some solid patterns. I used Codex (i.e. the PR creating flavor) to provide instructions and get it to review the existing patterns before continuing as asked it to rigorously follow them. I had to do about ~10 more things and it worked really well. It was easy for me to review and understand because I already kne…

> It was easy for me to review and understand because I already knew the pattern and it seemed easy for it to get right.

I suggest that you already knowing the pattern actually makes it harder for you to review code that you expect to contain the pattern. You're likely to perceive it as being there whether it is or not. This strikes me as a way of using LLMs that is more dangerous than average.

Relatedly, proofreading your own work is much more error-prone than proofreading someone else's work, precisely because you have a mental model of your own work (created when you produced it) and you're likely to consult the mental model rather than the work.

Re: Vibing a non-trivial Ghostty feature

#146
post #138

Despite people yelling, vibe coding isn’t going away. Developers whining that they can do it better and that it will ruin software forget that business always goes with the “good enough” option. Human receptionists were far better than IVRs and “press 3 for” automation, but it was cheaper and good enough. Now very few companies have human phone operators. SDEs need to come to terms with the fact that the value associ…

> Human receptionists were far better than IVRs and “press 3 for” automation, but it was cheaper and good enough.

Good enough? Depends on who you ask. It was and is clearly terrible for the users (customers). People hate to navigate huge, invisible menus by slowly pressing buttons or speaking single words very clearly, but the business doesn't really care about that and deems it "worth it" for the money saved.

This is a pattern one can find all over the place: make something worse but cheaper, as long as someone else, not the business, bears the cost.

Re: Vibing a non-trivial Ghostty feature

#147
post #90
post #73

Earlier quoted context omitted.

I'm not sure that's a fair take. I don't think it's an unfair statement that LLM-generated code typically is not very good - you can work with it and set up enough guard rails and guidance and whatnot that it can start to produce decent code, but out of the box, speed is definitely the selling point. They're basically junior interns. If you consider an engineer's job to be writing code, sure, you could read OP's post…

I can't get past the framing that "people who like the act and craftsmanship" feel AI is negative, which implicitly defines whatever Mitchell Hashimoto is doing as not craftsmanship, which: ghostty is pure craftsmanship (the only reason anyone would spend months writing a new terminal). No, I think my response was fair, if worded sharply. I stand by it.

Your response conflates the categories of people and ignores that statements like "people..." can mean "(some|most|all) people..." in casual writing/speech. It is not a fair response.

I agree with your frustration with the framing that _all_ people who like the act and craftsmanship feel AI is negative, and the consequence that if one does like AI, then they must not like the act of craftsmanship. Many such people view it as a tool, Mitchell included.

Re: Vibing a non-trivial Ghostty feature

#148
post #147
post #90

Earlier quoted context omitted.

I can't get past the framing that "people who like the act and craftsmanship" feel AI is negative, which implicitly defines whatever Mitchell Hashimoto is doing as not craftsmanship, which: ghostty is pure craftsmanship (the only reason anyone would spend months writing a new terminal). No, I think my response was fair, if worded sharply. I stand by it.

Your response conflates the categories of people and ignores that statements like "people..." can mean "(some|most|all) people..." in casual writing/speech. It is not a fair response. I agree with your frustration with the framing that _all_ people who like the act and craftsmanship feel AI is negative, and the consequence that if one does like AI, then they must not like the act of craftsmanship. Many such people vi…

No, it didn't mean that. It mean what I thought it meant. It was a roundabout way of saying that people who use AI aren't interested in craft. The meaning was plain.

Re: Vibing a non-trivial Ghostty feature

#149
post #73
post #67

Earlier quoted context omitted.

Real subtle. Why not just write "there are good programmers and bad programmers and AI is good for bad programmers and only bad programmers"? Think about what you just said about Mitchell Hashimoto here.

I'm not sure that's a fair take. I don't think it's an unfair statement that LLM-generated code typically is not very good - you can work with it and set up enough guard rails and guidance and whatnot that it can start to produce decent code, but out of the box, speed is definitely the selling point. They're basically junior interns. If you consider an engineer's job to be writing code, sure, you could read OP's post…

They're far more than junior interns. I've had a long languishing project to build an ahead-of-time Ruby compiler. It started as a toy, and a blog series, and I then mostly put it on ice about a decade ago, except for very occasional little rounds of hacking. It self-hosts, but is very limited.

A week or so ago, I gave Claude a task of making it compile rubyspecs. I then asked it to keep making specs pass. I do need to babysit it, but it's doing debugging and work no junior I've ever worked with could be trusted to do. It knows how to work with gdb, and trace x86 assembler. It understands how to read the code of a complex compiler, and modify code generation and parsers that even I - who wrote it in the first place - sometimes find challenging.

It's currently (as I'm writing this) working its way through adding bignum support. Which in Ruby is tricky because it now no longer splits it in two classes - the code need to handle tagged integers that gets auto-promoted to heap allocated objects, that to the user has the same class. I spent the morning swearing at it, but then reset with a clearer description and it produced an extensive plan, and started working through it.

I'll agree it's not great code without a lot of coaxing, but it's doing stuff that even a lot of senior, highly experienced developers would struggle with.

I will agree it needs oversight, and someone experienced guiding it, like a junior developer would, but if I had junior developers producing things this complex, I'd lock them in a basement and never let them go (okay, maybe not).

One of the hardest things, I find, where I will agree it smells of junior developer sometimes, is that it's impatient (once it even said "this is getting tedious") and skipping ahead instead of carefully testing assumptions and building up a solution step by step if you don't tell it very clearly how to work.

I don't think we disagree that much, btw., I just wanted to describe my recent experience with it - it's been amazing to see, and is changing how I work with LLMs, in terms of giving it plenty of scratchpads and focusing on guiding how it works, making it create an ambitious plan to work to, and getting out of its way more, instead of continuously giving it small tasks and obsessing over reviewing intermediate work product.

What I'm seeing often with this approach is that whenever I see something that annoys me scroll past, it's often fixed before I've even had a chance to tell it off for doing something stupid.

Re: Vibing a non-trivial Ghostty feature

#150
post #125
post #73

Earlier quoted context omitted.

I'm not sure that's a fair take. I don't think it's an unfair statement that LLM-generated code typically is not very good - you can work with it and set up enough guard rails and guidance and whatnot that it can start to produce decent code, but out of the box, speed is definitely the selling point. They're basically junior interns. If you consider an engineer's job to be writing code, sure, you could read OP's post…

First, I agree with tptacek that Ghostty is a work of craftsmanship. Mitchell is a very talented dev and he says he greatly benefits from using AI. On the other hand I understand your point that some people got into coding because of coding and they like doing that manually. Unfortunately, we're not being paid to do what we like, but to solve problems with code. What we like is usually a hobby. Software engineering h…

I love coding, and I'm extremely picky, but I also agree with you it's not what I'm being paid to do. And even in hobby projects there are plenty of rough drafts necessary that I can outsource to an LLM, and then I get to refine things afterward, when they're working, and I can obsess over details...

To take your table analogy, which I fully agree with, if I wanted to take the effort of crafting a nice wooden table, I'd happily have someone cut the pieces for me and do the basic stuff that doesn't require specific skills, and then spend my time applying the finer details that makes the difference between a basic table and a great table. I get that some people would want to do everything "from scratch", but I'd rather focus on where I can make the most difference.

Post reply on HN