I noticed that too and did roll my eyes as well but I'm glad I kept reading - its actually quite a good article. Maybe the author used an LLM to help do some copy editing but should have probably given it less editorial agency.
Either way I'm glad I read it and waiting for the other parts of the series. Really curious how to get access to this airline booking data so I can write my own bot to book my flights and deal with all the permutations and combinations to find the best deal.
Same here—I tolerated the linguistic tics, I found enough meat to keep going, but it’s the conclusions that confuse me. And that feels like the intellectually dangerous part with this sort of LLM writing. For example:
> Convergent evolution is real. Every major GDS independently arrived at the same underlying platform. That is not coincidence — it is the market discovering the optimal solution to a specific problem.
I struggle to understand the claim that GDSes “arrived independently” at interoperability standards through “convergent evolution” and market discovery. Isn’t it something closer to a Schelling point, or a network effect, or using the word “platform” to mean “protocol” or “standard”?
Isn’t it like saying “HTML arose from web browsers’ independent, convergent evolution”? Like—I guess, in that if you diverge from the common standard then you lose the cooperative benefits—see IE6. And I guess, in that in the beginning there was Mosaic, and Mosaic spoke HTML, that all who came after might speak HTML too. But that’s not convergent evolution, that’s helping yourself to the cooperative benefits of a standard.
“The market” was highly regulated when the first GDSes were born in the US. Fares, carriers, and schedules were fixed between given points; interlining was a business advantage; the relationships between airlines and with travel agents were well-defined; and so on [0]. IATA extended standards across the world; you didn’t have to do it the IATA way, but you’d be leaving business on the table.
If anything, it seems like direct-booking PSSes (he mentioned Navitaire [1]) demonstrate the opposite of the LLM’s claim. As the market opened up and the business space changed, new and divergent models found purchase, and new software paradigms emerged to describe them. It took a decade or two (and upheaval in the global industry) before the direct-booking LCC world saw value in integrating with legacy GDSes, right?
…the LLM also seems bizarrely impressed that identifiers identify things:
> One PNR, two airlines, the same underlying platform.
> Two tickets, two currencies of denomination, one underlying NUC arithmetic tying them together.
> One 9-character string, sitting in a PNR field, threading across four organisations' financial systems.
> But in general, identifiers have little currency outside the system that generated them
That's clearly wrong, because if it were true we wouldn't be able to identify anything. Identifiers are only useful in so far as some external party assigns a meaning to the identifier. Two systems MUST pick a common idwntifier to discuss a person. They MUST pick an identifier to discuss a technical field. They MUST even pick an identifier to discuss a technical protocol.
Identifiers are everywhere. They'll usually be translated into something internal at the edge of a system, but I bet the PNR is too.
Most identifiers are for use within a system, and are not intended to be GUIDs, semantically. My name is Paul Davis, which functions well enough as an identifier within my lived community, but is pretty useless as "real" identifier for me, which is why other entities I interact with want my birthday, or social security number, or passport or ...
One can cheat on this for airline systems by taking the position that "the system" is the aggregation of all the different systems, not any one of them.
Interesting to note right at the start of the article that they sat on a plane next to each other in 1953 but the formal partnership between AA and IBM was not till 1959 - 6 years later! The article makes it look like all this happened magically fast but in reality a reminder that things take time!
>> is almost mythological. In 1953, C.R. Smith, president of American Airlines, was seated next to R. Blair Smith, an IBM salesman, on a cross-country flight. By the time they landed, the outline of a solution had been sketched. IBM and American Airlines entered a formal development partnership in 1959.
edit: oh and then the actual system didn't actually go live another 5 years later - in 1964. Over a decade after the two of them sat next to each other.
Reminder to myself when my potential customers don't sign the deal 5 minutes after my pitch!
So during the intermittent period IBM and American Airlines were focused on research of the problem.
The system was a based on a military messaging system.
What is important to note is before SABRE the system used was a sell at will until a stop message was issued. Then sales would be on request. This method is still used between different airline systems today.
Before the implementation of SABRE airlines used teleprinters as a way of communicating. Some of the commands SABRE and other IBM 360 systems come directly from this period. For example AJFkSFO9MAR was a way of economizing on characters sent. It means what is the available seats from JFK to San Francisco on the 9th of March. This predates SABRE.
There is several reasons that the System 360 (the reservation systems used by airlines like SABRE) is one that it is written in Assembler, and also the logic is very tied into its role of reservation. For example it was designed in the days of punchcards, which have a totally different method of matching than a relational
Database. The logic is still used on matching a seat to a fare.
On the pure speed much of it is gained by clever engineering tricks. An example would be the passenger record. This is 9 alphanumeric id of the passenger reservation. It is the hash of virtual memory location of the reservation.
It takes 4 cpu cycles to retrieve it.
Three women are sitting in a bar discussing their lovers, the first says, "My lover is a wrestler, he's so energetic, it's _wonderful_!".
The second responds, "My lover is a poet, he's so romantic and thoughtful and sensitive, it's like something out of a fairy tale!".
The third is silent, and the other two women look at her expectantly until she finally sighs and says, "My lover is an IBM salesman, he just sits on the edge of the bed and tells me how good it will be when we eventually make love."
I don't understand why claude code (and all CLI apps) isn't written in Rust. I started building CLI agents in Go and then moved to Typescript and finally settled on Rust and it was amazing!
claude code started as an experimental project by boris cherny. when you’re experimenting, you naturally use the language you’re most comfortable with. as the project grew, more people got involved and it evolved from there. codex, on the other hand, was built from the start specifically to compete with claude code. they chose rust early on because they knew it was going to be big.
While the LLM rust experiments I've been running make good use of ADTs, it seems to have trouble understanding lifetimes and when it should be rc/arc-ing.
Perhaps these issues have known solutions? But so far the LLM just clones everything.
So I'm not convinced just using rust for a tool built by an LLM is going to lead to the outcome that you're hoping for.
[Also just in general abstractions in rust feel needlessly complicated by needing to know the size of everything. I've gotten so much milage by just writing what I need without abstraction and then hoping you don't have to do it twice. For something (read: claude code et al) that is kind of new to everyone, I'm not sure that rust is the best target language even when you take the LLM generated nature of the beast out of the equation.]
Think about your question, depending on the tool, Rust might not be needed, is high level memory performance and safety needed in a coding agent ? Probably not.
It's high speed iteration of release ? Might be needed, Interpreted or JIT compiled ? might be needed.
Without knowing all the requirements its just your workspace preference making your decision and not objectively the right tool for the job.
While not directly related to GP, I would guess that a codebase developped with a coding agent (I assume Claude code is used to work on itself) would benefit from a stricter type system (one important point of Rust)
Yes, but if you put type strictness on a line, Rust would be further along I think.
Not to say that Typescript is bad or anything, but I would like to see data on my gut feeling that "stricter languages would make coding agents work better"
This is actually a curious one, I think you might have that gut feeling towards the compiler/transpiler ?
> Yes, but if you put type strictness on a line, Rust would be further along I think.
There are huge differences between build times, as we know, Rust likes to compile with effort, by design, it's important for the compiler to navigate all the nuances. Typescript with bun for example, can run a bit faster. Is the compiler making you think it's more 'type safe' ?
This looks really nice! Congratulations on building something awesome, especially in a space that's "crowded" with the big players.
I want to give kudos to two things:
1. It took you 10 months to build this. This is focused product development and craftsmanship which is very different from Vibe coding something. So let this be a reminder to all the "I can vibe code this or that in a weekend". Good products / experiences take time.
2. You've pursued building something in a space that anyone would normally dismiss right away: "Why would anyone use this? Google Docs/ Word etc already does this" or "MSFT / GOOG will destroy you". Good on you for picking something that is hard and building it well. I actually had this idea and almost built it but dismissed it myself for the same reasons as above. So reminder again for the builders in the back: Doesn't matter if there is a 800lb gorilla building this, if you can execute it better go for it.
> This is focused product development and craftsmanship which is very different from Vibe coding something. So let this be a reminder to all the "I can vibe code this or that in a weekend". Good products / experiences take time.
How do you know? There isn't a git repo that one can see the history of, he could have coded this in one weekend and used the rest of the time doing noncoding activities. Also, he could have made the entire thing by prompting without any hands on coding at all. The fact that it is a web app with a SaaS platform (the thing that LLM-assisted coding is the best at) doesn't inspire confidence.
I signed up and gave the product a spin and its clear that its not some vibe coded weekend project. Clearly a lot of effort has gone into it and OP also was clear that they've spent 10 months on this.
Thanks, that's nice. Yeah it's been 10 months, and 7 of them completely full time... living off savings. I think there's plenty of room for innovation with word processors now that we have LLMs and the big players are unlikely to go far outside the box.
Yeah, all of that was fun/tricky to figure out. I'm planning to start a little dev blog on Revise that will get into the weeds of how this stuff works - will share it on here when I get around to it. Too much to explain in a comment. Thank you though!
It’s an approach that works and I’ve thought of implementing the same thing but stopped short because I feel it just pushes the underlying problem around. Now I have to share my creds with a black box that I know very little about and it’s not a real vault.
This should be solved by the vaults (hashi corp / AWS Secrets Manager).
The one thing that I did build was based on a service that AWS provides (AWS STS) which handles temporary time bound creds out of the box.
It took me a minute to recognize this as satire (thank you HN comments). However it does actually make sense - maybe this could be a way for OSS devs to get paid.
What if we did build a clean room as a service but the proceeds from that didn't go to the "Malus.sh" corporation, but to the owners / maintainers of the OSS being implemented. Maybe all OSS repos should switch to AGPL or some viral license with link to pay-me-to-implement.com. Companies that want to use that package go get their own custom implementation that is under a license strictly for that company and the OSS maintainer gets paid.
I wonder what the MVP for such a thing would look like.
This site is not satire. You can actually pay on Stripe and it will create code for you. The site is written with satirical language but it is a real service.
I consider this a form of performance art. To really expose the absurdity of the system, you can't just point at the cracks; you need to actually stick your fingers in.
Yes it's even more effective this way IMO, we will probably see some 11/10 mental gymnastics from people condemning this and failing to apply the same standards to billions dollars corps.
Part of the point here is that the systems are fundamentally broken, more broken than they were before when we already thought they were broken.
Some people look at that and think "I suppose we should keep propping this system up as much as possible; the less propping the more immediate harm is caused to people/infrastructure/society".
The people behind this site/talk clearly don't buy into that. The way they see it, a reckoning must come. We might as well get it over with as soon as possible. Rip off the band-aid so to speak. So maybe we should shake the system and show that its falling apart.
I am only 50% certain that your idea is expanding on the satire, if not: project owners can provide dual licensing. I'm sorry if you are serious and didn't understand you.
After bogo-sort, it's the most badness-maximising "solution" I've ever come across. Why bother asking for the creator's consent to copy and run the original bytes, when you could instead ask for their consent to have a robot that no one understands and could potentially do anything read a few paragraphs of text describing what those bytes do, imagine how it might work, and try to build something resembling that from scratch, using a trillion or so times more energy.
// VibeSort
let arr = [51,46,72,32,14,27,88,32];
arr.sort((a,b)=>{
let response = LLM.query(`Which number is larger, number A:${a} or number B:${b}. Answer using "A" or "B" only, if they are equal, say "C".`);
if(response.includes('C')) return 0;
if(response.includes('B')) return -1;
if(response.includes('A')) return 1;
return 0;
});
console.table(arr);
The energy thing won't sail. A backhoe or front-loader uses far more energy than the equivalent human labor, but having higher energy solutions available is what technological civilization does.
Arguably Cowen's "Great Stagnation" was driven primarily by not embracing higher energy provision in the form of fission.
Copyleft was intended as a principle to keep the software free (as in 'freedom'). Proposing to lock out certain areas of the codebase is directly opposite to this principle.
LOL. Same here. But the footer disclaimer and testimonials gave it away immediately:
> "We had 847 AGPL dependencies blocking our acquisition. MalusCorp liberated them all in 3 weeks. The due diligence team found zero license issues. We closed at $2.3B." - Marcus Wellington III, Former CTO, Definitely Real Corp (Acquired)
> This service is provided "as is" without warranty. MalusCorp is not responsible for any legal consequences, moral implications, or late-night guilt spirals resulting from use of our services.
This site is not satire. You can actually pay on Stripe and it will create code for you. The site is written with satirical language but it is a real service.
This could work out great, because the OSS devs can focus on building their project instead of marketing to businesses, running sales processes, consulting on implementation and supporting the implementation. No need to find corporate sponsors either.
Lol so instead of paying maintainers who already built the thing you want, we instead charge you to use AI to make countless copies of maintainers’ work and direct the profits back to the maintainers? That sounds like true satire.
There should be a "flag as AI" link in addition to "flag" and then a setting for people to show flagged as AI. Once the flagged as AI reaches a certain threshold then it disappears unless you enable "Show AI".
Maybe once enough posts have been flagged like that then that corpus could be used to train an AI to automatically detect content generated by AI.
That would be cool.
Maybe the HN site wouldn't add this feature but if someone wrote a client then maybe it could be added there.
> We're going to add that. I've resisted adding reasons-for-flagging for years, but even I can change my mind every decade or so.
You need a reason that means "this person is talking about something helpful that an admin needs to fix." Flagging currently has a negative connotation (too many flags and the comment gets deleted), but sometimes you want to flag a comment that says something like "the link is broken and should be X" to just bring it to admin attention without the implied negative judgement.
Flag as AI would be incredible and is probably unique to software-focused forums. Saves everyone who wants it a lot of time. Still allows cool content to reach the front page with some visibility or escape some moderation queue.
Thanks for not standing still on this issue. The world is changing, fast, and glad HN responded quicker than some forums on a cogent stance.
I do sort of like the idea (suggested by mthurman) that we let users prompt HN to be the kind of HN they want. That could be the ultimate dump of long-requested features (dark mode! tags! blocklists!)
My radical opinion is there shouldn't be 2 flags, there should be N flags, user defined, so that we can flag humor/satire/factuality/insight/political and a bunch of other things. I fully realize that's not going to fly any time soon.
Adding AI in addition to the standard up/downvote and flag seems a reasonable thing.
That sounds like /.'s moderation system. Not that I disagree, theme based filtering could be fun but also encourages things like meme threads that you'd see on reddit under the guise of "Just filter funny out and let us have fun".
I think the up/downvote system is good enough for that - good posts go up, bad posts go down, really bad posts that nobody should see and whose poster should get banned get flagged.
‘Flag’ is an algorithmic flag only, and there are no humans in the flag algorithm’s processing loop. They may monitor and react to the ‘queue’ of flagged articles, and they can do special mod things with flagged posts. But if you want to report a guidelines violation for AI-assisted writing to the mods, just email the mods (contact link in the footer) subject “AI-assisted writing flag” or similar with a link to the post/comment. It works, I know, I’ve done it before. It takes maybe 60 seconds and there is no other way on the site (seemingly by OG design!) to guarantee human review but that email.
> It works, I know, I’ve done it before. It takes maybe 60 seconds and there is no other way on the site (seemingly by OG design!) to guarantee human review but that email.
It's a ton of friction compared to ordinary use of a forum; and while I've emailed several times myself, it comes with a sense of guilt (and a feeling that my "several" is probably approximately "several" above average).
Valid. It’s a big drawback of HN. I find it helps to report a perceived guidelines violation in “seems like” language rather than “is”, without demanding a specific mod outcome, in cases where I’m uncertain. That is noticeably distinct from “this is completely unacceptable” which I’ve said in a couple of instances, though I still tend to let the mods pick the outcome since that’s their job and I make a specific effort not to participate in sentencing decisions if at all possible.
ps. I acknowledge as well that I’m exempt from feeling guilt for brain reasons, and so if it sounds like I’m not honoring what I would describe as a ‘completely normal’ human response, apologies; I’m trying my best given the lack of familiarity and intend no disrespect towards that reaction.
Nah, as long as you aren’t demanding and rude, you’ll either get a reply or not, and if you get a reply, it’ll either be “we’ll look into it”, “we looked into it and acted in some way”, or “we looked into it and decided it isn’t actionable”; often with some supporting explanation.
(I suppose if you open with e.g. “wtf is wrong with you mods” they might well ask you to reconsider your approach or else clock a ban — I’ve never tried that!)
Age Verification is very hard to do without exposing personal information (ask me how I know). I feel it should be solved by a platform company - someone like Apple (assuming we trust apple with our personal information but seems like we already do) - and the platform (ios) should be able to simply provide a boolean response to "is this person over 18" without giving away all the personal information behind the age verification.
Now the issue of which properties can "ask to verify your age" and "apple now knows what you're looking at" is still an unsolved problem, but maybe that solution can be delivered by something like a one time offline token etc.
But again, this is a very hard problem to solve and I would personally like to not have companies verify age etc.
Either way I'm glad I read it and waiting for the other parts of the series. Really curious how to get access to this airline booking data so I can write my own bot to book my flights and deal with all the permutations and combinations to find the best deal.
reply