emn13
Joined 15 years ago
Joined 15 years ago
It's also worth remembering that both of these specific organizations were instrumental in major, positive security shifts that eventually hit OS's too, including shorter-lived certs, limiting the point of CAs, adoption of TLS 1.3, and likely other things. If anything, they deserve _more_ trust than the OS distributors on this specific front, perhaps also because they don't share the OS distributor's incentive to prioritize stability for paying customers, which can be at odds at times with harsh, prompt security measures.
I also find that it's easy to spend like that, but also easy not to with little impact on productivity. At the current moment I'm stuck with rider + copilot (not ideal), but e.g. using GPT 6.1 luna is really, really cheap, and lots of tasks are quickly and decently dealt with even at lower reasoning levels, (added bonus of having low latency). And that model is so cheap, I can't see a hitting 1500$ at api prices realistically - not even close. But it also depends on the harness and codebase.
There are structural limitations (i.e. this implementation never looks at preceding context and sometimes that matters, nor does it understand other clues like punctuation or multi-word suffixes). Nevertheless, the accuracy is high enough that I'm not sure it'd be easy for a small model to beat it, especially not without considerably more work to make sure your inputs cover more context (which in principle the plain statistics approach could likely deal with too).
If the whole point of multi-layer networks is to deal with weirdly shaped, non-obvious manifolds in a very high-dimensional space, then this problem just doesn't look that difficult and perhaps does not need that mathematical finesse: just store the prototypical examples and you're pretty much there without anything fancier.
The real issue is one of timing and tech debt - higher quality software is cheaper and better, but... that's only over time. If you want that new software from scratch _now_, and don't have the time to set up a high quality development process, you can hack something together quickly. If the software is small enough, the person or LLM writing it smart enough, and while everything from requirements to code is still fresh in memory - that works pretty well! But that process scales poorly, and yet it's what we've as an industry done far too often, and at far too pervasive a scale.
So even though we know and have examples of how to design software better and more cheaply, actually getting to that situation isn't a simple question of trying harder; it's working entirely differently. And unfortunately, we build more and more of our software on the building blocks of the past, and many of those are themselves of low quality too; the more we do that, the more entrenched low quality becomes. As an end user that kind of isn't perceivable; it just means all software is a bit worse and more expensive, but as humanity, it's absurd how much effort we waste working around fairly trivial mistakes made in the past, typically by organizations that just had no incentives to care about future impacts especially on others.
While I get the instinct to prefer something over nothing as an end user it kind of is exactly that bad habit that got us into the mess we're in today. We don't build and throw away; we copy and tweak - so all the messes are inherited, kind of like a form of pollution.
Most quality defects I see are ultimately down to culture, not training and certainly not certification. Getting to excellent quality simply does not require great training nor rigorous certification, and I'm not even sure it really benefits from either all that much. But what it does require is a culture of chasing down all the avoidable risks, to fix not just the immediate bug, but also the process that allowed it to come to be, to pre-emptively look for whole classes of bugs or misfeatures seriously, and to always look deeper than for underlying causes or interactions (i.e. take the 5-why's game seriously).
It's perhaps almost a trope by this point, but it's still a great reminder and example - sqlite. About a month ago Richard Hipp, one of the primary authors, gave a great presentation "Reliability Lessons From SQLite" (https://youtu.be/V_qzqY1bb7I) - and notably, I'm not seeing even _echos_ of training and certification in their clearly world-class process. I don't think you can even seriously claim it's all that expensive, if you consider how tiny that team is, and yet how much they've achieved.
If larger organizations fail to achieve high quality - well, _why?_ It's not due to lack of training, certifications or smart people. Perhaps its intrinsic about larger for-profit corporations, but I suspect we could do better with better incentives, and a more serious attitude about dealing with mis-aligned incentives throughout our culture. Is it really a flaw for a corporation to prioritize short term cost reduction even over long term self-harm if that's what they're judged by? Is it a flaw for a profit seeking corporation to largely ignore costs their low quality imposes on others? Is it a flaw for a for-profit organization to take huge risks when the upside is unbounded but the downside is mere bankruptcy without any further liability?
I don't know how to solve these problems, and don't want to claim it's even remotely reasonable to throw out the capitalist baby with the corporate bathwater, but surely we can do better than the status quo even without a revolution. Misaligned incentives and tragedies of the commons aren't new issues, nor ones without potential mitigations. We're just choosing to ignore those inefficiencies, and have for decades. And at this point, even small changes in incentives might have truly wrenching consequences; the ingrained and by now deeply embedded carelessness in our huge software and other engineering stack is corroded at every level.
TLDR: I don't have the answer, but I'm pretty positive it's not an issue of cost, training or certification.
But the real problem with docs is that for MOST usecases, the audience and context of the readers matter HUGELY. Most docs are bad because we can't predict those. People waste ridiculous amounts of time writing docs that nobody reads or nobody needs based on hypotheses about the future that turn out to be false.
And _that_ is completely different when you're writing context-window documents. These aren't really documents describing any codebase or context within which the codebase exists in some timeless fashion, they're better understood as part of a _current_ plan for action on a acute, real concern. They're battle-tested the way docs only rarely are. And as a bonus, sure, they're retainable and might help for the next problem too, but that's not why they work; they work because they're useful in an almost testable way right away.
The exceptions to this pattern kind of prove the rule - people for years have done better at documenting isolatable dependencies, i.e. libraries - precisely because those happen to sit at boundaries where it's both easier to make decent predictions about future usage, and often also because those docs might have far larger readership, so it's more worth it to take the risk of having an incorrect hypothesis about the future wasting effort - the cost/benefit is skewed towards the benefit by sheer numbers and the kind of code it is.
Having said that, the dust hasn't settled on the best way to distill context like this. It's be a mistake to overanalyze the current situation and conclude that documentation is certain to be the long-term answer - it's definitely helpful now, but it's certainly conceivable that more automated and structured representations might emerge, or in forms better suited for machine consumption that look a little more alien to us than conventional docs.
As it is, it's just clearly misleading to people that haven't somehow figured out that it's not really a great test of multithreaded throughput.
For the first 8 threads or so, it's fine. Once you hit 20 or so it's questionable, or at least that's my impression.
It won't prevent all races, but it might help avoid mistakes in a few of em. And concurrency is such a pain; any such machine-checked guarantees are probably nice to have to those dealing with em - caveat being that I'm not such a person.
Both from a sheer numbers perspective and also from the perspective of qualitative differences between these audiences browsers are doing the right thing - prioritizing security in low-to-no-trust environments assuming low-to-no-competence administration.