Recent submissions

Comment · 2 days ago
While you say many reasonable things and describe a perfectly reasonable setup and desire - surely it's clear that your situation is _extremely_ unusual? Browsers are absolutely _also_ reasonable in prioritizing secure defaults for setups that are not similarly controlled. After all, precisely the thing that makes your situation managageble and reasonable - that being you the knowledgeable admin - is also the thing that allows you better than the average user to change defaults.

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.

Comment · 2 days ago
Surely there's a nuanced difference between "every app distributes this independently" and "a very small few apps that bear the brunt of hostile exposure support independent mechanisms".

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.

Comment · 3 days ago
Yeah, definitely: having lots of separately distributed and likely rarely and unreliably updated trust roots would not inspire a lot of confidence.
Comment · 22 days ago
Which models do you primarily use, and can you very roughly list your process? Agentic coding in VSCode with tons of MCPs or... something else? Do you include lots of images or have large codebases? Which agentic harness are you using?

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.

Comment · 1 month ago
Well, I did once scrape wikipedia and classify based off simply off string suffix (storing those where longer suffixes disagreed with the shorter rule), and that's quite simple and effective - https://eamonnerbonne.github.io/a-vs-an/AvsAnDemo/ - and since it's based off actual statistics, it correctly distinguishes textually subtle stuff like "a NASA scientist" vs. "an NSA analyst".

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.

Comment · 1 month ago
Sure, but note that a tiny LLM is many order of magnitudes larger than algorithms like this. It might well work better, but you're probably paying for very, very marginal improvements with a solution that's thousands of times larger and slower, unless you're you're being really creative and using a fairly non-LLM network of perceptrons or other ML technique. But it sounds like a fun challenge; if you or anybody feels like exploring that, I bet it'd get quite a few curious clicks here!
Comment · 1 month ago
The thing is, it's a false dichotomy. Raising the quality bar makes software a lot _easier_ to deliver, in practice. Even for a not techie, the reason is probably somewhat intuitive - if you're trying to add features to something that's a hugely complicated mess, you're going to struggle and cause many bugs; but if your process allows for the creation of high quality code, you have the means to do so with confidence, and that usually means quickly and reliably.

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.

Comment · 1 month ago
I think all three of these points, but especially the first two are rather speculative; I don't personally believe they hold, though I can't be sure.

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.

Comment · 5 months ago
Note that the uploader apparently still retains control over labeling in most cases; uploaders that intentionally misrepresent AI-generated content might not be discouraged by this. Whether youtube will (and can) ban accounts that do that might determine in practice if this matters or not.
Comment · 11 months ago
Create an image that displays two seven-pointed stars, two eight-pointed stars, and two nine-pointed stars. All stars are connected to each other, except for the ones with the same number of strands. The lines connecting the stars must NOT intersect.
Comment · 1 year ago
I think it's not at all a marshmellow test; quite the opposite - docs used to be written way, way in advance of their consumption. The problem that implies is twofold. Firstly, and less significantly, it's just not a great return on investment to spend tons of effort now to maybe help slightly in the far future.

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.

Comment · 1 year ago
Yep. Still, I think it's a pretty decent benchmark in the sense that it's fairly short, quite repeatable, does have a quite a few subtest, and it's horribly different from the nebulous concept that is "typical workloads". It's suspiciously memory-latency bound, perhaps more than most workloads, but that's a quibble. If they'd have simply labelled it "lightly threaded" instead of "multithreaded", it would have been fine.

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.

Comment · 1 year ago
It's not trash - it's quite nice for its niche. It's just not very scalable with cores, so it's best interpreted as a benchmark of lightly threaded workloads - like lots of typical consumer workloads are (gaming, web browsing, light office work). Then again, it's not hard to find workloads that scale much better, and geekbench 6 doesn't really have a benchmark for those.

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.

Comment · 1 year ago
I mean, reliably tracking ownership and therefore knowing that e.g. an aliased write must complete before a read is surely helpful?

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.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton