Posted by RyeCombinator 6 hours ago
There is no description of what the thing is, no indication of what value it provides its users. The closest it gets is "the product has been used by hundreds of users internally, including daily internal power users".
But the fact that the thing has a million lines of code is repeated twice in the first few hundred words.
My guess is it’s an email filter.
> million lines of code
> written 100% by agents
Yeah, probably an email filter. Or maybe a JS menu for a departmental wiki that basically recreates jquery using MS JScript and transpiles it into JS 5.
It may also be an email generator.
The email filter team is trying to match the pace of innovation of the email generation team. At stakes is the ability for the employees to process the billions of mission-critical generated emails each of them receives each day.
Probably because you smoked too much weed in school.
Remember, this is the tech industry! An abject lack of knowledge is no impediment for people with boundless confidence in their assumptions!
>We intentionally chose this constraint so we would build what was necessary to increase engineering velocity by orders of magnitude
What kind of wanky bs is "engineering velocity". Maybe the post was written by AI?
There are certainly very large applications in that repo in the hundreds of millions of lines of code. But comparing the entire repo to single applications is not an apt comparison.
The world’s biggest software is usually built over endless adapters of different data and a need to reconcile endless edge cases with laws, regulations and real world complexities.
https://openhub.net/p/chrome/analyses/latest/languages_summa...
Somehow everything boris says has become the word of God. The dude is just an engineer, like you and me, who gets unlimited tokens for free.
And this is hacker news. A place where famously the most upvoted comment is the one critical of the post.
I may not be representative of the universe or have a controlled, randomized study to back it up, but that's not what upvotes are for are they?
I do think that over the past few months, it feels like the hype around producing unmaintainable amounts of LoC has started dying down. More pragmatic and realistic takes are seemingly shared more openly, and are maybe even getting through to top leadership at some tech companies. Maybe not all is lost yet.
“Technical debt” never hooked management in the same way and we have found it hard to convince them that it needs to be addressed. Debt in general is something that can be a problem, but doesn’t need to be avoided or addressed until it is a problem so the can is kicked down the road.
To me, tech debt, captures the idea that we cut corners now to move faster, with the understanding that it will need to be "re-paid" and cleaned up later, otherwise we take on too much tech debt, and everyone knows too much debt is bad...
AI slop code means people feed their tasks to a model, trust it to drive the changes, they might do some cosmetic clean ups, then generate a 3 pager PR description they didn't even read themselves, then toss it over to the code reviewer, let that chump figure out what the hell I was doing while I ship 3-4 more PRs...
AI slop is an easier concept to quantify. It's basically the code for which insufficient people in the organisation have a meaningful understanding of how it works or what it does.
Its connotation also includes being vastly larger than needed for the purpose it serves, _if_ there is even any purpose.
Seemingly engineers get this wrong too. I'm reminded of when Cursor bragged about how many lines of code a group of agents could produce, with the underwhelming results of a barely working browser, when the same could be built with much less code.
But they highlighted the amount of code as they were proud over how much slop their constellation of agents had shit out, and these were supposedly engineers, really strange to see.
And anyway, I’m pretty sure what people really mean by this “less is better” mantra is: the lowest amount of code that still accomplishes the goal and is still readable is preferred. Linux apparently has 40M lines of code, and I bet most of it is better than mine. Some things just take lots of code.
Which seems to leave room for these agent salesmen to pitch SLoC as a plus. We just have to believe those lines are all good ones. I that case, it would be impressive. I don’t believe it, but they are probably pitching to people who do.
No, it's the perspective of a programmer who wants the project to not be bogged down too much in technical debt so every change gets slower and slower to implement, as everything gets more intermingled. A clean design helps you move faster for a long time, compared to a design that is fast to implement but makes it hard to move forward properly in the future, without resorting to shortcuts and/or hacks.
> Some things just take lots of code.
True. Rich Hickey does a good job differentiating between what's complicated because the domain is complicated, VS what's complicated because the implementation just ended up that way, even though with some more thought and design, could have been made a lot simpler.
I think it is (or should be) a goal & business-oriented concern as well, not just an engineer's who enjoys their craft.
More complex systems are worse than simpler systems (that accomplish the same), in cost, maintenance, fragility, ease of understanding, etc. Fewer moving parts usually result in higher reliability, fewer things that can break down or fail to interact properly, etc. That's a business concern too, not just engineering craftmanship or whatever. Business people should care about this too.
I don't think this is the same as bikeshedding over irrelevant details, something we software engineers are often prone to. Monstrous complexity does impact the business!
I wish I were joking.
(The had never been an engineer.)
(I once worked with an engineer that had two PRs, both fairly small bug fixes, in a given calendar year, and when I looked more carefully, they did not have any other obvious output or impact.)
You're saying that the manager-of-managers would argue that the number of PRs should affect perf ratings? Or the MoM would push back against the line managers who were giving ratings based on # of PRs?
I wonder if a small part of this is more and more business and product people actually trying to incorporate AI into their daily workflows. I have seen this in both small companies I work for. People were very excited about getting Claude Cowork a couple of months ago, and while they use it daily, I would say they are rather underwhelmed compared to the magic they were expecting. Complaints include the output being mediocre and verbose, it getting the most basic things wrong, hitting token limits all the time, and people going back to doing things themselves because it is faster.
Sure, there is some degree of holding it wrong in the beginning, but people are realizing that maybe, just maybe, there is still somewhat of a gap between what AI CEOs, LinkedIn grifters, and YouTube AI supplement peddlers claim and reality.
The marketing ploys of OpenAI/Anthropic where agents build something that nobody uses might be hard to track given that there are zero users. But what about everyone using agents for real software? It's trivial to prove that agents make progress.
Why? If you can deliver the same thing in fewer correct lines of code wouldn't that be preferable? At a bare minimum if you're still insisting on using AI to slop out your project, having it do things in fewer lines of code means you can fit more into your LLM's context window.
it really depends on what you're doing. If your goal is "become interoperable with the N different and incompatible network protocols that people have devised for doing task X" I'd really like to know a solution that doesn't have at least some part of the amount of code that scales with N.
Example: consider https://bitfocus.io/connections which connects to 700 different things. Right now it's written with Node.JS, with one repo per connection (example: https://github.com/bitfocus/companion-module-meyersound-gala...). Let's say you want to make a similar product but that runs on ESP32 where performance is paramount so you need C++ or Rust. How do you do that without at least as many lines of code as the existing JS implementations for every system supported by Companion?
You're arguing the inverse: that at least some parts of the code are independent of N. Sure. But the topic is the part that isn't.
Moreover, writing too terse code harms readability and maintainability. There is such a thing as irreducible complexity.
Did those engineers not actually read the complete tweet? Because it wasn't about "engineers should write 1M LOC per month of product code" it was "we want to scale automated porting of code to safe languages so that 1 engineer managing 1M LOC of automated conversion can work". Which doesn't seem like satire at all..? It just means "develop mostly reliable AI-driven refactoring tools with good guard rails". Which seems quite sensible, actually?
Making a grand claim of a goal and not really having an explanation on how to achieve it isn't really much better. I could say "we want to scale food production so that one farmer could manage a million acres of corn a month", but that wouldn't really be sensible. A line of code is less work than an acre of corn of course, but I don't think it's at all apparent what upper bound for how much code is actually plausible for a single engineer to generate in a month and have any degree of confidence in. Given the absurd levels of hype around AI from non-engineering management in the past couple of years, it's not clear why the benefit of the doubt is earned here when there legitimate are managers and executives claiming pretty much exactly what you're claiming this guy wasn't.
Porting to a new language is easy, but does nothing useful. What we need is to fix the mistakes of the past so we can get to the future. We need to make acceptable performance.
> Because it wasn't about "engineers should write 1M LOC per month of product code" it was "we want to scale automated porting of code to safe languages so that 1 engineer managing 1M LOC of automated conversion can work"
These are one and the same. Whether it's ported code or not doesn't change that. The framing device also doesn't matter, because it's the exact "Oh it's our goal" shtick that executives use in the former's case.
"It's just a measure" doesn't cut it in a world where every single AI measure immediately gets turned into a target by executives greedy for efficiencies that don't exist.
EDIT:
Right, I forgot. This is HN where everyone is a galaxybrain and "Port a million lines of code per month" is a totally reasonable goal for a single individual.
In contrast, converting 1M LOC of code per month is a much more solid measure, as long as you measure LOC of the source, not the new code. Sure, in the short term you can pick the easy/verbose things to port, but it's hard to do sustainably. A 5M LOC code base would still be expected to be ported in 5 engineer months.
Granted, you can still rush the work, not test properly, neglect good planning and engineering. Ported lines of code should not be the only measure (just like with any other measure). But it's a much less problematic measure than coding 1M LOC
Which is the core point of my reply and not something to just be casually handwaved, thank you very much.
Otherwise it really sounds like a recipe for unnecessary huge risk with dubious expected positive outcome.
Not saying don’t have fun, but on the other side maybe not with the core product of you cash cow already?
Because many programmers don't believe that'd work. See the reaction to Bun's porting to rust. (I bet Bun will work and prove those programmers wrong, but that's another story.)
Because they're bullshitting and using AI as an excuse to correct from their covid era over-hiring while simultaneously making themselves look good to investors by showing they're embracing the hip new technologies to become a more streamlined and cost-efficient operation than ever.
The reasons we rejected LoC and other measurements have not changed (broadly: code output isn't important, quality output is). AI has all the same problems people do. But for whatever reason we are throwing what we've learnt away. It's kind of embarrassing.
In addition to "feel productive", two other feels I think are flying under the radar:
1. You get a parasocial relationship with a "friend" (or at least conversation partner) who seems to "understand" you.
2. You get some form of gambling entertainment when you pull the lever and the output keeps landing on different sides of the jackpot you want.
While #2 has some overlap with classic creative struggle, I think it can at least be seen as a kind of junk-food verson, where the frequency is different and the health-promoting parts aren't present.
That's because you would always have loosely involved but aggressive and demanding bosses (there is unfortunately an economic value to the boss whose primary task is forcing more effort out of the employee and who doesn't help coordination or anything else). So at best you had two intersecting clouds of approaches with actual accomplishment intersecting with LoC and related measurements.
The thing AI is that it provides all the tools to satisfy that loosely involved but demanding boss. So suddenly you are going to have a larger demographic of people who like LoC and feature-additions as metrics 'cause now they are easy.
It is weird that the author seems to understand that the pro-AI claims made by AI companies about the product’s necessity are not falsifiable, but then backtracks with “woah woah woah but don’t think I’m anti-AI.”
How is the assertion above any more rigorous than the productivity claims the author is criticizing throughout the rest of the article? That you won’t “survive” if you don’t adopt AI within a few months?
It is not true when the AI CEO says it, and it is not true when the person calling BS on the AI CEO… for some reason also says it…
People do take into account the motivations behind what someone says and to me the motivations here seem different enough to make some difference here. The AI CEO has an obvious motivation to lie, but the person calling BS doesn't have such a clear motive...
It's not the first article I've read recently that is an ad for AI after a short context pretending to criticize it, with nothing connecting them.
So yes, use AI. Don't nitpick the costs and benefits. The world is headed this way; if you want to develop software for a living and afford to eat, you need to be too.
Need more devs? Why? If a company was being profitable just fine prio AI era, they will still be profitable if they decide not to use AI. Shipping crap faster is not a formula for success. Shipping quality faster? I prefer shipping quality at a good pace
growth is much more important than profitability
I usually buy and use products that are simple and effective, and that get out of my way to do the thing that I want to do.
For email, I’m a happy customer of Fastmail and I’ve been paying them for years. I don’t care if they ever release a new feature and I’d never switch away from them to a competitor that’s less stable but does more. They release improvements slowly but they are very stable. But I would switch away from them if they start shoving AI into things or delivering subpar features that make my email worse.
For healthcare related websites, I can already see my test results, schedule appointments, and communicate with my doctor. What more could an AI-driven medical platform give me that makes my life better?
For maps — I unfortunately had to move away from Apple recently when they added Ads. So I’m mostly just using OpenStreetMaps. I could see AI improving the OSM functionality by updating the app (OrganicMaps) routing algorithms and such, so there is room for growth there, but it’s not that massive.
Can anyone offer features that Uber can’t now due to LLMs? There are a bunch of local Uber competitors but uber wins because it’s easy and there aren’t major features to differentiate there.
Do you have examples that prove that delivering a bunch of features really fast is going to steal customers from something?
ai is more than delivering features fast (thats probably one of the lowest priorities for companies)
right now its a race to automate work, especially back office. companies already are seeing 10M+ in savings and revenue growth and we're barely starting. workflows in sales, outbound, gtm, marketing, eng, operations, compliance, kyc etc
consumer is a different beast, consumers want convenience which has already been hyperoptimized and the big consumer cos run on network effs instead of features
They are implicitly saying that as a company, they don't want to be more productive. They want the same productivity by paying fewer more productive people.
Why is there an imbalance between what an employer gets paid for a unit of production and what an employee gets paid for a unit of production?
Because labor gets exploited to make the owners richer. That's the basic fact, even though the owners (as a class) have financed a lot of propaganda to justify and obscure it.
Only a person who never tried to organize labor into a company could ever have such a couch-sitter opinion
Granted, grandparent comment used _charged_ words. Let's rephrase: labor is used to ultimately provide owners more money than they put in.
Is that not a fair assesment of the real world? Who starts a company to lose money? Who starts a company solely for "creating jobs"?
What exactly is the beef with grandparent comment? Is it just the negatively charged words? It's the rephrased version beef-inducing as well?
I'd rephrase that: labor is used to provide the owners the maximum amount of money they can manage to extract from the people doing the labor.
A technology 10x's worker productivity? That means 9x more goes to the owners, and 0x (zero) more goes to the workers. Maybe the workers get even less, because now you can fire some.
> Who starts a company to lose money? Who starts a company solely for "creating jobs"?
A more equitable distribution of company profits does not imply the company loses money. It does not imply useless make-work jobs.
I fully agree, and remind you it's completely legal and simple for you to go and start a company that does equitable distribution of company profits. More people should do it instead of complaining that few people do.
I believe you mean same output but fewer people? But by definition that would be higher company productivity, as the definition of productivity at the company and/or national level is the ratio of outputs to inputs. If you have fewer people but are getting the same output, then the productivity of the company (or nation) has improved.
If you had fewer people but the same productivity then there would be no benefit to the company as the outputs would correspondingly be reduced (and it may actually be worse for the company if the company has any fixed costs).
https://www.mckinsey.com/featured-insights/mckinsey-explaine...
> If you got a free headcount increase essentially overnight, why wouldn’t you use it to deliver more value to your customers, faster?
That shows that, in reality, it's short-sighted profit-taking. Boss just wants another lambo in the garage, and doesn't really plan to be around, when it's time to pay the piper.
Suggestion: we should all shift our terminology, and in particular make heavy use of phrase "...and it cost N lines of code". And say what we spent those LoC on.
"I implemented new feature X, and it only cost 200 lines!"
"That bug was brutal to figure out, but in the end it only cost 6 lines of code."
"It was doing something in case X that it didn't do in case Y, and it turns out that the distinction wasn't even needed. So I fixed the problem and saved 20 lines of code at the same time!"
Lines of code are a price you pay. We don't go around bragging about how we spent $200 without any mention of what we purchased with that money. Why do we do that with LoC? "I had to pay an extra $200 because I signed up late" and "I only paid $200 for my hand-painted artisanal pottery lamp hanger. Factory-made ones cost upward of $1200 on Amazon!" are two very different statements, and map to exactly the same distinction in code.