HN user

gamegoblin

6,982 karma

grantslatton.com twitter.com/grantslatton

Posts9
Comments1,205
View on HN

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

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.

Sora 2 10 months ago

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].

Sora 2 10 months ago

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.

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

Robocode 1 year ago

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.

https://robowiki.net/wiki/Dynamic_Clustering

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.

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.

[0] https://news.ycombinator.com/item?id=40876726