mpyne
Joined 16 years ago
Joined 16 years ago
It doesn’t help Google to create an AI-powered business which turns $1B in profit annually if it results in them losing a search/ads business which turns $5B in profit annually.
The CapEx spend for AI not only makes AI itself more expensive (and thus less profitable), it’s now driving everything else in technology to be more expensive (and thus less profitable).
AI is a profitability tax on the entire tech sector and it remains unclear if the profit AI will deliver is going to be worth that.
I would say they should slow down on build-out to balance supplier/labor availability with available cash flows, but I suspect all the Big Tech companies are worried about falling behind the other and being put in the position to need to rent out compute.
Or for that matter, that adding support for game controllers (something that has actually happened with Linux desktops) would led to curtailed development of non-controller parts.
I never said it was smart. Or dumb, for that matter. Just that many product teams have been made to merge testing responsibilities as an internal responsibility, in line with having end-to-end ownership of the product from development to its operational deployment. And usually without any dedicated test engineer member of that team to do this.
> It is only weird to have dedicated QA on your team if you don't give a fuck about releasing shit with bugs in it for the user to bump into.
Well, has the behavior of software companies led you to believe they care strongly about this? I always got the impression they cared more about either maximizing feature velocity given a certain team size, or minimizing labor cost for a given feature velocity.
But yes, before that it would be not at all unusual to have “test engineers” or other technical staff whose entire responsibility laid with setting up test environments and running QA of products. These people did not do product dev, though they may have been involved in writing supporting test platform libraries or even maintaining test infrastructure (like IBM Jazz).
Even today in the U.S. companies that haven’t fully jumped onto newer development practices probably still have QA and/or test departments.
It's not a command to compiler to stop generating code.
It's a permission slip that allows the compiler to assume that code that follows is dead code, eligible to be optimized out, including eliminating potentially dead stores and loads.
Which is to say, it's precisely what any other UB is, which is why deliberate use of UB is very bad idea.
This distinction exists, but not to the compiler. And the compiler is the thing building your binary. You can complain if you like about how UB that could potentially instead have been implementation-defined is UB instead.
But until then, the compiler will mangle your code either way, whether you feel it is fair or not.
Though, it would be better if programmers read deliberate instances of UB as if they literally said "std::unreachable()" at that point in the code, as that would better convey how the optimizer passes will see things after dozens of frontend and middle-end passes have run before it.
Agile manifesto coined a term for things that already existed. It didn’t create it from scratch, nor did it claim to. But W95 did employ methods we would call agile methods today.
Windows 95 significantly overhauled the desktop GUI metaphor, in a way that is still the skeletal structure of desktops today.
Its U/I design since Windows 3.11 came about because of agile, not in spite of it. https://socket3.wordpress.com/2018/02/03/designing-windows-9...
> We recognized that we needed much more opportunity to create a design, try it out with users (perhaps comparing it to other designs), make changes, and gather more user feedback. Our desire to abandon the waterfall model and opt for iterative design fortunately followed similar efforts in other areas of the company, so we had concrete examples of its benefits and feasibility.
You're right that you can't go start to finish on a design in a single 2-week sprint. But that's why you have a repeating series of sprints, you're not supposed to go from start to finish in a single sprint.
The Windows 95 team always had a shippable OS to demo internally to devs, QA, beta testers and users invited by the UX designers for usability testing. Just because you demo something to the product owner does not require that you then release the result immediately to end users. Decouple development from deployment and from release and you'll find agile methods can work just fine.
In this analogy, we human software devs are the artisanal homebuilders and the fancy LLMs are the robots.
And yes, there's quite a cost to build all the datacenters for all the AI that Big Tech believes that people will want. But as you mention, the cost savings are enormous for even despite that, and will make a much larger set of problems accessible to real software solutions, that previously either stayed on paper, in peoples' heads, or maybe an Excel sheet somewhere.
OK, so don’t buy their PR, and try it yourself.
But if you do this, you will find there is a lot of evidence for the economic argument.
I tested out Google Argon 4 release by having it build a Web app to replace a binder I have for reconciling payments with reimbursable expenses.
It did it, as well as I would have and in much less time. I just set it to high and supervised it, it cost about $2. Even if you throw in a “supervision cost” to account for the time I had to spend interacting with it, it was substantially cheaper than had I done it at normal salary rates. Probably 2 orders of magnitude cheaper, even.
The complaint isn’t that the economy is “circular”, how else could it work with 3 or more people engaged in commerce? Neither of those things get fixed on different ways to manage the money supply either, it’s not as if they didn’t have national debts or inflation while on the gold standard.