3,448 karma · joined May 23, 2020
Have you ever built a highway overpass? That kind of engineering is complex and interdisciplinary. You need to carry out extensive traffic pattern analysis and soil composition testing to even know where it should go.
We're at a point where we've already automated all the simple stuff. If you want a website, you don't type out html tags. You use Squarespace or Wordpress or whatever. If you need a backend, you use Airtable. We already spend most of our time on the tricky stuff. Sure, it's nice that LLMs can smooth the rough edges of workflows that nobody's bothered to refine yet, but the software commodities of the world have already been commodified.
LLMs can be handy, but they're not trustworthy. "Own and be responsible for the code you commit" is an impossible ideal to uphold if you never actually sit down and internalize the code in your code base. No "summaries," no "explanations."
More broadly, suppose foo() has an implementation that depends on Bar, but Bar is complicated to instantiate because it needs to know about 5 external services. Fortunately foo() only depends on a narrow sliver of Bar's functionality. Why not wrap Bar in a narrow interface—only the bits foo() depends on—and fake it?
I'm not a maximalist about test doubles. I prefer to factor out my I/O until it's high-level enough that it doesn't need unit tests. But that's not always an option, and I'd rather be flexible and use a test double than burden all my unit tests with the full weight of their production dependencies.
People often use the word "mock" to describe all of these things interchangeably², and mocking frameworks can be useful for writing stubs or fakes. However, I think it's important to distinguish between them, because tests that use mocks (as distinct from stubs and fakes) are tightly coupled to implementation, which makes them very fragile. Stubs are fine, and fakes are fine when stubs aren't enough, but mocks are just a bad idea.
[1]: https://martinfowler.com/articles/mocksArentStubs.html
[2]: The generic term Fowler prefers is "test double."
You may think, "I don't need that," but once you've got more than a couple microservices, you'd be surprised how many headaches this type of compatibility issue can cause. You may think, "I can do that with json," but can you do exactly the same version of it across 4 or 5 different languages while maintaining a single source of truth for each message type's schema? At that point, you're just rebuilding Protobuf.
Afaik the only other tool that does what Protobuf does is Avro, though I haven't used it. I have tried to use json-schema for this, but that's not what it was made for. The schema evolution story is worse, and the codegen isn't as good.
jmsg, _ := protojson.Marshal(msg)
fmt.Println(jmsg)
That's negligible.You could turn that around & say that, for the negligible human cost of using a tool to read the messages, your entire system becomes slower.
After all, as soon as you gzip your JSON, it ceases to be human-readable. Now you have to un-gzip it first. Piping a message through a command to read it is not actually such a big deal.
Of course, your hodgepodge ecosystem will eventually ends up a bit of a mess, but I'll take that over a flashy off-the-shelf framework that insists on handling everything itself.
I don't know how to explain to you that an increase in supply results in the price of a good decreasing.
> Yup. And the rent is high because...?
High demand, low supply. Obviously.
> check the average pay in areas that don't have direct access to the city cores and the average pay in Downtowns
Yeah, because downtown office space costs more & goes disproportionately to higher-paying finance jobs. That has nothing to do with density—that's just finance bros wanting to work in the fanciest skyscrapers.
> The average total expense for _new_ cars in the US is about $1000 per month
Your source refers to cars generally: "As of 2025, the average annual cost of owning a car in the U.S. has reached approximately $12,297, translating to about $1,025 per month." Even with your $500/month figure, transit is still much cheaper. And that $500 isn't just distributed among riders—drivers pay some of it too, as they should, since every person on the subway is person not driving on the road, reducing the need for road infrastructure maintenance & expansion.
> Just one mile of tunnel in Manhattan now costs more than 1500 miles of 6-lane freeway!
Again, Manhattan is unique. I don't know why you keep referring back to it as if its problems are easily generalizable. They put their trash on the street in bags because they don't have room for dumpsters. Also, yes, that's why LRTs are popular—no tunnel required.
Lol as if you can't just look up the transit commission's budget. (Annual budget) ÷ (average daily ridership × 12 months per year) = $180 per month per rider at most (since the pool of riders is larger than the daily average).
> Yes, and it is metastasizing into other neighborhoods.
Good. More apartments means cheaper rent.
> If density works so well, why is there a significant number of people too poor to buy groceries?
The cost of living is high because rent is expensive, obviously. I never said it was cheap to live in NYC. Focus on the actual subject of our discussion, please. Do you think rent in Manhattan would be cheaper if there were fewer apartments?
> Not anymore.
You're just saying stuff now. Only 40% of jobs are located downtown in my city, and compared to the other cities I saw when I was poking around for this data, that's high.
> Three levels down and people have entirely forgotten what my post was.
I missed this reply entirely. Whoops.
That said, I do feel like you can do HTML templates on a tiny chip with 64 megs of memory. I've seen NASes with comparably tiny & terrible chips serve their web UIs this way: paper-thin html templates with <form>s for interactivity and <table>s for layout.
2. Who has a server with a weak, limited processor? HTML templates power Django, Rails, and PHP. This paradigm worked fine on the servers of 20 years ago, in the slowest languages we use. I could serve a Django app on my phone and see reasonable performance.
In practice, I doubt this is much slower than serializing JSON. Keeping a couple kilobytes of HTML templates in memory is nothing. Conversely, running a whole vdom on the frontend (typically more resource-constrained than the server) is a much bigger performance issue.
The problem you've encountered is that people are annoying. I'm afraid that's not specific to any one technology or community. Fortunately, annoying blog posts are easily ignored and would never stop a useful tool from being adopted anyway.
Oo, totally wrong! Fun guess though. The average monthly cost of car ownership is $1,300. The cost of a one-month transit pass is $150. I'm not gonna save $1,150 on rent by moving to a shitty suburb.
> So you're in Manhattan?
Nope.
> Wrong. Hint: Manhattan is one of the most expensive places in the US.
Yeah, because there's a shortage of apartments—that's what I said. Manhattan Island (being a rather small island) has physically run out of room for buildings, but that's not true of other areas.
> And recently elected a socialist who was promising state-run grocery stores.
Ok? So what? Maybe they'll expose private-sector price fixing & maybe they'll just be grocery stores.
> Because toxic urbanism strangled the democracy with bike lanes.
I'm honestly baffled. What makes you think bike lanes are undemocratic? Bikes are super cheap and take up very little space. Bike lanes really cut down on traffic.
> This in turn makes housing near Downtowns more expensive because workers have to live there in order to get a job.
Have you heard of industrial parks? It's pretty common for offices in big cities to be outside the city centre—far more common on the whole than downtown offices are.
The big advantage of downtown offices is that a city's downtown is the nexus of its public transit: If you work downtown, you can easily live a ways outside the city on cheaper land and then come in by train. So no, the point of a downtown is that you don't need to live there to work there.
Do you actually live in a city? I feel like you don't have a very strong understanding of how they're structured.
And yeah, bike lanes are part of it too. They make it easy to get around quickly & cheaply. Our bike lanes are packed with bicycle couriers and the impact on traffic is practically zero. Bike lanes are popular because they work.
High rent is caused by low supply of high-density housing. Apartment blocks are cheap. It's bad zoning, NIMBYs, and a slow pace of construction due to disproportionate focus on luxury units that cause housing supply issues.
> The third option is to LIVE IN CHEAPER PLACES. The US has 1.1 housing units per household.
Yeah, you know why people don't live in those places? They're in exurbs of Arizona, a thousand miles from anything. During the housing bubble, we built a bunch of homes in unlivable areas and now we're dealing with the fact that they're functionally useless.
> We present the first causal analysis of recent large minimum wage increases, focusing on 47 large U.S. counties that reached $15 or more by 2022q1. [...] We then find significant and larger positive employment effects, as the monopsony model predicts. We go on to document the presence of monopsony in the restau- rant industry. [...] The fast food industry’s monopsony power allowed it to accommodate large minimum wage increases and raise employment.
Source: https://irle.berkeley.edu/wp-content/uploads/2023/09/Minimum...
Conversely, an authentic filmmaker is someone who values movies in and of themselves; therefore, the authentic desire to create a movie must be downstream of a passion for watching movies. I don't think you'll find many artistically inclined filmmakers who would denigrate the act of watching movies as "thin." It's the thickness they feel in the experience of watching movies which inspired them to devote themselves to making movies in the first place.
What I like about RFCs (or similar documents) is the ways they work to prevent this. Recently I was involved in planning an initiative without a document like this, and we had to keep explaining and re-explaining the motivation for our decisions to stakeholders and higher-ups. With a document (assuming everyone reads the document before giving feedback), most questions get pre-empted; the ones that don't only need to be addressed once, because the answers end up in the version of the doc which you show to the next person.
Certainly I think it's worth being selective about who you're soliciting comments from, to avoid a too-many-cooks situation, but rare is the project that doesn't need anyone's approval or feedback. Presenting a big fat document gives a sense for the amount of thought that has gone into the design, which quells the kind of off-the-cuff "why not X?" comment you might get in response to a boxes-and-arrows chart and a high-level summary.
Companies can release games with crap performance because nobody else is making the same game as them. The idea being put forth here is that, with AI, you can just clone someone's product for nothing. So why isn't that happening?
Most SaaS products could be replaced by a form + spreadsheet + email workflow, and the reason they aren't is that people don't want to be dealing with a hacky solution. Devs can hack together a nice little webapp instead of a network of spreadsheets, but it's still a hack. Factoring in AI assistance, perhaps SaaS is now competing with "something I hacked together in a week" as opposed to "something I hacked together in a month," but it's a hack either way.
I am absolutely going to pay for analytics and dashboards, because I don't want the operational concerns of my Elasticsearch analytics cluster getting in the way of the alarm that goes off when my primary database catches fire. Ops visibility is too important to be a hack, regardless of how quickly I could implement that hack.
Yes it is. "How much will this cost us to build" is a key component of the build-vs-buy decision. If you build it yourself, you get something tailored to your needs; however, it also costs money to make & maintain.
If the cost of making & maintaining software went down, we'd see people choosing more frequently to build rather than buy. Are we seeing this? If not, then the price of producing reliable, production-ready software likely has not significantly diminished.
I see a lot of posts saying, "I vibe-coded this toy prototype in one week! Software is a commodity now," but I don't see any engineers saying, "here's how we vibe-coded this piece of production-quality software in one month, when it would have taken us a year to build it before." It seems to me like the only software whose production has been significantly accelerated is toy prototypes.
I assume it's a consequence of Amdahl's law:
> the overall performance improvement gained by optimizing a single part of a system is limited by the fraction of time that the improved part is actually used.
Toy prototypes proportionally contains a much higher amount of the type of rote greenfield scaffolding that agents are good at writing. The sticker problems of brownfield growth and robustification are absent.