It occasionally leads to kinda ambiguous headlines, e.g.
"China opens world's longest undersea tunnel"
vs
"China opens longest undersea tunnel"
It's a little unclear if it's the longest undersea tunnel in the world, or just in China
HN user
grantslatton.com twitter.com/grantslatton
It occasionally leads to kinda ambiguous headlines, e.g.
"China opens world's longest undersea tunnel"
vs
"China opens longest undersea tunnel"
It's a little unclear if it's the longest undersea tunnel in the world, or just in China
I learned a few years ago that HN also editorializes by dropping "world's" from titles
Before: Teens break record for world's longest kickball game
After: Teens break record for longest kickball game
I use Codex CLI or Claude Code
I don't even necessarily ask it to fix the bug — just identify the bug
Like if I've made a change that is causing some unit test to fail, it can just run off and figure out where I made an off-by-one error or whatever in my change.
I routinely leave codex running for a few hours overnight to debug stuff
If you have a deterministic unit test that can reproduce the bug through your app front door, but you have no idea how the bug is actually happening, having a coding agent just grind through the slog of sticking debug prints everywhere, testing hypotheses, etc — it's an ideal usecase
AI detectors in general are unreliable, but there are a few made by serious researchers that have only 1-in-10000 false positive rate, e.g. https://arxiv.org/pdf/2402.14873
Having worked in a bigcorp, I've read my fair share of management-speak, and none of it sounds quite as empty as the allegedly AI text.
The AI sounds like someone conjuring a parody emulation of management speak instead of actual management speak.
More broadly — and I feel this way about AI code at well as AI prose — I find that part of my brain is always trying to reverse engineer what kind of person wrote this, what was their mental state when writing it?
And when reading AI code or AI prose, this part of my brain short circuits a little. Because there is no cohesive human mind behind the text.
It's kind of like how you subconsciously learn to detect emotion in tiny facial movements, you also subconsciously learn to reverse engineer someone's mind state from their writing.
Reading AI writing feels like watching an alien in skinsuit try to emulate human face emotional cues — it's just not quite right in a hard-to-describe-but-easy-to-detect way.
While reading the text, my mental AI alarm bells were going off, sent it all to pangram.com and it flags both the layoff post and his campaign website text as being 100% AI generated
Weird to me that nobody ever posts the actual alleged false positive text in these criticisms
I've yet to see a single real Pangram false positive that was provably published when it says it was, yet plenty such comments claiming they exist
I sent the text through an AI detector with 0.1% false positive rate and it was highly confident the Zig book introduction was fully AI-written
The other pangram mention elsewhere in this comment section is also me -- I'm totally unaffiliated with them, just a fan of their tool
I specify the accuracy and false positive rate because otherwise skeptics in comment sections might otherwise think it's one of the plethora of other AI detection tools that don't really work
pangram.com, the most accurate and lowest false positive AI detector
Yes, it's a false claim
It's AI-written FWIW
though maybe AI is getting to the point it can do stuff like this somewhat decently
Pangram[1] flags the introduction as totally AI-written, which I also suspected for the same reasons you did
[1] one of the only AI detectors that actually works, 99.9% accuracy, 0.1% false positive
I started with basic Newton-Raphson solver too but found cases where it diverges but Excel somehow doesn't, so concluded that Excel has some kind of extra logic to handle more cases, so I also bolted on more fallback logic.
I work on an Excel-compatible spreadsheet startup (rowzero.com) and had to implement these.
One tricky part is RATE involves zero-finding with an initial guess. The syntax is:
RATE(nper, pmt, pv, [fv], [type], [guess])
Sometimes there are multiple zeros. When doing parity testing with Excel and Google Sheets, I found many cases where Sheets and Excel find different zeros, so their internal solver algorithm must be different in some cases.
My initial solution tended to match Sheets when they differed, so I assume I and the Google engineers both came up with similar simple implementations. Who knows what the Excel algorithm is doing.
Of course, almost all these edge cases are for extremely weird unrealistic inputs.
Searched around and found it. It was actually Ashton Kutcher's interview with Eric Schmidt.
Kutcher mentions the establishing shots, and I'd forgotten also points out the utility for relatively short stunt sequences.
Why would you go out and shoot an establishing shot of a house in a television show when you could just create the establishing shot for $100? To go out and shoot it would cost you thousands of dollars.
Action scenes of me jumping off of this building, you don’t have to have a stunt person go do it, you could just go do it [with AI].
I saw a famous actor-director (can't remember who, but an A-list guy) said it would be super valuable even if you only use it for establishing shots.
Like you have an exterior shot of a cabin, the surrounding environment, etc — all generated. Then you jump inside which can be shot on a traditional set in a studio.
Getting that establishing shot in real life might cost $30K to find a location, get the crew there, etc. Huge boon to indie films on a budget, but being able to endlessly tweak the shot is valuable even for productions that could afford to do it IRL.
Where would you make make the cut that takes advantage of object store parallelism?
That is, at what layer of the stack do you start migrating some stuff to the new strongly consistent system on the live service?
You can't really do it on a per-bucket basis, since existing buckets already have data in the old system.
You can't do it at the key-prefix level for the same reason.
Can't do both systems in parallel and try the new one and fall back to the old one if the key isn't in it, because opens up violations of the consistency rules you're trying to add.
Seems trickier than one might think.
The part about S3 using lightweight formal methods in their ShardStore rust codebase is ongoing and operates on the system itself, not a model
Our startup, rowzero.io, easily handles tens of millions of rows and is a subset of Excel. Leave us feedback in the app if there are any missing features you need.
In general if you actually do the erasure coding math, almost all distributed storage systems that use erasure coding will have waaaaay more than 11 9s of theoretical durability
S3's original implementation might have only had 11 9s, and it just doesn't make sense to keep updating this number, beyond a certain point it's just meaningless
Like "we have 20 nines" "oh yeah, well we have 30 nines!"
To give an example of why this is the case, if you go from a 10:20 sharding scheme to a 20:40 sharding scheme, your storage overhead is roughly the same (2x), but you have doubled the number of nines
So it's quite easy to get a ton of theoretical 9s with erasure coding
Beta Technologies is already shuttling cargo between bases/depots for the US military with their eVTOL aircraft.
Demonstrated range of over 300 nautical miles. Significantly higher reliability than helicopters previously used for the same task, and much cheaper.
Played this back in the day
It's neat how teens & amateurs will reinvent classic techniques — e.g. there was a technique in the community known as "dynamic clustering" which was really just K-nearest neighbor, but presumably whoever named it dynamic clustering had reinvented it from first principles and wasn't aware
Looks like the robowiki includes this tidbit now:
Dynamic clustering is a technique to find entries in your log similar to the current situation. Essentially, it is a K-nearest neighbor algorithm, and not actually clustering at all. Despite this misnomer, the term "Dynamic Clustering" has stuck with the Robocode community.
Industry standard word, e.g. "consumption pricing" etc
But yeah if you're in the industry it's easy to forget how certain jargon sounds based on its dictionary definition
Author of the tweet here. A few notes:
1. No cherry picking
2. This was the original ChatGPT, i.e. the GPT3.5 model, pre-GPT4, pre-turbo, etc
3. This capability was present as early as GPT3, just the base model —- you'd prompt it like "<python program> Program Output:" and it would predict the output
We actually have two versions of this test. One does 100% totally random actions. The other tries to simulate an actual user (i.e. maintains the state of their cursor, which sheet they are looking at, etc), but still quite random.
So the former finds crazy obscure edges, but the combinatorics make it less likely to hit any particular combination. The latter is the opposite. They pair really well.
A lot of companies view employees having CSVs and Excel files locally on their laptops to be a huge security risk — it just takes one employee getting their machine compromised to leak ~all the company's sensitive data.
But you're right, there are people who really want local-only. We'll probably make a desktop app in the future.
AWS uses Rust extensively
I had written this comment[0] about our pattern here a few months ago and we decided to turn it into a full blog post.
It's crazy how many weird bugs you can detect with such a trivial method.
For applications like a spreadsheet that have a million overlapping features, it's impossible to manually write unit tests for every combination of features, so randomized tests do a lot of heavy lifting.
Tools like GPT and Copilot still generate lazy_static a lot since it's the majority of the training data