HNHacker News
TopNewBestAskShowJobs

pie_flavor

3,888 karma · joined July 14, 2016

submissionscomments
pie_flavor··on We Should Be Able to Change Our Languages
Rust has been a practical experiment in macros for ten years now. I think it is safe to say the results are in: macros are great, and you just needed to have a better style of macros. Making and using something like `tokio::select!` in C-style macros is miserable, but `tokio::select!` is easy to use and understand in Rust.
pie_flavor··on How one Twitch chat message became code execution on a streamer’s PC
OBS explicitly disabled the security feature that would have prevented this attack in a real browser.
pie_flavor··on Java 27
Java-the-language blows, but Kotlin does not, and Java-the-platform is on the Pareto frontier of oldest-yet-most-usable open-source ecosystems. I prefer Rust, and the gaps where it doesn't apply, C# fits my use cases better, but Kotlin/JVM is a rock solid development platform.
pie_flavor··on Stabilizing Rust's Never Type
It has been in the language for fourteen years. What would be the purpose of changing it? And what else would ! in the type position signify?
pie_flavor··on Malicious Rust crate Arrayref runs a build-time payload
It's used to do all sorts of things. Rust version probing, bindings generation, precompiling bundled data, etc. The only reason it isn't used to do more is because proc macros do it instead, with an essentially identical execution model and sandboxing situation (ie build scripts in isolation are a red herring).
pie_flavor··on Malicious Rust crate Arrayref runs a build-time payload
You can disable rust-analyzer running build scripts.
pie_flavor··on Malicious Rust crate Arrayref runs a build-time payload
ABI stability is significantly different in a VM language to a native language, and reified generics necessarily require source compilation. Binary-only development for Rust would be exactly as 'sort of not really' as C++, for exactly the same reasons. (There is also no notion of 'installing' dependencies in Rust, and build-time code being malicious isn't much worse than runtime code being malicious.)
pie_flavor··on Malicious Rust crate Arrayref runs a build-time payload
Platform support is a non-issue for every library being discussed. This is an array construction macro, it has nothing to do with what operating system you're running on.
pie_flavor··on Feature Request: Support AGENTS.md
Oh is that why? Thank you! This saw me downgrade to Opus 4.8 for the past several days. I had no idea where it was coming from.
pie_flavor··on Every Fucking Website (2020)
The law does not say 'reasonably expected', it says 'strictly necessary'.
pie_flavor··on Every Fucking Website (2020)
That's not what various references (and AIs) say. Strictly necessary means strictly necessary. They didn't bother defining it in the law. However, user preferences were called out specifically in the WP29 opinion as something that wouldn't count as strictly necessary if scoped any wider than the browser session. So if the plain English meaning and the drafters' opinion contradicts your opinion, why should I risk significant fines to trust it?
pie_flavor··on Don't classify, hallucinate
> On two occasions I have been asked, – "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" ... I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.

He clearly didn't know enough about vector embeddings.

pie_flavor··on Every Fucking Website (2020)
The law does not say 'tracking'. It says 'strictly necessary'. If you remember the user's light/dark theme preference in a cookie, that requires notification. (Or rather, what it requires in practice is that you hire a Highly Paid Consultant.)
pie_flavor··on Increasing the lifespan of a bulb makes it worse in every other way
"You're ignoring what I said", says the guy who proceeds to repeat himself ignoring what I said.

> You "can" have subsidized retail hardware

But neither corporation's shareholders wanted them to for capital reasons.

> or custom hardware sold for a profit

But that'd be an insane waste of money for a platform that's more inconvenient to develop for.

> Agreeing to collude on one issue that is mutually beneficial does not preclude competition in other ways.

But when you're in danger of going under, it's time to stop leaving cash on the table properly, especially when you will win a bidding war.

> There have been tens of thousands lawsuits related to price-fixing and other anti-competitive behavior by corporations

But not against these corporations in this context.

> you saw heavily subsidized high end hardware be the norm for consoles for decades

Because in that span of time it was a good idea: they had lots of cash and were pushing the envelope of what hardware was capable of.

> Then suddenly Microsoft and Sony stop doing so at the exact same time

Because in that span of time, it stopped being a good idea: PC hardware had started being ahead of what they could offer. And you are calling an eleven year period "exact same time".

> extremely overt but also impossible to prove so long as they didn't leave a paper trail.

In other words, you have literally zero evidence this is true and are just going off of vibes, even though as I've just laid out, everything that happened is exactly what you'd expect to have happened if they weren't.

pie_flavor··on Increasing the lifespan of a bulb makes it worse in every other way
It is not proof of collusion that they abandoned bespoke hardware right as consumer hardware was getting good. That is exactly when you want to abandon bespoke hardware. It is not proof of collusion that neither one lowered prices for the cheaper tech. Both were trying to appease shareholders who were sick of the massive up front capital investment that heavily subsidized hardware caused. Again: both had the same incentives, and so independently came to the same conclusions. If they were colluding, Xbox wouldn't've declaratively lost that generation, and with the department on fire today and in danger of being restructured, Sharma would right now be executing one of these strategies you are saying is a smart idea.

The world is not full of conspiracies. You will understand it much better if you look for the actual reason things happen.

pie_flavor··on Increasing the lifespan of a bulb makes it worse in every other way
If you put numbers on a package, the consumer will choose the bigger numbers. Taking some statistic out of context like "the typical consumer does not take reasonable account of product longevity" doesn't make sense when the only two things a lightbulb can do better are 'be brighter' and 'last longer', and both are prominently displayed on the package. The typical consumer does not pick coffee makers based on longevity because the coffee makers don't put longevity on the package, they put the number of feature buttons, and then the consumer chooses based on that instead of inferring or researching a longevity, and the actual takeaway is that consumers are bad at inference. And on this you call the article's extensive description of how lightbulbs work and how lifespan trades off with efficacy 'complete and utter nonsense'?

The video game system analysis is junk too. No, Sony and Microsoft are not in a cartel, you can tell by how they're in vicious competition with each other and Sony's winning. Assuming similar moves made at similar times is obvious proof of collusion is assuming that one party's move was just picked out of a hat, rather than market incentives prompting this move and applying equally to both companies causing both to come to the same conclusions for the same reasons. The actual reason the level of subsidization dropped, which you can find by googling for five seconds, is because they switched from bespoke hardware stacks to standard PC components, which were cheaper. No, you do not make the stupid financial move of making your hardware stack even more expensive just because your competitor made theirs more efficient.

pie_flavor··on Handbook.md shows that long policy documents do not reliably govern agents
Claude is a next-token predictor, appending to a long text document. Prompts aren't an independent kind of thing from policy documents. It's all text in the backscroll.
pie_flavor··on Hyprland 0.55 announced the switch to Lua for its config files
It doesn't need embedding. But if it did, cpython is trivial to embed, and beats starlark in that it already has all the features your users (and Claude) know about.
pie_flavor··on Hyprland 0.55 announced the switch to Lua for its config files
Plugins and IPC do not replace configuration, though configuration may invoke or enable plugins.
pie_flavor··on Hyprland 0.55 announced the switch to Lua for its config files
It is good to keep a configuration simple enough that it doesn't need to be a programming language.

The absolute moment you find yourself thinking of putting conditional logic, or string substitution, or anything like that, in your pure config format, switch to a real programming language, before you end up managing several times the complexity of one with only some of the benefits. No need to end up contemplating some sort of for-loop macro with another key referencing the loop variable, when you can just have a for loop.

I find TOML, in addition to being very readable, to be great at automatically restricting config complexity by making nested lists of tables miserable. If your config sucks at being TOML, it should be JS or Python. (Not a fan of Lua.)

pie_flavor··on Resetting Xbox
You can easily compare to the figures for other games that are also on GamePass. Another Crab's Treasure, for example, had 4.7k Steam players on launch, of a similar nicheness stratum.
pie_flavor··on Resetting Xbox
Which games of their output were Xbox exclusive? They were basically transitioning into a publishing house with no real hardware impact. In fact what did Phil in finally was trying to sabotage the hardware brand itself with the 'This is an Xbox' campaign. I said out loud when I saw the first ad, 'Phil will get shitcanned for this.'
pie_flavor··on The <usermedia> HTML element
There are also many challenges to implementing an original TCP library.
pie_flavor··on The <usermedia> HTML element
It's not very complicated to import the QUIC library, or to import the HTTP library with HTTP/3 supported. For the library authors, QUIC isn't more complicated to implement than TCP. Doomsaying about the complexity of Google Sheets is completely unrelated to whether QUIC is good tech and superior to TCP, which it is; the only remaining complaint is that it's too new to have been part of the kernel yet, and if that makes technology somehow illegitimate then I guess we're just stuck with the mistakes of the 90s forever, why ever invent anything new at all.
pie_flavor··on The AirPods Effect
I don't feel entitled to personal isolation from people who might want to strike up a conversation. If I'm not in the mood, I'll just say so.

I feel entitled to personal isolation from schizophrenics, who have a good chance of assaulting me if I look at them wrong. (And did you think screaming and playing loud music was disruptive just to quiet, and not to the aforementioned conversation too?)

You are the problem, not the person you're replying to. When you say 'you must exhibit infinite tolerance of antisocial disruption', the easy response is 'or I could always just leave'.

pie_flavor··on RFC 10008: The new HTTP Query Method
Yes this, yes that, yes the other, because proxies are in agreement with patterns are in agreement with the HTTP spec that methods exist and have semantic and functional requirements. Your 'should' seems to be discussing a hypothetical technology that is not HTTP, because HTTP has worked this way since 1997.
pie_flavor··on WASI 0.3
What are you talking about? The point of WASI is to stabilize WASM's access to OS APIs. It uses the component model to do this, which is bound to by languages that compile to WASM and by runtimes that run WASM. That is the only kind of interoperability that is required for this WASM system for WASM components to do WASM things.
pie_flavor··on WASI 0.3
We evaluated Extism and concluded that it did basically nothing that WASI and the component model didn't already do out of the box. Was your experience different?
pie_flavor··on WASI 0.3
WASI is the best format for code submitted by users, entirely untrusted, which is in principle of any complexity but expected to be pretty simple. It works on any platform, in any environment, with extreme and direct control over its access to every resource and its ability to execute at all. Wasmtime's "fuel" feature is not something you can do with containers, and if you can do it with VMs then I don't know about it, but VMs are behemoths for the task of executing a simple function that would in an alternate universe be CEL.
pie_flavor··on WASI 0.3
The present component model is "simple and stable". It is presently providing "interoperability between different ecosystems" and has been for years. It has basically nothing in common with CORBA. All the major problems with the Unix design they ran into that caused them to switch to a component model haven't vanished; the component model is still the best way of solving WASM's major complications that traditional C-based designs don't have. C-based designs, in general, are not better just because they came first; if you were designing systems programming from scratch, you'd want something like WIT (proof: Microsoft has done this twice now).
Page 1 of 26Next →