HNHacker News
TopNewBestAskShowJobs

pilif

15,048 karma · joined February 9, 2009

https://mastodon.social/@pilif - http://pilif.me

[ my public key: https://keybase.io/pilif; my proof: https://keybase.io/pilif/sigs/yHf-RJm7d2dmr7kcjUe4g3m9d2dB0u2Nsu8kpLFFBtQ ]

submissionscomments
pilif··on We rewrote the Ghostty GTK application
Reading the report you reference and other issues linked there, I would say that multiple attempts were made to fix it, all of which unfortunately required some heuristics and all of which have broken something else that was deemed worse.

It seems to boil down to an issue in the underlying X11 machinery and it would need to be fixed there first to build a basis on which proper fixes can be implemented.

Given that X11 is in maintenance mode (and as its fans keep saying: It works perfectly fine and doesn't need any more work done on it), it's not likely that's happening.

So, yes, given that information (and I just arrived at that bug report through your post), I would indeed say that waiting for Wayland is the only option they have. All other attempts ended up causing worse issues.

pilif··on OpenSSH Post-Quantum Cryptography
In light of the recent hilarious paper around the current state of quantum cryptography[1], how big is the need for the current pace of post quantum crypto adoption?

As far as I understand, the key material for any post quantum algorithm is much, much larger compared to non-quantum algorithms which leads to huge overheads in network traffic and of course CPU time.

[1]: https://eprint.iacr.org/2025/1237

pilif··on Debian switches to 64-bit time for everything
that tells me my snark about i386 being the most commonly used 32 bit architecture wasn't too far off reality, doesn't it?
pilif··on Debian switches to 64-bit time for everything
I wasn't discounting VMs with my initial statement. I can totally imagine quite a few VMs still being around, either migrated from physical hardware or even set up fresh to conserve resources.

Plus, keeping i386 the same also means any still available support for running 32 bit binaries on 64 bit machines.

All of these cases (especially the installable 32 bit support) must be as big or bigger than the amount of ARM machines out there.

pilif··on Debian switches to 64-bit time for everything
"everything" for those values of "everything" that do not include one of the most (if not the most) widely used 32 bit architectures.

(snark aside: I understand the arguments for and against making the change of i386 and I think they did the right thing. It's just that I take slight issue with the headline)

pilif··on Accumulation of cognitive debt when using an AI assistant for essay writing task
> The brain does not retain information that it does not need.

Why do I still know how to optimize free conventional memory in DOS by configuring config.sys and autoexec.bat?

I haven’t done this in 2 decades and I’m reasonably sure I never again will

pilif··on Twitter's new encrypted DMs aren't better than the old ones
It didn’t have a back door.

A third party client was used whose only purpose was to log conversations. That third party client’s archive was then hacked.

Any client must by definition have access to the unencrypted data (in order to display it to the user). If you deliberately create a client that logs all communication, well, then all communication will be logged.

pilif··on Tailscale has raised $160M
Not on Windows and iOS. And on the mac, the most useable client isn’t open source either.
pilif··on An open source, self-hosted implementation of the Tailscale control server
here's the GitHub issue tracking the problem:

https://github.com/tailscale/tailscale/issues/3363

pilif··on An open source, self-hosted implementation of the Tailscale control server
Tailscale on my iPhone is unusable while connected in the background. The battery consumption reporting diagram is all 100% filled light blue bars, all attributed to Tailscale.

I’m using their MagicDNS feature with three domains and I think that’s the reason

pilif··on An open source, self-hosted implementation of the Tailscale control server
> Specifically mobile clients and battery usage.

yes. Battery usage is super bad, mainly because of their DNS features which forces every DNS resolution to go through their network extension. At least recent updates have stopped the background power usage when you disconnect from the network in the app.

>But tunneling traffic through them is extremely worrysome.

it only does that in case of super bad NATs that make the usual NAT traversal techniques impossible. And presumably, the traffic is end-to-end-encrypted, so it doesn't matter if they have to be in the loop.

If you don't trust them to properly end-to-end encrypt, then it really doesn't matter whether they are in the loop for forwarding a packet or not because if you don't trust them to encrypt properly, all bets are off to begin with.

If you trust them however, it doesn't matter where the traffic is flowing through because only the intended machine is able to decrypt it.

pilif··on An open source, self-hosted implementation of the Tailscale control server
> I guess it would be much harder to produce an iOS or Android app because of the vagaries of mobile programming.

on iOS you also need a special entitlement that's only available on specific request and only to known developers, so practically impossible for any open source project to acquire.

pilif··on An open source, self-hosted implementation of the Tailscale control server
Yes they are, unless you're using a mainstream OS and/or want to use a GUI, which is probably the most common use case.
pilif··on An open source, self-hosted implementation of the Tailscale control server
Keep in mind that for many use cases (mobile access, GUI on macOS), this relies on the official Tailscale clients keeping the ability to set the control server.

The moment the inevitable enshitification will start at Tailscale, this feature will go away.

I’m saying this as a currently super happy Tailscale customer who was burned multiple times in the past by other companies being sold or running out of VC money

pilif··on DigiCert: Threat of legal action to stifle Bugzilla discourse
If DigiCert were to lose browser trust (at this point, that's still a big if), it would happen the same way it happened with prior CAs, some of which were pretty big themselves (Symantec): all certificates issued after some date would not be trusted, yes. But all existing certificates would remain valid.

This gives certificate owners ample time to look for a different issuer and no certificate buyer would deliberately purchase a certificate from an issuer when they know some percentage of users will not trust that cert.

So for the end users, everything will keep working: the existing digicert certs stay valid and newly refreshed certs will be signed by a different authority. There is no need to turn off automatic updates over this.

Between Entrust and Symantec, we've already seen this happen to large well-known CAs and everything remained fine (not for the offenders, but, hey, that's the system working as intended)

pilif··on Debugging an Undebuggable App
The whole point of reverse DNS notation is to have a conflict free namespace though. Using somebody else's namespace is asking for trouble in the future.

In this case it's probably additional subterfuge in case somebody examines all notifications posted and sees apple and thus ignores it.

pilif··on PHP 8.4.4 Released
None the less - this was a scheduled minor release with no new features and no security relevant patches.

As a PHP developer myself, I'm still not clear as to why that warrants a submission to HN, much less a promotion to the front page.

pilif··on Making System Calls in Rust: Requesting Services from the Kernel
Given the title I would have expected an article about how to make syscalls to the kernel.

What Ingot is an article about how to use libc bindings to make libc issue syscalls.

That’s not the same thing.

pilif··on Release Notes for Ghostty 1.1.0
The shell doesn't have access to the scrollback though. A multiplexer would, if you used one.
pilif··on A major Postgres upgrade with zero downtime
Analyze itself isn’t the problem.

After pg_upgrade, no stats will be available for the optimizer which means that any query will more or less sequence-scan all affected tables.

pilif··on A major Postgres upgrade with zero downtime
These days it does analyze in stages where it does multiple passes with increasing stats sampling.

From personal experience, most of the queries become useable after the first stage has completed which on my 8TB database took less than 5 minutes

pilif··on A major Postgres upgrade with zero downtime
> But we had less than a terabyte of data

I really wonder how an in-place `pg_upgrade` of such small amounts of data would take 30+ minutes.

My experience from a less mission-critical situation where 5 minutes of maintenance are absolutely acceptable is that an in-place `pg_upgrade` with `--link` of a 8 TB database takes less than a minute and will not accidentally lose data or fail to properly configure schema search paths or whatever other mess the article was talking about.

I understand that 30 minutes of downtime are not acceptable. But if it's 5 minutes or less, I would seriously consider an offline upgrade using `pg_upgrade`

And if it takes 30 minutes to hard-link less than 1 TB of data files, you should seriously consider changing hosts because that's absolutely unacceptable performance.

pilif··on Six day and IP address certificate options in 2025
The servers could share the private key and certificate though
pilif··on Six day and IP address certificate options in 2025
In average half of the certs would expire in half of the time. A 3.5 days sustained DDoS attack would cause half of the sites using a 6 day certificate to be offline.
pilif··on Nepenthes is a tarpit to catch AI web crawlers
> Unknown websites will get very few crawls per day whereas popular sites millions.

we're hosting some pretty unknown very domain specific sites and are getting hammered by Claude and others who, compared to old-school search engine bots also get caught up in the weeds and request the same pages all over.

They also seem to not care about response time of the page they are fetching, because when they are caught in the weeds and hit some super bad performing edge-cases, they do not seem to throttle at all and continue to request at 30+ requests per second even when a page takes more than a second to be returned.

We can of course handle this and make them go away, but in the end, this behavior will only hurt them both because they will face more and more opposition by web masters and because they are wasting their resources.

For decades, our solution for search engine bots was basically an empty robots.txt and have the bots deal with our sites. Bots behaved reasonably and intelligently enough that this was a working strategy.

Now in light of the current AI bots which from an outsider observer's viewpoint look like they were cobbled together with the least effort possible, this strategy is no longer viable and we would have to resort to provide a meticulously crafted robots.txt to help each hacked-up AI bot individually to not get lost in the weeds.

Or, you know, we just blanket ban them.

pilif··on Magic Links Have Rough Edges, but Passkeys Can Smooth Them Over
If you lose your phone and you only have your phone to access your email, then you also have lost access to your password if you're using a strong password and a password manager.

Or do you remember a 20+ random character string for each site and thus do not need a password manager?

pilif··on Magic Links Have Rough Edges, but Passkeys Can Smooth Them Over
> you also have the vendor lock-in of a web browser too

1Password allows me to authenticate with my passkey in Safari (my default browser), Chrome and Firefox on macOS and Windows.

pilif··on Magic Links Have Rough Edges, but Passkeys Can Smooth Them Over
> But I would dread having to try and recover a Passkey with Google, who would I even talk to

same as trying to recover a password: You go through the account recovery workflow.

My opinion on passkey is that they are a wonderful tool to speed up the authentication process with sites in some cases (which turns out to be most cases). Rather than typing your password (hopefully on the correct site...) and then sometimes confirming with a magic link or a 2FA code, all you do is use your platform native's authentication conformation method (face recognition, fingerprint, PIN code, whatever) and you're done. This works independently of which site you're on.

Just as with password managers: If you use the OS built-in solution, you're locked into a specific platform (though I admit that with passwords it's at least possible to move them manually, albeit super painful if the passwords are secure), so if you're using multiple platforms concurrently use a password manager that supports all your platforms - most if not all password managers these days support passkeys.

For all breakages related to passkeys, the same applies as with passwords: You use the account recovery flow (which often is the weakest link on any site).

As such, passkeys feel like a wonderful shortcut with even slightly improved security (you can't present a passkey to the wrong site) in the default case.

pilif··on Gene behind orange fur in cats
Tangentially: interesting how we are looking for this for 60 years and then manage to have two separate teams come up with the answer independently and practically at the same time
pilif··on PHP 8.4
We start making sure our application runs on the next version around the time Beta 1 comes out.

We upgrade the development environment around the time when our tooling (phpstan, cs-fixer) runs on the next version, but doesn't necessarily support new language features.

We upgrade the production environment when our tooling supports most of the new language features and at least all of the ones we want to make use of.

This usually happens within 3-6 months of the release. By that time the version has stabilized enough to be safe for production use.

← PreviousPage 2 of 34Next →