HNHacker News
TopNewBestAskShowJobs

chlorion

771 karma · joined November 25, 2021

submissionscomments
chlorion··on Since Linux 6.9, LUKS suspend stopped wiping disk-encryption keys from memory
You can just wipe the luks header as a nice middle ground.

Luks uses an anti-forensics algorithm that requires the entire volume key being available to unlock the disk at all (it combines the blocks of the key with some diffuse algorithm and xors stuff together to form the actual master key), so in theory you can just clear one sector of the volume key and the whole thing should be unrecoverable.

What I mean is that if even one block of the key is missing you can't guess the rest easily.

chlorion··on The CEO of Mullvad is the main financer of the Swedish Örebro party
I don't think you understand what these people view as "freedom".

This isn't a simple difference in political beliefs, they believe that certain groups of people are basically subhuman and don't deserve basic human rights.

How can you support that?

It seems there are a lot of far-right extremest trolls/psychopaths on hacker news. What a disgrace.

chlorion··on 1.38 Millimeter Microcontroller
It also supports running in freestanding setups without an OS, and quite a lot of the language's features still work.

I was extremely surprised by how much functionality is packed into "core", and runs without an OS when using freestanding rust. Even stuff that requires an allocator can run provided you provide your own heap!

A cool example of this was implementing fmt::Write for a memory mapped uart console thing. Then implementing a kprintln! macro that supports all of the formatting machinery that you are use to. This worked without even a heap available.

chlorion··on Enhancing x11 Application Security with LXC (2025)
Not on my machines, or most for that matter.
chlorion··on We found a bug in the hyper HTTP library
This is the argument I like too.

It's the same argument anti-vaxers love to make. "Well you can still get covid after getting the shot", which is something I read and heard quite a lot. That doesn't make the thing useless.

Humans are really dumb.

chlorion··on Linux and Secure Boot certificate expiration (2025)
>By trusting another chain of trust and firmware binary blobs involved in booting your PC.

So what? I'm still preventing a random person from tampering with my bootloader?

chlorion··on Linux and Secure Boot certificate expiration (2025)
I disagree that there is no need for secure boot for Linux?

Secure boot prevents tampering of your kernel and/or bootloader, nothing about Linux prevents this from being possible.

You might argue that you don't care about this, but some people such as myself do!

chlorion··on Linux 7.1
No, I don't think that's what happening actually.

A stripped down cold build will literally take 90 seconds without caching on modern hardware.

The overwhelming majority of stuff that is being built is drivers, and most of them probably aren't needed for any specific user, so you can disable quite a lot of stuff.

Fwiw a full build of the fedora kernel config takes around 5-10m for my 12core ryzen 3900x, and it's definitely not the fastest CPU around.

chlorion··on Linux 7.1
Its literally trivially objectively measurable, this isn't something that is based in opinion.

You can throw it up on your own website and simply grep the logs if you don't trust it, or look for the analysis reports from people who have done exactly that.

Like the other commenter said, why would linux.org deploy and leave deployed a technology that did nothing? Do they just enjoy trolling users? I doubt it.

chlorion··on Preparing for KDE Plasma's Last X11-Supported Release
They are actually both much better than the things they replace, but a bunch of whiner babies can't stand the thought of anything changing and will claw and scream while being dragged into the future.
chlorion··on Preparing for KDE Plasma's Last X11-Supported Release
Probably didn't even bother to diagnose the issue. It's hard to tell if it was even wayland related without logs and some digging. But lets just blindly blame wayland cause new thing bad!
chlorion··on Go: Support for Generic Methods
I am actually working on my own language, and getting something better than Go is actually not that difficult!

The hard part about making a language is creating the stdlib and tooling and support for the language, but actually creating a language itself that has more features and better features than go can be done by a single person in a few months or a year probably, depending on how much experience they have.

Generics specifically are a great example here. A single person can implement a language with go-level generics fairly easily.

chlorion··on Migrating from Go to Rust
Java is probably able to bump allocate memory or something similar, where rust is using a general purpose allocator.

I guess if you are formatting strings constantly this is important, but you can also use a bump allocator in rust if you really wanted to.

chlorion··on Migrating from Go to Rust
How large are your rust projects?

I am able to write rust on a moto g power (a cheap android smartphone) inside of termux, running on battery, in battery saver mode, and cached compile times for every single one of my projects is under 5s easily, if not faster. Fast enough that I don't notice it at all.

Even a "cold" compile was under 1 minute for me, and I have a decent amount of deps.

I guess my projects are fairly small compared to others though so idk.

chlorion··on Migrating from Go to Rust
And ironically with the exception of the python sqlite3 module, the rust alternatives are much higher quality, IMO.

Does anyone even use tkinter in modern times anyways?

chlorion··on 10% of Firefox crashes are caused by bitflips
Does it though?

People experience "blue screens" and kernel panics and such pretty often.

chlorion··on GNU Pies – Program Invocation and Execution Supervisor
openrc-init can be used on an upstart system, the daemon manager itself can't but that's because you'd have two different daemon managers. Beyond that there aren't any openrc software components, because it was designed to be a modular init system that just handles what it was intended to handle.

The rest of the system for example chrony, sysklogd, cron, etc run fine on upstart systems, because they aren't tied to systemd and are fully modular.

It's okay to be a monolith, that doesn't make it inherently bad or anything, but we should be honest about it, and it does come with some tradeoffs.

chlorion··on Zero-day CSS: CVE-2026-2441 exists in the wild
The statistics we have on real world security exploits proves that most security exploits are not coming from supply chain attacks though.

Memory safety related security exploits happen in a steady stream in basically all non-trivial C projects, but supply chain attacks, while possible, are much more rare.

I'm not saying we shouldn't care about both issues, but the idea is to fix the low hanging fruit and common cases before optimizing for things that aren't in practice that big of a deal.

Also, C is not inherently invulnerable to supply chain attacks either!

chlorion··on I fixed Windows native development
>The curl|sh workflow is no more dangerous that downloading an executable off the internet

It actually is for a lot of subtle reasons, assuming you were going to check the executable checksum or something, or blindly downloading + running a script.

The big thing is that it can serve you up different contents if it detects it's being piped into a shell which is in theory possible, but also because if the download is interrupted you end up with half of the script ran, and a broken install.

If you are going to do this, its much better to do something like:

    sh -c "$(curl https://foo.bar/blah.sh)"
Though ideally yes you just download it and read it like a normal person.
chlorion··on GNU Pies – Program Invocation and Execution Supervisor
No it definitely is a monolith.

It's NOT loosely coupled in any way. Try running any part of the systemd software suite on an openrc system and see how that works out?

I have no idea why people are so insistent on claiming that its not a monolith, when it ticks off every box of what a monolith is.

chlorion··on Termux
I have been able to do some light programming in elisp in termux in emacs on my moto g. My emacs config is now setup to detect termux and config itself accordingly which is neat.

Also I have a wireguard vpn setup so that I can ssh between my phone and desktop computer via a VPS with a public ipv4 address. This allows me to just "ssh 10.0.0.4" to access the phones sshd, instead of having to deal with changing IP addresses and NAT traversal.

chlorion··on We can't have nice things because of AI scrapers
It adds up very quickly.
chlorion··on We can't have nice things because of AI scrapers
I self host a small static website and a cgit instance on an e2-micro VPS from Google Cloud, and I have got around 8.5 million requests combined from openai and claude over around 160 days. They just infinitely crawl the cgit pages forever unless I block them!

    (1) root@gentoo-server ~ # egrep 'openai|claude' -c /var/log/lighttpd/access.log
    8537094
So I have lighttpd setup to match "claude|openai" in the user agent string and return a 403 if it matches, and a nftables firewall seutp to rate limit spammers, and this seems to help a lot.
chlorion··on Babel is why I keep blogging with Emacs
I use org mode files, a small build script and git.

The build system just invokes emacs and compiles org documents to HTML, and installs them in /var/www/${site}. I have a git update hook on the server that invokes the build script when I push updates.

Originally I did just rsync over HTML files though, but I like the new setup a lot.

chlorion··on How I block all 26M of your curl requests
Claude was scraping my cgit at around 12 requests per second, but in bursts here or there. My VPS could easily handle this, even being a free tier e2-micro on Google Cloud/Compute Engine, but they used almost 10GB of my egress bandwidth in just a few days, and ended up pushing me over the free tier.

Granted it wasn't a whole lot of money spent, but why waste money and resources so "claude" can scrape the same cgit repo over and over again?

    >(1) root@gentoo-server ~ # grep 'claude' /var/log/lighttpd/access.log | wc -l
    >1099323
chlorion··on Python developers are embracing type hints
It's not even a niche instance, protocols solve their problem lol.
chlorion··on Python developers are embracing type hints
>The type could be anything, it could be List, Tuple, Dict[int, Any], torch.Size, torch.Tensor, nn.Sequential, np.ndarray, or a huge host of custom types!

That's not how you are supposed to use static typing? Python has "protocols" that allows for structural type checking which is intended for this exact problem.

chlorion··on Effective Rust (2024)
The difference is that leaking is not UB, the worst case is an OOM situation, which at worst causes a crash, not a security exploit. Crashing is also considered to be safe in rust, panicking is common for example when something bad happens.
chlorion··on Abusing C to implement JSON parsing with struct methods
What are you even talking about?

I've never saw anyone claim that doing UB in Rust is okay because its wrapped in an unsafe block?

If anything I've saw the exact opposite of this, cases of UB in libraries is considered a bug almost always, vs in C or C++ where "its the users fault for doing the thing wrong".

I notice you spreading an awful lot of bs about rust lately, not sure what the deal is but its pretty childish and lame, not to mention objectively wrong.

chlorion··on Greg K-H: "Writing new code in Rust is a win for all of us"
So out of bounds access leading to data loss and possible security vulnerability is better than crashing the kernel? That doesn't make sense to me.
← PreviousPage 2 of 16Next →