HNHacker News
TopNewBestAskShowJobs

thinkharderdev

1,870 karma · joined June 12, 2019

https://www.thinkharder.dev

[ my public key: https://keybase.io/thinkharder; my proof: https://keybase.io/thinkharder/sigs/Ibpz0COsvz2qYl2K8YfzrhucHf2rcZIxityh5WvYC_k ]

submissionscomments
thinkharderdev··on 11 year old unsoundness bugs found in Rust borrow checker
So Q is a "tuple-struct". In rust you can define a struct like

struct Q<T> { value: Option<T> }

with a named field or you can define it like

struct<T> Q(Some<T>)

which is the same struct layout but without an explicit name for the value. In that case, the field is implicitly names `0`

So q.0 = Some(foo) is equivalent to q.value = Some(foo).

The Some(..) is just one variant of the Option enum:

enum Option<T> { None, Some(T) }

Option represents a value that may or may not be initialized. For uninitialized values you use the None variant and then you can initialize it to Some(value).

The C rough equivalent would be

struct Q { void* value; }

struct Q q = q { NULL }; q->value = ...

thinkharderdev··on 11 year old unsoundness bugs found in Rust borrow checker
Rust is supposed to guarantee statically that a reference cannot outlive its referent. The `T: 'static` bound means that the value that Q holds must have a 'static lifetime (e.g. either be an owned value or a reference to a static value). So this program should not compile since a reference to l is not 'static. This code is unsound because rust will drop the string l before q so when the Q destructor runs the underlying string has already been freed yet we have a valid reference to it.
thinkharderdev··on Why I'm still bearish on LLMs after Navier-Stokes
I'm not entirely sure "general" intelligence is a meaningful concept but I take judgement to mean something like "the ability to make decisions under uncertainty without direct feedback." People seem to be able to do this using a lot of context and tacit knowledge. It's not really clear how you hill-climb to that capability through RL.

> the history of artificial intelligence research is littered with examples of humans confidently declaring that task X requires general intelligence, then getting humiliated by a neural network doing task X better than humans a few years later

True, but the history of AI research is also littered with AI researchers confidently predicting X job will be replaced by AI and being completely wrong because they don't actually understand what those jobs actually are. See Geoff Hinton predicting that Radiologists would be obsolete by ~2020, or predictions that truck drivers would all be replaced by self-driving tech.

thinkharderdev··on Why I'm still bearish on LLMs after Navier-Stokes
I think all this debate about whether an LLM can write (or download) a chess engine is sort of missing the point. For basically any economically valuable work there is no equivalent of a chess engine for it. If there were we wouldn't need humans or AI to begin with.
thinkharderdev··on Why some US restaurants are banning tips
It is pretty common to be prompted to tip by the PoS system in any place you can buy made-to-order food. This includes stores that are normal retail stores but also have some sort of made-to-order food. Like a fancy wine shop or gourmet food store that also sells sandwiches. But this isn't really a new phenomenon either. It's just that there used to be a tip jar sitting by the register, but now the PoS system prompts you because nobody carries cash anymore.
thinkharderdev··on What sort of maths are LLMs good at?
> You get better at modeling the trajectory because the neurons physically move closer together as you learn

I think "modeling the trajectory" is not necessarily what we are doing either. It's more likely we are using much simpler heuristics. If you are trying to catch a ball flying through the air, you can just look at the ball and modulate your running speed to keep your eyes at a fixed angle until you catch the ball. It's much more analogous to a PID controller than a model of the trajectory.

thinkharderdev··on Taste Is All That's Left
> LLM-generated code has a tendency to “over-justify”

This is the thing that drives my nuts about LLM-generated code. I will see PRs that fix a bug and the entire bug fix is re-explained in 10 different places in a code comment.

thinkharderdev··on Intelligence Is Not the Main Bottleneck
The chart in the article is inflation adjusted.
thinkharderdev··on Reid Hoffman says SpaceX 'not an AI company', xAI 'complete train wreck'
> 55% chance for a $10 payout; 45% chance to lose $10. You would keep on rolling that die, right?

The answer is that it depends? If I have $1B then yeah I would roll the dice and keep rolling as long as they let me. If I have $100? Maybe not because you can go very easily go broke even if each bet is positive EV.

thinkharderdev··on The worst job interview I ever had
Honestly asking for any specific number is a deeply weird and off-putting question to ask.
thinkharderdev··on What we lost when we stopped letting kids leave the front yard
I'm in my early forties and both my parents worked (as did all my neighborhood friend's parents) and we still spent a lot of time wandering around. Honestly I think people are really overthinking this. We spent a lot of time wandering around outside because we were bored. Now kids have an endless well of entertainment to choose from so staying at home is a much more appealing option. It's always tempting to romanticize your childhood but if I'm being honest, most of that time wandering around outside I was bored out of my skull. I was just marginally less bored than I would have been sitting at home.
thinkharderdev··on Energy return in running shoes explained (2025)
> The best endurance runners run in such a way that their feet land on the front of their foot during running

This is not really true and the whole fore foot vs heal striker thing is a bit of a red herring. There are elite distance runners that are forefoot, mid-foot (probably the majority) and heal strikers. The main thing is that wherever on their foot hits first, the foot itself is under their center of gravity and not out in front of them.

thinkharderdev··on Energy return in running shoes explained (2025)
Congratulations on getting back in shape. Just here to say that there is no such thing as ramping up too slowly when getting into (or back into running). So many people push too hard too fast and flame out.
thinkharderdev··on Amazon workers under pressure to up their AI usage are making up tasks
Sure, findings ways to burn tokens is not hard. Even finding ways to burn tokens on things (like your example) which are actually useful is not hard. But what is the ROI on that from the company perspective. I mean, you could have also hired an intern to do the job of collating this report every week. But if you went to your boss and asked to hire someone to do something, they would, reasonably, ask what the value of that thing is and whether it justifies more headcount. But we're in this bizarro world where the bosses are basically saying "go hire more people, even if you don't have specific high-value things for them to do. Just create make-work jobs for them!" It's wild.
thinkharderdev··on I went to America's worst national parks so you don't have to
> The Grand Canyon review is spot on though.

The review of the Grand Canyon annoyed me the most:

``` Can you hike in the Grand Canyon? Yes, technically. You can walk along the rim, but the view won’t change; same damn canyon on one side, same damn parking lot on the other. There are trails that go down into the canyon, but they’re a trap ```

So you can't even hike there, except of course for the hike that you can do.

"They are featureless steep inclines formed into endless switchbacks, and when they finally end, there’s nothing to do except go back up"

That is what hiking is! Granted, usually you hike up and then back down. And I wouldn't call the hike down into the canyon "featureless". Honestly, it sounds like this person just doesn't really like hiking, which if fine it's not for everyone, but that is just what there is to do in most national parks.

thinkharderdev··on Bring Back Idiomatic Design (2023)
Same, but it's configurable in slack so now I have it configured the Enter inserts a line break and Cmd+Enter submits the message
thinkharderdev··on Who is Satoshi Nakamoto? My quest to unmask Bitcoin's creator
Mr Back is already a very public figure in the bitcoin/crypto community who is the face of a public company. This isn't some rando who nobody has ever heard of before.
thinkharderdev··on Who is Satoshi Nakamoto? My quest to unmask Bitcoin's creator
> Because in this particular case it endangers subject's life.

This seems like a stretch. Mr Back is already a well-known wealthy person who (presumably) owns lots of crypto. I think it's a stretch to think this article significantly increase the danger to his life.

thinkharderdev··on Who is Satoshi Nakamoto? My quest to unmask Bitcoin's creator
I mean, yeah? We can wag our fingers about what people find interesting but it is what it is. Bitcoin is an important technology in the world, and people are interested in who the inventor is. You may think it doesn't matter, but clearly a lot of people disagree.
thinkharderdev··on Who is Satoshi Nakamoto? My quest to unmask Bitcoin's creator
This one is challenging I think because the article itself is so thin. The evidence seems really shaky.

That said, clearly a lot of people really do seem to care who Satoshi is, so it doesn't seem like its out of the question for a newspaper to print an article claiming to answer that question.

> Do they just not care about the ethical implications?

Did Satoshi not care about the ethical implications of creating bitcoin? Mr Back may not be Satoshi, but he's also made a career driving the adoption of bitcoin and bitcoin itself has enabled many, many terrible crimes. It seems like special pleading to argue that Mr Back is not responsible for any of the consequence of bitcoin in the world, and also that the NY Times is morally responsible if someone harms Mr Back because they think he is Satoshi. Either we have an ethical responsibility to consider the consequences of our actions or we don't.

thinkharderdev··on Who is Satoshi Nakamoto? My quest to unmask Bitcoin's creator
> I agree there's a sort of "who cares" aspect to the piece

Sure, rationally I agree, but clearly a lot of people do care. It may not matter in any substantive way who Satoshi is but people still care.

> There is no artistic intent to interpret

Is that the case? Obviously there is no artistic intent as bitcoin is not art, but it's not clear to me why the intent of an artist is important but the intent of a technologist is not.

thinkharderdev··on Significant raise of reports
I think they are saying what you want them to say. In the past they got a bunch of AI slop and now they are getting a lot of legit bug reports. The implication being that the AI got better at finding (and writing reports of) real bugs.
thinkharderdev··on So where are all the AI apps?
Are you saying Maccy was vibe-coded or that it was written in Python? I don't think either are true. I've definitely been using it (you're right, it's great!) since before vibe-coding was a thing. And looking at the GitHub it seems to be 100% in Swift.

> It's like a C fanatic saying "No useful software can be made using Python", and then asking for a counterexample

At which point you could provide them many, many counterexamples?

I like AI coding assistants as much as the next red-blooded SWE and find them incredibly useful and a genuine productivity booster, but I think the claims of 10/100/1000x productivity boosts are unsupported by evidence AFAICT. And I certainly know I'm not 10x as productive nor do any of my teammates who have embraced AI seem to be 10x more productive.

thinkharderdev··on So where are all the AI apps?
> This is flat-earther level

Ok, so do you have a counterexample?

thinkharderdev··on Apache Arrow is 10 years old
This will obviously depend on which implementation you use. Using the rust arrow-rs crate you at least get panics when you overflow max buffer sizes. But one of my enduring annoyances with arrow is that they use signed integer types for buffer offsets and the like. I understand why it has to be that way since it's intended to be cross-language and not all languages have unsigned integer types. But it does lead to lots of very weird bugs when you are working in a native language and casting back and forth from signed to unsigned types. I spent a very frustrating day tracking down this one in particular https://github.com/apache/datafusion/issues/15967
thinkharderdev··on AI Doesn't Reduce Work–It Intensifies It
There's an old saying among cyclists attributed to Greg Lemond: "It doesn't get easier, you just go faster"
thinkharderdev··on How Jeff Bezos Brought Down the Washington Post
> Keep in mind, our parents (age specific) and/or their parents parents paid for news and didn't question that setup

I don't think this is quite right. Our parents paid for the newspaper but the newspaper was basically the internet of their time. That is where they got sports scores, movie/tv listings, etc. The fact that this was bundled with hard news was mostly a side-effect.

thinkharderdev··on Jepsen: NATS 2.12.1
> To have better performance in benchmarks

Yes, exactly.

thinkharderdev··on Zig's new plan for asynchronous programs
That makes sense. I don't know anything about embedded programming really but I thought that it really fundamentally requires async (in the conceptual sense). So you have to structure your program as an event loop no matter what. Wasn't the alleged goal of rust async to be zero-cost in the sense that the program transformation of a future ends up being roughly what you would write by hand if you have to hand-roll a state machine? Of course the runtime itself requires a runtime and I get why something like Tokio would be a non-started in embedded environments, but you can still hand-roll the core runtime and structure the rest of the code with async/await right? Or are you saying that the generated code even without the runtime is too heavy for an embedded environment?
thinkharderdev··on Show HN: Walrus – a Kafka alternative written in Rust
> Except a consumer can discard an unprocessable record?

It's not the unproccessable records that are the problem it is the records that are very slow to process (for whatever reason).

Page 1 of 24Next →