HNHacker News
TopNewBestAskShowJobs

mirashii

2,660 karma · joined May 6, 2012

email: me at rdeaton dot space
submissionscomments
mirashii··on The borrowchecker is what I like the least about Rust
Many functional and ML-based languages, such as Haskell, OCaml, F#, etc. allow the signature of a function to be inferred, and so a change in the implementation of a function can change the signature.
mirashii··on The borrowchecker is what I like the least about Rust
> For the disjoint field issues raised, it’s not that the borrow checker can’t “reason across functions,” it’s that the field borrows are done through getter functions which themselves borrow the whole struct mutably

Right, and even more to the point, there's another important property of Rust at play here: a function's signature should be the only thing necessary to typecheck the program; changes in the body of a function should not cause a caller to fail. This is why you can't infer types in function signatures and a variety of other restrictions.

mirashii··on Zig breaking change – initial Writergate
It's not about sticking around on an old version, it's about ever being able to catch up, and what the rest of the ecosystem is going to do. Python did this major version bump that broke a lot of the ecosystem, and it went so poorly that they've effectively promised never to do it again and completely excised any thought of ever having a major version bump again, and other languages and communities now point to it regularly as a debacle to be avoided.

When you break things regularly, you're forcing a choice on every individual package in the ecosystem: move forward, and leave the old users behind, or stay behind, and risk that the rest of the ecosystem moves forward without you. Now you've got a whole ecosystem in a prisoner's dilemma. For an individual, maybe you can make a choice and dig in and make your way along without too much trouble. But the ecosystem as a whole can't, the ecosystem fractures, and if it doesn't converge on the latest version, it slowly withers and dies.

mirashii··on YouTube's new anti-adblock measures
Just for comparison, Netflix in 2024 spent somewhere between $14B and $17B on content, and made $34B in revenue.
mirashii··on Alpha Centauri
https://github.com/afwbkbc/glsmac
mirashii··on Alpha Centauri
There's a number of active communities about still playing the game, including /r/alphacentauri on reddit, a discord server at https://discord.gg/7BkcvXUX , and https://alphacentauri2.info/index.php?action=community

I know the last time I picked it up, there were a well respected set of patches from scient (a quick google pointed me to https://github.com/DrazharLn/scient-unofficial-smacx-patch ). Somewhere in here is a pre-done distribution you can just click and run with for modern windows.

mirashii··on Google Cloud Incident Report – 2025-06-13
There's plenty of reasons in this article and the comments here: https://news.ycombinator.com/item?id=39492680.

My tl;dr:

The vlang team has repeatedly made false promises and assertions about what the language can do, ranging from a "we put things that are on our roadmap in our features list" to "we've promised something that is outright impossible". Analyzing how this has changed over the years, the only reasonable conclusion is that they're grifters who are okay with lying.

In addition, they regularly engage in flamewars about it on this site, and their moderation practices of silencing any sort of criticism in their own spaces and calling anyone who dares question it idiots are well known and documented.

mirashii··on Cloudflare was down
That it wasn’t down for you does not mean it wasn’t down for others or even almost everyone. Certainly, Google wouldn’t have listed the services as having an outage if nobody was impacted. You can’t extrapolate from “works for me” to “it must have been working for everyone”.
mirashii··on Cloudflare was down
Come on, linking four hour old tweets instead of their actual service dashboard where they clearly state there was an outage.
mirashii··on Containerization is a Swift package for running Linux containers on macOS
In addition to the other comments about the fact that this wasn't forced to adopt the GPL, even if it were, there's nothing in the license that forces you to work with the community to take contributions from the public. You can have an entirely closed development process, take no feedback, accept no patches, and release no source code until specifically asked to do so.

They don't have to do literally any of this.

mirashii··on A proposal to restrict sites from accessing a users’ local network
You don't even need to be exploiting the target device, you might just be leaking data over that connection.

https://news.ycombinator.com/item?id=44169115

mirashii··on Prompts for our Grok chat assistant and grok bot on X
https://www.theverge.com/news/668220/grok-white-genocide-sou...

Another lame excuse and some faux transparency to go with it.

mirashii··on Ask HN: Memory-Safe Low Level Languages
https://news.ycombinator.com/item?id=39492680

See this article and the discussions, and if you’re so inclined follow along links in that thread from last time that show folks from the vlang team flaming all over HN.

mirashii··on Show HN: I built a Rust crate for running unsafe code safely
No, "safe" implies that there's no undefined behavior across all inputs. Whether that's a crash or not is still up to the implementer of the code in question, same as any other language. It is your choice whether to use interfaces that crash or do not crash, that is not forced upon you by the language.
mirashii··on Show HN: I built a Rust crate for running unsafe code safely
Even better, this library, with its use of unsafe and fork underneath, introduces a whole new class of undefined behavior to a program by providing a safe interface over an unsafe API without actually enforcing the invariants necessary for safety.

In order for the fork() it calls to be safe, it needs to guarantee a bunch of properties of the program that it simply cannot. If this gets used in a multithreaded program that calls malloc, you've got UB. There's a long list of caveats with fork mentioned in some other comments here.

In my view, this is not serious code and should be regarded as a joke. There's no actual value in this type of isolation.

mirashii··on Tj-actions/changed-files GitHub Action Compromised – used by over 23K repos
Not the first time this particular action has had a vulnerability, either.

https://nvd.nist.gov/vuln/detail/CVE-2023-51664

mirashii··on The Startup CTO's Handbook
I'm a few years out of date, but I don't believe that any sort of PHI scanning is specifically required by HIPPA either, though I've seen plenty of consultancies happy to sell you it.
mirashii··on How to gain code execution on hundreds of millions of people and popular apps
Sure is, autocorrect got me.
mirashii··on How to gain code execution on hundreds of millions of people and popular apps
I suggest reading one or two of Sydney Dekker’s books, which are a pretty comprehensive takedown of this idea. If an organization punishes mistakes, mistakes get hidden, covered up, and no less frequent.
mirashii··on How to gain code execution on hundreds of millions of people and popular apps
The overwhelming majority of evidence suggests otherwise.

https://www.psychologytoday.com/us/blog/crime-and-punishment...

https://www.unsw.edu.au/newsroom/news/2020/07/do-harsher-pun...

https://www.ojp.gov/pdffiles1/nij/247350.pdf

https://www.helsinki.fi/en/news/economics/do-harsh-punishmen...

mirashii··on Github scam investigation: Thousands of “mods” and “cracks” stealing data
Or, worse, I find that most of these are real links from real paypal.

https://www.fortinet.com/blog/threat-research/phish-free-pay...

mirashii··on uBlock Origin Has Been Disabled
Then it seems unlikely you've given ublock origin a real try. Not only can you just use the adguard filter lists in ublock origin, but DNS-based adblocking is and has been increasingly insufficient. What ublock origin can do is a strict superset of what adguard can do, and will perform better as you avoid sending out network requests at all.
mirashii··on Karol Herbst Steps Down as Nouveau Maintainer Due to Linux's Toxic Environment
Karol Herbst was the maintainer of nvidia drivers written in C for 10 years.
mirashii··on The Evolution of SRE at Google
As a Google Cloud customer, I’d say it might be best to split Google into some divisions or something, as Google Cloud’s reliability is a relative shitshow compared to Google.com.
mirashii··on uBlock Origin GPL code being stolen by team behind honey browser extension
> That's why many commercial companies don't include GPL code - see Apple.

This is wrong in a couple ways. First, Apple ships plenty of GPL code. https://github.com/apple-oss-distributions/bash/blob/bash-13... as an example.

What Apple does not ship is GPLv3 code. GPLv3 had two major changes around patents and "tivoization". The tivoization clause in particular forces changes that break Apple's security model for their hardware, and is probably the core reason they do not ship GPLv3 software.

mirashii··on Ada's dependent types, and its types as a whole
> out in the open

This part was an important part of the sentence you might've missed.

mirashii··on Uv, a fast Python package and project manager
.gitignore and .dockerignore exist.
mirashii··on Dioxus 0.6 – Crossplatform apps with Rust
Don't fool yourself, they've taken VC money [1], even being one of the top sponsored projects of all time on Github will not satiate the investors who want returns.

[1] https://www.ycombinator.com/companies/dioxus-labs

mirashii··on Mise: Dev tools, env vars, task runner
You don't have to install node, or Python. mise is written in rust and distributed as a binary.
mirashii··on Making a parallel Rust workload 10x faster with (or without) Rayon
You might find https://mt165.co.uk/blog/static-link-go/ useful, but a quick tl;dr:

Go binaries are statically linked by default if they do not call out to any C functions.

Go will automatically switch to dynamic linking if you need to call out to C functions. There are some parts of the standard library that do this internally, and so many folks assume that go is dynamically linked by default.

← PreviousPage 6 of 19Next →