Live data from Hacker News

I hate compilers

xeiaso.net

91–100 of 182 posts

Re: I hate compilers

#91
post #47

I hate proof of work code running on my machine for the benefit of someone else. It's like planting a crypto miner.

The "benefit of someone else" in this scenario is the site operator not having their website down or their hosting bills unsustainable because of misbehaving (which are 99% of current) web scrapers from AI companies.

The README itselfs admit that this is an nuclear option. https://github.com/TecharoHQ/anubis

Re: I hate compilers

#92
post #76

So to avoid those energy-hungry LLM companies from scraping your website, you force each browser to compute a lot of hashes in a necessarily energy-hungry loop, creating, at the same time, all the kind of accessibility problems?

I don’t get how people believe there’s a PoW function that both: 1. Allows access in reasonable time/battery use to me on my phone 2. Poses any meaningful challenge to the most compute-resourced organizations on the planet I wonder how many cumulative hours of human life have been wasted waiting on Anubis.

> I wonder how many cumulative hours of human life have been wasted waiting on writing comments on creamsicle reddit.

I disagree with a lot of the decisions around the design of Anubis... but resisting the current drive of the industry to ruin as much of the good faith resource donations from others is an admirable objective.

The point isn't to increase the amount of work required to the point of exhaustion, it's to require that scripts be able to offer the exact same feature set that browsers offer. The point isn't to make it impossible, it's too make it more expensive than free.

Anubis isn't trying to prevent all scraping, it's trying to reduce the abuse just enough that real requests get their fair share. You don't need to outcompute the botnet just slow them down a little.

I hate seeing the Anubis interstitial too, I've complained about it publicly already too. But it doesn't come close to the frustration of waiting 10s for an SPA to load all of the routes it'll never use before the first redraw. Clearly our industry has also decided latency is a good thing.

Re: I hate compilers

#93
post #85
post #54

Earlier quoted context omitted.

> Clang relies on address layout for ordering things I would consider that a bug tbh

What is kind of annoying is that the author jumps to "I hate compilers" instead of "I will report/help fix this bug upstream."

I don't get the sense they hate compilers at all. The writing describes work they seem to love doing. It's just clickbait.

And it may not have crossed their mind that the clang behavior is a bug after finding a workaround. I'd also assume compilers do things "no mere mortal can fully comprehend on their own".

Re: I hate compilers

#94
post #90
post #89

> What do you do when the client has WebAssembly disabled? Do people really do that? -- disable, not just using old browsers with no wasm. Disabling wasm while keeping js enabled is a configuration i can't understand

It’s easy to imagine an organization with a paranoid security posture ending up with that configuration because they decided to only enable a minimum necessary feature set where they determined that JS was necessary while WASM was not.

iOS Lockdown Mode also implements this configuration.

Re: I hate compilers

#95

Earlier quoted context omitted.

Well I mean you're comparing two different solutions at different layers here. In the case of an desktop application, unless you build things against OS libraries, your "platform" is also typically a framework, like QT or AppKit or whatever you end up using. That's the equivalent of the "web framework" in the web world. Basically, it goes "Your app > GUI framework > other/OS libraries" for desktop apps, "Your app > w…

> your "platform" is also typically a framework, like QT or AppKit or whatever you end up using That's not what I consider "low level programming". I don't use any of these. Yes you can do try and do plain Javascript. Honestly Javascript is a much less pleasurable environment than a compiled statically typed procedural language. The main advantage of the browser is you get a viewport, you get font rendering etc. with…

> That's not what I consider "low level programming". I don't use any of these.

So say C linking to Xorg-libraries and drawing GUI that way isn't low level programming, then what is? Only assembly is "low level programming" or what?

Meh, JavaScript is fine, like most dynamic Algol/C-like languages. Could be worse, could be TypeScript :)

But personally, browser environment is a hell of a lot easier to target than doing cross-platform native application development, but I'm a web developer who started doing native apps, not the other way around, might be why.

Re: I hate compilers

#96
post #25

Time date env variables and random address... Is also input data, maybe not as a flag but still

Time and date are... tolerable. There's SOURCE_DATE_EPOCH which should always be set to whack it into submission when used. ASLR of the _compiler being invoked_ resulting in a difference in the _program being compiled_ is nuts and would break any self-hosting compiler with consistency checks.

ASLR is important, but you should be able to provide the random seed (I don't know if it's possible or not)

Re: I hate compilers

#97
post #93
post #85

Earlier quoted context omitted.

What is kind of annoying is that the author jumps to "I hate compilers" instead of "I will report/help fix this bug upstream."

I don't get the sense they hate compilers at all. The writing describes work they seem to love doing. It's just clickbait. And it may not have crossed their mind that the clang behavior is a bug after finding a workaround. I'd also assume compilers do things "no mere mortal can fully comprehend on their own".

This might be the first time in my career I have genuinely found a compiler bug. I've been operating under the axiom of "don't assume it's a compiler bug, assume you're fucking it up somehow". When you get to the point that disabling ASLR makes it consistent intra-host I think I've won the right to at least suspect a compiler bug is at play.

I'll go file it upstream after work today.

Re: I hate compilers

#98
post #33
post #23

Earlier quoted context omitted.

I'll try and make a minimal reproduction case and file a bug. Do you know if any tooling that can take a binary and fuzz it down to a minimal reproduction set?

cvise. Here is a link to a mini tutorial I wrote for a user in an LLVM issue: https://github.com/llvm/llvm-project/issues/108827#issuecomm...

Thank you, this will be very useful.

Re: I hate compilers

#99
post #23

Earlier quoted context omitted.

I'll try and make a minimal reproduction case and file a bug. Do you know if any tooling that can take a binary and fuzz it down to a minimal reproduction set?

Claude code is actually rather good at this. If your initial testcase is not too big, you can use creduce or cvise.

Sadly my initial test case is binaryen which has 290 compilation units. I will try though.

Re: I hate compilers

#100

I’m still surprised by Anubis’ decision not to make the PoW have a useful output, for example a crypto, protein-folding like, or something else. And I speak as being generally very critical of cryptos, but here rewarding the website owner with some cents to have access seems fair, and resolves the traditional issues about micro-payments.

Patches welcome. I'd love to do protein folding too.
Post reply on HN