Hacker Newsnew | past | comments | ask | show | jobs | submit | mitchellh's commentslogin

Creator of Ghostty here. Always a fan of new terminals. I noticed your benchmarks are against Ghostty 1.3.1, which is fair, since its the latest released, but our IO throughputs in particularly the areas you tested have improved by more than double on some machines, so if you get a chance, I would ask you rebenchmark on `main`.

I don't know if it'd be faster than your terminal or not, but it'd be significantly faster than 1.3.1. On my M4 MacBook Pro, ASCII processing improved by about 2.8x, if that holds in your benchmarks, it would be faster than shitty. But, who knows. I'd prefer you ran it yourself.


We're currently tied in wall (yours is better at ASCII, while random is worse). But considering that user is better for me in both cases (algorithmic), we'll still have a chance to compete. :)) I've updated the tables.


What are your go-to checks for quality terminals, when you are scoping out something new?


I'll definitely do it as soon as the release happens!


I'd try the master, but I have no experience with the zig ecosystem. I'd end up compiling something wrong and getting weird results. I'd rather wait for the official binaries!


Ghostty provides official nightly builds from the main branch [0]. You do not need to build it yourself.

[0] https://github.com/ghostty-org/ghostty/releases


> Good news is that modern compilers are more than capable of emitting SIMD code even if original source is nothing but.

They're really not (I have a whole section on it in the blog post). This example in the post doesn't auto-vectorize, for example. And its a pretty big part of the overall throughput for plain text runs (ascii or unicode). Really, the point of that section is that almost nothing auto-vectorizes, backed up by LLVM docs and published research.

Instead, writing 12 lines for a 5x gain is way easier than crossing your fingers and hope someone else pays your bills.

Bigger picture, the real point is that this stuff isn't complicated. You wouldn't copy and paste 100 lines because you hope the compiler "lifts this into a for loop", you just write the for loop cause you know how and its simple.

Similarly, the common case of "process N values in parallel" is very simple. Write a dozen lines of code you're comfortable with. No need to pray the compiler people saved your bacon.


> mitchell, i know you hang around some of these comments sometimes

hi im here

> i noticed that in ghostty you bring in some c++ libs to do the simd heavy lifting for you. any plans to port that to zig? anything missing from the language or libs that's preventing it?

No plans to port it. For others, this is referencing highway: https://github.com/google/highway

The major limitation of Zig's vectors is that they're compile-time only. So if you're building redistributed software that compiles for a baseline CPU target, it won't be as optimized as it could be for YOUR possible machine.

Highway compiles our SIMD modules for different hardware configurations and at startup does a CPUID fingerprint to figure out which to load. That way even baseline has AVX512 etc. implementations, and we just activate the right one at runtime.

We only use Highway for our hottest hot paths that we feel benefit from that specialization.

No plans to port that (although, I spent hundreds of dollars and slop-forked it into Zig with the help of this good boy GPT and it worked great actually, but I didn't want to maintain it).


ahaaa, yeah, i don't personally do any runtime switching but i hear that as a deal-breaker from other folks.

it's interesting – i've found that zig tends to extend my vectors to the native width of the platform and then operate on them there. e.g. i had a `@Vector(2, f32)` that i was using as a demo and the generated assembly was promoting it to 256 bits and using avx2 instructions on it!


> i've found that zig tends to extend my vectors to the native width of the platform and then operate on them there

oh interesting. though i suspect that isn't zig and thats llvm.


looks like it – compiled as debug (native linux x64 backend) gives me the vector type i've asked for. release modes extend to the "native" width.

this is testing in isolation as well, could be that in the midst of other vector code it changes things. llvm definitely does a great job optimising tightly-written vector code to be even faster.


Why does your website block Tor so I can't read the article?


No idea


Case-in-point, the example in my own post doesn't auto-vectorize with LLVM or GCC at highest optimization levels. Basically, compilers will never auto-vectorize loops with an early loop break afaik.


You would have to give the compiler some help to allow it to auto-vectorize this. Warning, untested: https://godbolt.org/z/b358bMWzG. This unrolls the loop by 16 times. The trick is using `&` instead of `and` so that there's no short-circuiting. All 16 elements are read on each iteration of the loop. This gives the compiler the freedom to replace these reads with a single 16 byte load.

> compilers will never auto-vectorize loops with an early loop break afaik.

I think this is changing. https://godbolt.org/z/ea1E7dx9v. GCC 14 won't try to vectorize this because of the break statement. But GCC 15 does vectorize it. This got a callout in the "General Improvements" section of the release notes: https://gcc.gnu.org/gcc-15/changes.html

I don't think there's any equivalent in clang/LLVM.


You need to let the compiler know that there are at least 4 or 8 elements to process. This may require padding data and/or having a second loop after the main one that processes the remainder <4 or <8 elements.

You start the post with:

> There is an opportunity to use SIMD. SIMD turns those into this: > > for (8 byte chunk in bytes) { /* ... */ }

If you actually wrote that loop, there is a good chance the compiler (gcc specifically) will auto-vectorize.

In any case, the more manual SIMD optimizations I have seen require reworking the data altogether, not just processing N elements at a time. For example, instead of packing two 4-vectors into two registers to do a dot product, pack the XXXXs, YYYYs, etc. into 4 vectors and compute 4 dot products for the price of one. That not only requires having 4 vectors to process, but also thinking how exactly they are packed in registers.

I don't know why qurren is downvoted. You really should see if you can get the compiler to auto-vectorize first (possibly padding data structures and loops) before you write anything by hand.


> You really should see if you can get the compiler to auto-vectorize first (possibly padding data structures and loops) before you write anything by hand.

Counterpoint: https://pharr.org/matt/blog/2018/04/18/ispc-origins

> I think that the fatal flaw with the approach the compiler team was trying to make work was best diagnosed by T. Foley, who’s full of great insights about this stuff: auto-vectorization is not a programming model.

> The problem with an auto-vectorizer is that as long as vectorization can fail (and it will), then if you’re a programmer who actually cares about what code the compiler generates for your program, you must come to deeply understand the auto-vectorizer. Then, when it fails to vectorize code you want to be vectorized, you can either poke it in the right ways or change your program in the right ways so that it works for you again. This is a horrible way to program; it’s all alchemy and guesswork and you need to become deeply specialized about the nuances of a single compiler’s implementation—something you wouldn’t otherwise need to care about one bit.

> And God help you when they release a new version of the compiler with changes to the auto-vectorizer’s implementation.

> With a proper programming model, then the programmer learns the model (which is hopefully fairly clean), one or more compilers implement it, the generated code is predictable (no performance cliffs), and everyone’s happy.


How is that different from any other compiler optimization?

And what does the last statement in the quote mean anyway? When is performance "predictable"; do you freeze the entire toolchain?

And what is the alternative? Handroll manual SIMD code for every possible architecture you may target?

If you're writing C++, you're already rolling on decades of compiler optimization. You return by value because it makes code more readable and safer and rely on RVO. You write functions to abstract and rely on the compiler inlining. When it doesn't work for your specific target/toolchain, you may decide to handroll stuff. The proof that you're banking on the compiler is that if you run a debug build of any non-trivial program, it runs like absolute dogshit.


> How is that different from any other compiler optimization?

When it can be single-handedly responsible for an 8× speedup, you might not want to rely as much on the compiler as in the case of smaller, cumulative optimisations.

> And what is the alternative? Handroll manual SIMD code for every possible architecture you may target?

Use a library like Highway? https://github.com/google/highway


Forgot to add: using Highway also means that you can detect and take advantage of e.g. AVX2 or AVX-512 in one binary that still works on CPUs without those instruction sets, whereas relying on autovectorisation would mean having to build with `-mavx2`, `-mavx512`, etc. which means that pretty much no one who relies on prebuilt binaries would get them.


> If you assume Hashimotos net worth is one billion dollars, a $400k donation is equivalent to a $400 donation if your net worth is one million dollars.

1. Net worth is significantly less than that (taxes + heavy philanthropy)

2. $400K donation is orders (plural) of magnitude off our actual philanthropic giving in total. This is just one donation.


While we have you here, I would like to say thanks, I disagree with you on a bunch of stuff in terms of opinions, perhaps less than I would expect, but I appreciate people who can and do put effort in supporting things they care about. And building things one can just feel good about, rather than always chasing a financial end game.

I am personally just tired of it, and it's brilliant to see someone thriving outside of the zone to working for work's sake. Even if the realities are different.

Hope we had more people like you whom we all could disagree with but mutually respect.

Cheers to a better future. (hope it wasn't too much waxing poetic but I feel like we are just too damn trapped in this tech bubble to value good moments these days)


Thank you for your donations. I didn’t mean to belittle your contribution, only the fact that people like you can make a much larger difference than people like me.


> How is it out of touch? I donated much more than Hashimoto did relative to our net worths, but I cannot deny that I would have felt much more satisfied making a 1000x impact if I was a billionaire.

You have no way of possibly knowing this. And I bet you its not true.

I'm no longer a billionaire, partially because I paid an astronomical amount in taxes (I don't play the tax avoidance games). And partially because we're donating a whole lot more than $400K per year. This is ONE donation. We don't publicize most of our giving because it attracts armchair critics like you, and its distracting from the goals.

(I make an exception for Zig and technical things because my influence for better and worse usually is net positive for the initiative)

But, more importantly, I don't think playing these "my donation is worth more than yours" games is productive. If you want to think that way thats fine, I won't defend myself or my family any further than this post.


> You have no way of possibly knowing this. And I bet you its not true.

I do know this for a fact because my income has 10x over the course of my career and as I have made larger donations to match my increased income I do feel more satisfaction.

I’m not trying to belittle what you are doing, I am replying to someone who said to the order of “you can just be like mitchelh by donating as well” which I don’t think is true due to the orders of magnitude more impact that large donations can result in.


I'm the creator of Ghostty. This isn't right. It should idle at 0 to 1%, as supported by sibling comments. If you can collect more details about your system please open a discussion on the main Ghostty repo. Same with memory.

In terms of speed, same thing: if you can provide some kind of objectively measurable thing, we can look into it. Everything we've measured so far firmly places Ghostty in the "fast" camp (with friends such as Kitty).

We're sometimes faster, sometimes slower, but in any case not noticeably so. You wouldn't pick Ghostty vs Kitty for example for performance, it'd be something else. But you would pick Ghostty over say... iTerm2 for performance (but you may pick iTerm2 for features, its extremely feature rich!).


probably just been long enough that he doesn't give a shit

source: most of the bullshit i surface up nowadays


i mean right but even you hold back some stuff because youre a Nice Person yknow? haha


As with all things, the horror stories just get the most attention. People love to rage. There are plenty of boring (good, even!) VCs out there. They just work more quietly, professionally.

I'll share a story, but its about a close friend and not me so I won't name any explicit actors and I'm going to round out the numbers. You either trust me or you don't, but this is a very direct relationship I have to both the founder and VC.

The story is this: the founder started their company outside of SV, so the lawyers weren't super familiar with startups and messed up the initial incorporation and stock plan stuff (actually super common: use Stripe Atlas or pay a startup-aware lawyer!). Went under the radar through years. This company ended up being bought for nearly $1B (with a B) after many rounds and a large board.

During the legal work to close the acquisition, they found out this messed up stock plan. Without going into the details, the effect was that instead of taking home $200M, the founder would take home ~$75M. The mistake the lawyer made almost a decade earlier was about to cost him $125M.

Most of the board basically said "too bad so sad, law is law." But one VC (the one I know, the one I'm talking about) basically strong armed and politicked the whole thing and eventually convinced everyone around the table to give up an equal share of their own holdings to make the founder whole.

Letter to the law: they didn't have to.

Spirit of being founder friendly: this VC went to bat hard and got everyone to yield to make things "right."

Also, look, you might argue $75M vs $200M is just "rich vs rich." Who cares? Sure. That's not the point.

You don't hear about stuff like this because honestly its not a big enough deal and feel good stories get way less clicks than pitchfork stories.


This is one for https://news.ycombinator.com/highlights!

(I mention this so more people can know the list exists, and hopefully email hn@ycombinator.com when they see comments we should add.)


What's the best highlight you've seen?


I have no memory for that sort of thing. I can't tell you the best movie I've seen or the best record I've heard or anything of that kind. Sorry!

I do think it would be fun to have an "i feel lucky"-style random selection of highlights.


That's not true. The best record you've heard is Television's Marquee Moon.


It is a hell of a record.


I did want to have a random link of a similar nature, hopefully that is interesting enough for HN! I made something similar via a browser HN link, very enlightening.


Thanks for that story.

I feel as if basic Personal Integrity is now considered an anachronistic weakness, in the tech industry, and it's heartbreaking. I know that VCs can probably share similar stories [to the OP] about some of the people that pitched them, or their behavior, after getting funded.

Lotta ass, being shown, all around.

At some point in the future, I may consider smaller-scale (local) angel investing, but it seems like such an ugly field, not sure if I'll ever do it. I don't need the money; I would do it to help folks get a leg up.


Could you ask the VC if you could name them in the story?

It's unfortunate that some VCs I respected turned out to repeatedly have their reputation tarnished by such negative stories. I'm not sure what compels founders and VCs to be polarizing and not diplomatic like the old days.


Right - and if I ever go to raise VC then that's a guy I'll want to talk to. Even if they themselves don't invest, their recommendation would be valuable.

Life's too short to screw people over - reputation is one of the few things that last after we're gone.


PSA: Integrity is worth more than any amount of money. Anyone who doesn't prioritize that and keeping their word isn't worth anything. One appearance of a selfish move is all it takes to ruin reputations. The subset of big ego celebrity VCs whom cheat almost everyone are liabilities to run away screaming from... deal only with honest people because there's never getting a good deal with a viper.


This is more common than people may realize; I know two cases I was personally involved in where a VC went to bat and “did right” - it’s just not talked about much, as it’s not a terribly interesting story.


I wonder how the LPs in the fund felt when they heard they lost out on this?


Great story! What was the stock plan mess up that resulted in that?


This is awesome!


Correct. I use AI a ton and I'm having more fun every day than I ever did before thanks to it (on average, highs are higher, lows are lower). Your characterization is all very accurate. Thank you.

Here's some other topics I've written on it:

- https://mitchellh.com/writing/my-ai-adoption-journey

- https://mitchellh.com/writing/building-block-economy

- https://mitchellh.com/writing/simdutf-no-libcxx (complex change thanks to AI, shows how I approach it rationally)


I thinking that it’s quite a different experience going all Jackson Pollock with AI in your own studio on your own terms, compared to the sorry state of affairs of having 100s of Pollocks throwing paint around wildly within a corp to meet a paint quota.


> 100s of Pollocks throwing paint around wildly within a corp to meet a paint quota

I wish I had written that.


I can't think of a single case of any AI content, be it prose or code, where I thought "I wish I had written that". With AI code, it's more like I wish I hadn't let the AI write that.


We’re using Copilot at work to build reporting and automation tools. Nothing ground breaking, but very useful and tailored to our needs.

Frankly without AI assistance many of these tools just wouldn’t exist at all. We can build stuff in 6 weeks part time as a side project that would have taken at least 3 months full time, and therefore would not have been feasible. Then we can iterate on it at least 2-4 times faster than with hand coding.

So I’d love to have an extra few developers to just work on that stuff full time, but I don’t.

Whether that means our organisation spend on AI overall is a positive, I really can’t say. Quite possibly not, but my team are getting real benefits.


I’m building reporting for my company and what you said mirrors my experience nearly 100%.

I’m a backend developer so I know what it takes to build a half decent reporting system. Writing all those queries, slice and dice charts and what not takes real time and effort. All that has been outsourced to Claude Code. I now focus on ensuring that the system is sound architecturally and that useful reports are being surfaced.


How are you dealing with the problem of making sure the reporting queries are correct?

My experience so far is that it's harder and slower for me to understand the genAI code than to write it myself.

Skipping thorough comprehension seems to be the popular choice in my workplace, but it's not one I can justify.


I make sure to understand the query to the fullest extent. I run explain plan to make sure no nasty things like full table scans are happening.

I guess just like any algorithm it’s easier to verify a solution than come up with one.


Nothing you wrote is connected in any way to the comment I wrote.

Have you read the code the AI produced? Do you understand all of it? Is it bloated? Would you be proud to say you wrote it?

I don't care how fast you created something. You didn't create it, the AI did, and you have no control over it, the AI does.


An engineer doesn't care about how fast something is made (at least, not as a primary metric engineering). A salesman cares about how fast they can push to market.

It's clear HN is a bastion of salesmen who happen to have "engineer" in their work title. But the mentality towards actual engineering makes it clear they are primarily salesmen.


> An engineer doesn't care about how fast something is made

That is absurd, these are tools only my own team use. Why would I not care whether I had them in a month or two, or fur many of these tools quite possibly never because we don’t have the spare capacity for how long it would take without AI?


>Why would I not care whether I had them in a month or two,

Because you're thinking like a salesman. What difference does a month make for a supportive tool without financial incentive? Why can't you justify a month of development without the idea of corporate breathing down you neck?


Just wait until AI companies stop subsidizing everything and you get the ac


I run local models. They are very good now (roughly 30 billion parameters).


Here's a quote from a recent chat with gpt-5.2 that I wish I had come up with: "Anyone can chase a chicken. Leaders create systems."


What AI gives us is the ability to write code that we wish we didn't have to write. It is the killer one-off tool builder, prototyper, dep upgrader


How many ways are there of sending a context dictionary to a template where you can say that there are radically superior ways?


Quite the visualisation


Replace "paint" with "shit" and the visual image becomes even more fitting.


But then you lose the Jackson Pollock joke, which is what makes it compelling and memorable!


...or is it?


Earlier today:

>Amazon workers under pressure to up their AI usage are making up tasks

https://news.ycombinator.com/item?id=48148337


It's the new "counting lines of code". I think many companies are so terrified of falling behind that they're irrationally floundering, trying to appear like they're "with it".


Yup. My friend said his boss has told them basically that they HAVE TO (do all the AI things) because now ‘our competitors will use AI’ and surpass their product.

In my humble opinion good ideas (what to build) are a big part of the bottleneck and those aren’t substantially in greater supply with AI.


> good ideas ... aren’t substantially in greater supply

Which is sad because they should be. People should be freed up to think and create better things, instead these companies seem to be doing the equivalent of locking their employees in stalls like they do on some animal farms, so they can churn out 'results' ever faster.


> People should be freed up to think and create better things,

Good ideas will never ever be prioritized in the vast majority of companies because good ideas cannot be quantified and turned into performance metrics. At least not without invoking Goodhart's law (see: the academia).


Good ideas also take resources like time, free-space to think etc... many firms dont understand this. Moreover many firms believe the C-Suite are the almighty with the gods gift of great ideas.


There is a degree to which quick experimentation helps you find the good ideas, at least for the incremental ones.


Counting lines of code starts to look incredibly sane compared to this, where you’re not just counting lines of code, you’re paying for another company for every line produced. There’s exactly one winner here and it’s not any of the companies using AI.


Actually, it's even more than that, right? Economically, it is pumping up/inflating the bubble some more in a perverted way, where it is not the people themselves believing some horseradish, but their employer forcing them to pump it up more. Quite insane.


Claude, please crease a routine and run it in a loop continuously. The task in the routine is “create the most complex code possible, in a random programming language, that produces the exact output “My senior leaders are pinheads,”


Feels like a worldwide goldrush, but not everyone has gold in those hills.


I find that odd given that another division in Amazon is no longer using AI coding tools at all. Its a big company so who knows if this is company wide or just in this one division. I expect its just in one division though.


Those who burn the most money "win", I guess?


This is the best characterization of the collective corporate madness I've seen yet. Bravo


Never mind the Pollocks.


Can we combine this with the infinite monkey theorem? If we have an infinite number of Pollocks throwing paint at an infinitely large canvas surely they are going to create any piece of art we can imagine...


This does exist, it's the Library of Babel: https://en.wikipedia.org/wiki/The_Library_of_Babel#Philosoph...

There's also an online version of the Library of Babel, I just found out that full pages of my own books are in it[0], https://libraryofbabel.info/bookmark.cgi?379:17


I very much like this metaphor.


size of org has a lot to do with the entropy

compare 100 pollocks vs 2-3


lmao this analogy


Oh bollocks.


I’ve had to do a ton of SQL stuff lately, which I haven’t really worked with since the late 90s. ChatGPT has been a godsend, not just for me, but for our only coworker who knows SQL well, whom I’d probably be bugging several times a day at my wits’ end.

But no one cares about those kinds of productivity gains. Just the ones that will completely replace us.


I find SQL and data(bases) in general to be LLM’s Achilles’ heel. Databases are rarely under version control, so the training data only has one half of the knowledge.

My comments are more in the context of OLAP queries and other non-normalised data often queried via SQL.

I train non-LLM transformer models on (older and rarer) datasets, and automating the ingestion of sprawling datasets with hundreds of columns, often in a variety of local languages and different naming conventions adopted over decades, with quite a few duplicated columns…. The LLMs perform badly, it’s nigh impossible to test (for me as a user in prod) and it’s nearly impossible for the LLM companies to test (in training) to RLVR and RLHF this.


That's interesting - SQL is one of the places I find them the strongest - I think there must be an insane amount of training data out there for SQL. But mostly I'm asking them for ad hoc report queries. Nobody cares if they're bad SQL, they just want to know how many signups there were in March that didn't tick the marketing box. Sounds like you're pushing their capabilities a lot further than I am though - I just want to perform arbitarily complex queries on 3NF data.


Yeah not sure what this guy is talking about, LLMs excel with queries because the SQL language is pretty small in scope and its easy to test the output. Table structure and relationships are easy to feed to the AI.

> I train non-LLM transformer models on (older and rarer) datasets, and automating the ingestion of sprawling datasets with hundreds of columns, often in a variety of local languages and different naming conventions adopted over decades

All of this sounds like basic data processing


"Nobody cares if they're bad SQL"

Laid off your DBAs I see.


Ok, ok. Nobody who matters cares if they're bad SQL ;)


Just use an LLM to make a good knowledge base for the databases. Based on schema info and production queries. An agent can use that to write queries that work.


I'm the old school type who writes out a document that explains what I plan on doing in markdown even if it's generic like "a window with x and y buttons" and the logic flow and then use that to have ai write a plan with me before I send it off to execute it. This has worked super well.

I do enjoy giving the frontier models wacky projects that I can't even find examples of how to do online but I don't expect any results or need them and some have done really well with it while others fall on their face (models)


I'm always amazed by those comments. Why couldn't you buy a book on SQL[0], and spend a week on it? Or just go over to YouTube for a refresher?

[0]: Like https://www.oreilly.com/library/view/sql-queries-for/9780134...


I'm amazed you think that instead of using an LLM that someone will go buy a book and spend a week learning something that, judging by the fact that they last used it 30 years ago, likely won't be relevant for them soon.


It's not only that I rarely use it, it's also that it's ugly. It's Relational Cobol. It's as loveable as Oracle. The vendor specific dialects don't even agree on how to do recursive queries do they?

Unfortunately I am very good at forgetting things I resented having to learn, and SQL is definitively one of them.


So you don’t understand what you generate with ai and think that it will be a solution for a problem you can only solve using sql.


No, it's easy enough to understand the query once the AI has generated it. I have looked up how to do it many times after all.


Yes


If the AI's query pulled what I intended to pull, why should I care to understand the SQL any more than I should understand the Query Plan or the Machine Code?


There's nothing wrong with using SQL only when you know in advance exactly which records you wish to query.

But if you ever need to query unknown data, then probably you should learn SQL a bit deeper.


As with regex, querying is about not getting what you don't want as much as it is about getting what you want. And the former of the two is much more difficult to verify.


SQL is (was?) one of my strongest skills, I enjoy it a lot, and I still reach for the LLM. It's just faster than me, and when it goes wrong (rarely) I can correct it in plain English.


This is fine for a moderately sized query. When your queries start taking in 8 joins and 20 fields per table because you're running queries on Presto with 5 TB of data, not only is it drastically better at writing (because it doesn't mess up the fields), you can ask it to try the query 5 different ways to help you land on the most optimal.


That's exactly where I would expect it to fail somewhere, changing some part of the query every time it writes one.


In my experience, Claude (at least Opus and Sonnet) is pretty good about not misremembering itself.

I think you may be describing the experience of 6-12 months ago.


This is a great example of AI tech-debt and fragility.

An eight-join query is going to be nigh on unmaintainable should the requirements change, leading to a change-break-change-break spiral as your preferred coding agent tries to fix its previous fixes.

Maybe the wise way to use AI would be to sort out the schema.


This feels wrong. 8 joins is almost certainly reporting stuff, not transactional. Contrary to what some SQL-averse devs think, 300 lines of SQL is actually more maintainable than the equivalent ~1000 lines of application code. It's also much faster. And I do think that's the real conversion, because SQL is a much higher level language than currently available application languages. It's also declarative in nature, which helps maintainance.

A highly normalized DB can easily end up with 8 joins required for some function. That's really not out of the question. "Sorting out" the schema then would be... denormalization, which is a thing, but you need to know why you're doing it. And I think 8 joins isn't enough of a reason.


Yes but developers (or at least web backend developers, who are the ones I interact with the most) are extremely averse to SQL and normalization.


I think that's what was meant by "reporting stuff, not transactional".


When you have a general idea of what smells bad vs what's okay...why?

I'd rather get it from the LLM and review


Simple, because books don't earn OpenAI and Anthropic a dime.


A book on .... SQL? What is this, the 1970s?


Extremely weird take.


It’s really frustrating too because even just the plain language translation and pattern matching aspects have such incredible uses.

As a cybersecurity IR professional being able to have a constantly logging counterpart who’s also able to go run queries and check logs on its own is an incredible speed boost.

I can just throw it a finding and have it slot it into a timeline and make notes.

I can toss it something mildly interesting to chase down while I focus on the obvious activity.

So many things that don’t involve having it “think” for you and keep you in the front seat.

But all of that is constantly overshadowed by these companies pushing the automation or “reasoning” aspects more and more and the sycophants who screech that it’s perfect and can do no wrong when every serious users experience is that “yes, it definitely can, often to catastrophic effect”.


> outsourcing their decision making and thinking to AI and not really about using AI itself

> I use AI a ton and I'm having more fun every day than I ever did before

With respect, this is what makes me worry.

If someone is a user of AI, can they really tell the difference between "outsourcing" and "using"? I worry that a lot of people will start out well-intentioned and end up completely outsourced before they realise it.


relevant Derek Sivers article "Delegate, don't Abdicate" https://sive.rs/abdicate

there's a difference between having the LLM write stuff for you, checking it yourself, modifying it and merging it yourself, and just blindly trusting it to do whatever it wants.

You can ask an overseas consultant to prepare a prototype of your program for you, check it yourself, and only use it if it passes your standards, or fire your whole dev team and blindly trust the overseas bodyshop.

The difference, at least from my point of view, between "using" and "outsourcing" is that in the former case, you're still responsible for the output, you view it as a tool that helps in some use cases, vs just giving up all control.


The worst part of AI is that the time to produce software has become entirely unpredictable. "If Claude is randomly good at this, and happens to be up today, it will take me about 3 hours. If Claude is randomly bad at this task, or has downtime, 2 weeks"


Hi Mitchell. Psychosis is a serious psychiatric condition that can be induced or triggered by AI. “AI psychosis” in this context is a misuse of a clinical term. Your tweet describes a disagreement on a value judgment that boils down to “move fast and break things” with high trust in AI outputs vs going all in on quality and reliability with low trust in AI. It’s an engineering tradeoff like any other.

Claiming that the people who disagree with you must be experiencing a form of psychosis, experiencing actual hallucinations and unable to tell what is real, is a weak ad hominem that comes off no better than calling them retarded or schizophrenic.

If you genuinely think one of your friends is going through a psychotic episode, you should be trying to get to them professional help. But don’t assume you can diagnose a human psyche just because you can diagnose a software bug.


He uses "AI psychosis" as a description of people that are overzealous on AI. He is obviously not a person that can or would diagnose mental illness.

To the wider audience on HN the phrasing is pretty clear. An outsider with a tiny bit or intellectual charity wouldn't come to conclusions like you do.


People would understand what he meant if he called someone awkward “autistic” too. It’s wrong to use medical terms as slang because it erases the actual meaning and disregards the lived experience of people who have been through the condition. People who have been around psychosis would come to the same conclusion. The majority of the population not having that exposure doesn’t make it right. It’s tasteless and inappropriate.


Using terms from domain metaphorically in another is a common and, I think, useful way of communication. While a view like yours has genuine merit, especially for a subset of the population who have experience personal or otherwise, with the medical condition, I think it's overly restrictive and counter productive to label it as outright tasteless and inappropriate.


It's also harmful to overly gatekeep the term autism to the point where a lot of legitimate uses are discouraged, and it happens a lot, if you let it.


If the tweet had called his friends autistic, would that be a legitimate use?


Yes.


Yeah, but AI psychosis can also be used to mean the stronger thing that the parent comment refers to -- something like AI-induced psychosis, which was how I originally understood the term:

https://en.wikipedia.org/wiki/Chatbot_psychosis

https://www.rollingstone.com/culture/culture-features/ai-spi...

https://www.nytimes.com/2025/06/13/technology/chatgpt-ai-cha...


I am aware of the conflict between medical and slang semantics. This doesn't change my commentary.


Well, I agree with you that the parent comment is wrong inasmuch as it suggests we can't tell from context that mitchellh is using the term to mean "a value judgment" instead of "a form of psychosis". We can tell.

But I agree with the parent comment in that we shouldn't use the term "AI psychosis" to mean "a value judgment" instead of "a form of psychosis", because "AI psychosis" has already been used for 2.5 years to mean "a form of psychosis".


Psychosis does not require hallucinations. Delusions are sufficient.

The key factor is losing touch with reality, which results in individual or collective harm.

There is also such a thing as mass psychosis, and those are unfortunately a more difficult situation because the government and corporations are generally the ones driving them, and they are culturally normalized.


Yes. I was offering examples. Again, having a difference of opinion is not a delusion.

If he meant mass psychosis, he should have said mass psychosis. And again, since he is not a public health scientist or any flavor of psych professional, he probably shouldn’t make those proclamations. And should probably call for a wellness check instead of posting on social media if he were truly concerned for their health.


I don't think this is all psychosis but more like extreme groupthink.

For people who are considered neurotypical, social coherence often overwrites reality. Its a mechanism for achieving consensus withing groups while spending the least amount of brain compute energy. Same goes for social metainfo tagged messages, they are more likely to influence reality perception, subconsciously. E.G: If a rich guy says you should be hyped the people who wanna get rich will feel hyped and emotional contagion can spread between people who belong to the same "tribe"

It's very visible for us atypical folk who can't participate well in groupthink at all


https://en.wikipedia.org/wiki/Folie_%C3%A0_deux

I guess at a company of seven, if two people are making the executive decisions and the two people are drinking the same AI kool-aid and the other five people are dutifully following these executive decisions, the whole company can be considered to be under this condition.


I just thought that instead of psychosis it's just regular groupthink

https://en.wikipedia.org/wiki/Groupthink

Maybe the difference would be the level of absurdity that's accepted


I would add to this that there's actually a social function to "costly" beliefs, which is that they signal allegiance to the in-group.

A practice (or a fashion) has more social value to the degree that it is absurd, because it signals the person is able and willing to align with the group at personal cost.

This is easiest to see in some insular religious communities.

Normie culture is quite similar: a vast complex of ever-shifting shibboleths which signal, "I'm one of you. You can trust me."

It signals the person is able and willing to follow the rules, to make themselves predictable, easier to understand and cooperate with.


That is true, it's beneficial for social survival.

But what I find fascinating is how the groupthink mechanism alters the subjective reality of people.

Lies or fantasy becomes reality if the entire group believes it and people truly believe the collectively accepted things to be real.

It just makes me think about consciousness overall or the lack of it, because all these things are mainly governed by subconscious mechanisms in the brain.

We are not the same when it comes to levels of consciousness and if the group mechanism demands less of it, people have no conscious choice about it

Of course nothing is black and white


I think it is more about "knowing when to shut up" than about actually believing when it comes to sudden dominating group think. It is very clear in politics where a wing on some issue go silent and then suddenly appears way later.


But do these people have a logic on when to shut up?

Do they think out loud : "Now I should shut up because x"

Or is it an instinct they have after looking at others?

The more you can trace reasoning the more conscious, but the moment there is something created implicitly like an emotion or instinct then it's initiated by an automated subconscious response.

A large percentage of communication is non-verbal (emitted and processed subconsciously) so eye contact, micro expressions, gestures and body language play a large part in group communication.


I'm not sure that it has to be on a consciousness levels. I think it can be explained by anxiety/fear.


Yeah, It could be fear of rejection or not fitting in.

but if you ask somebody after they exited the groupthink state they will not say they did it out of fear.

They often say: "it just happened"

Why were you behaving like that?

"We just did"

Inability to explain reasoning points to subconscious mechanisms.

It's deeply built into humans to groupthink.


Having a difference of opinion can absolutely be a delusion. For example, I think you're probably not God. If you thought you were God, then we'd disagree, and you'd also be delusional.

I use that example because I have literally seen people fall into delusions of thinking they're God after talking to AI enough. That's shit is scary, for real.


Would you prefer it be called reality distortion field? People use slang, woke scolding the internet isn't going to change that.


"unable to tell what is real" is an an accurate characterization of the people he's describing imo.


was looking for this comment. this post is highly inappropriate and very inaccurate. this should be at the top. too many people are throwing around the word psychosis without knowing what it means. if someone is truely going through psychosis you get them help!


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: