HNHacker News
TopNewBestAskShowJobs

kosinus

357 karma · joined October 28, 2013

[ my public key: https://keybase.io/stephank; my proof: https://keybase.io/stephank/sigs/Dmt7B0cYsKj-7I6c-7W40WYIw_OLb9TB5FjAQCiN5QM ]
submissionscomments
kosinus··on Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare
Like, the bad bots you see when they get an https cert issued and it becomes visible in the public logs, or something else?

Agree discord sucks.

kosinus··on Restoring 5 GHz Wi-Fi on an LG C5 by changing its webOS region
I was playing around with LG TV homebrew a while back. Still have the same TV, and in the age of AI, I'm considering putting a coding agent to work on a dump of the filesystem to see what it'd take to run stock Linux on it.
kosinus··on Swiss e-voting pilot can't count 2,048 ballots after decryption failure
One of the reasons The Netherlands abandoned voting machines was because of electromagnetic emissions that could be read tens of meters away.
kosinus··on US plans online portal to bypass content bans in Europe and elsewhere
There are so so many reasons to get arrested for social media posts that have nothing to do with censorship.
kosinus··on A 'small' vanilla Kubernetes install on NixOS
Author here. Yeah, unfortunately, that's kinda it: just rebuild a lot. At work we have a custom setup with a build server and agents for provisioning, which is nice for multiple nodes, but also even slower. The QEMU setup in the attached repo was added later and also handy for testing multiple nodes. QEMU is also nice because you can just trash the disk images to get a clean start.
kosinus··on A 'small' vanilla Kubernetes install on NixOS
Author here.

You're right, it's very much a trade-off and preference where you put control, NixOS or Kubernetes. I'm not so much torn, but more believe you always have to weigh pros and cons.

For CoreDNS specifically, this setup adds CoreDNS to every node, and every node does DNS locally, so there's no redundancy benefit to using a Kubernetes deployment for CoreDNS. It does become a benefit as soon as you can't have a CoreDNS per node. I guess the obvious downsides to CoreDNS per node are that cache becomes very spread out in larger setups, and you may end up hammering your API server and upstream DNS servers more.

kosinus··on Incus-OS: Immutable Linux OS to run Incus as a hypervisor
You can also start QEMU/KVM powered VMs with Incus, I assume that's also possible with IncusOS?
kosinus··on Another European agency shifts off US Tech as digital sovereignty gains steam
What is cutting off the ICC if not restricting. I think that was a pretty blatant move, and is a large part of the chain reaction we're seeing now.
kosinus··on Offline card payments should be possible no later than 1 July 2026
I have no idea how the terminals operate, but I was on a flight two days ago and paid with a debit card. The flight otherwise required devices to be in airplane mode. Though there are flights that offer wifi, so there's a good chance the terminal can communicate with the ground, but they just don't allow anything else.
kosinus··on Offline card payments should be possible no later than 1 July 2026
Debit cards are most definitely accepted on planes.
kosinus··on Apple's Browser Engine Ban Persists, Even Under the DMA
I think that is true when you initially switch and are still comparing browsers, but I certainly no longer check if something broken happens to work in Chrome. Stuff may equally be broken by my adblocker. Too lazy to debug someone else's work.
kosinus··on Show HN: I am building an open-source Confluence and Notion alternative
Personal gripe, but there are a gazillion note taking tools, but very few of them do real-time collab.

Me and my partner currently use Apple Notes for this, simple stuff like grocery lists, todo lists, etc. But Apple Notes perf is abysmal with real-time collab. The app constantly hangs and fans are spinning non-stop. iOS is not much better.

kosinus··on European Commission's use of Microsoft 365 infringes data protection law for EU
It goes on to say:

> The EDPS has also decided to order the Commission to bring the processing operations resulting from its use of Microsoft 365 into compliance with Regulation (EU) 2018/1725.

Which, to me, reads like they can keep using Microsoft 365, they just need to work with Microsoft to bring it in compliance.

So my guess is your second interpretation.

kosinus··on Show HN: Obligator – An OpenID Connect server for self-hosters
Thanks for pointing that out! Maybe we can improve on that, even if we keep it as a non-goal.

Right away, a partial mitigation for current versions of Portier is to modify the `email_*.mustache` templates to remove the link. But a second piece of information Portier leaks is simply which sites you're logging into. That's right in the subject for Portier, and not something you can customize for current versions.

I think it's worthy to try and harden against this type of attack, but I'm worried the effect is limited. There's often nothing stopping someone from simply starting the login process / creating a new session, so an attacker just has to know where, and there are a bunch of ways to find out.

kosinus··on Show HN: Obligator – An OpenID Connect server for self-hosters
This looks like it has the same core functionality as Portier? https://github.com/portier/portier-broker

I'm on mobile, so haven't really checked where we differ in details.

kosinus··on The problem with federated web apps
The post body is just one property of a JSON-LD document in ActivityPub. The rest of it is metadata, relations, etc, that different apps may present ever so slightly differently.

It's more like an API with multiple implementations.

(Even just JSON serialization differences will pop up. For example, PHP always likes to escape forward slashes.)

kosinus··on The problem with federated web apps
I'm not sure that applies here. If data is migrated from one app to another, content may change.

We could create a protocol for requesting content-addressable URLs over HTTP, but it wouldn't help with the problem described either.

kosinus··on Surprising Consequences of macOS’s Environment Variable Sanitization
Maybe it's possible to patch the dependency? For example, for Node.js / npm, there are automated ways to do this, like [patch-package](https://www.npmjs.com/package/patch-package). Does Python / pip have something similar?
kosinus··on Ask HN: How much does it cost to run Hacker News?
I don't believe business opportunities are lost that quickly. Sure if you're down for 2 months, yes. But use a solid dbms and web framework and you can transition to multiple servers quite easily, in the order of hours. Doesn't even have to be k8s, but call in an expert the next day if you have to.
kosinus··on Open Source Bait and Switch
This mentions the Elasticsearch situation, but there's nothing the GPL does that would've helped Elastic.
kosinus··on Show HN: RootMy.TV
This isn't available on my model. I think it's only 2019 and newer? The exploit seems to cover some older models as well.
kosinus··on All Bitcoin private keys are on this website
Make me wonder, at what point does brute forcing private keys become more lucrative than mining?
kosinus··on The fastest object diff library in JavaScript
Here is the microdiff benchmark wrapped in benchmark.js: https://github.com/stephank/js-diff-benchmarks

I added three more libraries, and also the size in bytes of `JSON.stringify(result)` for each. (That was also important for me in making symmetry.)

The results from benchmark.js are a lot more consistent on my laptop:

Benchmark: Small object (baseline)

- @n1ru4l/json-patch-plus x 1,426,241 ops/sec ±0.29% (94 runs sampled) (94 bytes)

- deep-diff x 337,122 ops/sec ±0.45% (95 runs sampled) (193 bytes)

- deep-object-diff x 2,138,118 ops/sec ±0.25% (96 runs sampled) (60 bytes)

- diff x 59,277 ops/sec ±0.60% (97 runs sampled) (268 bytes)

- jsondiffpatch x 841,880 ops/sec ±0.38% (96 runs sampled) (113 bytes)

- microdiff x 6,979,471 ops/sec ±0.77% (95 runs sampled) (171 bytes)

- symmetry x 8,666,619 ops/sec ±0.21% (97 runs sampled) (7 bytes)

Benchmark: Large Object (300 properties)

- @n1ru4l/json-patch-plus x 16,902 ops/sec ±0.66% (92 runs sampled) (515 bytes)

- deep-diff x 8,378 ops/sec ±0.68% (96 runs sampled) (1194 bytes)

- deep-object-diff x 19,647 ops/sec ±0.40% (94 runs sampled) (410 bytes)

- diff x 737 ops/sec ±0.45% (94 runs sampled) (12051 bytes)

- jsondiffpatch x 14,306 ops/sec ±0.76% (95 runs sampled) (714 bytes)

- microdiff x 22,131 ops/sec ±0.25% (95 runs sampled) (935 bytes)

- symmetry x 21,432 ops/sec ±0.92% (98 runs sampled) (424 bytes)

kosinus··on The fastest object diff library in JavaScript
I maintain symmetry[1] and wanted to try the benchmark against it, but the results are very inconsistent. Symmetry is anywhere between 50% slower to 20% _faster_ than microdiff on the small object benchmark.

Symmetry doesn't get a lot of activity, but I've been using it in production for many years. It does some more work on array diffing, which this benchmark doesn't cover, by implementing part of Myers' algorithm.

[1]: https://github.com/Two-Screen/symmetry/

kosinus··on HashiCorp – S1
What's slow in your opinion? I assume it's either config evaluation or the state refresh?
kosinus··on Gmail is opening and caching URLs within emails without user intervention (2019)
I’ve also seen anti-virus do this, though I don’t remember which brand.
kosinus··on Understanding thread stack sizes and how Alpine is different
This is one of the reasons why I'm no longer using Alpine as a base in Docker images. I ran into this limit specifically with node-sass.

But in general, the difference in image size is negligible because of shared layers, and I just don't think enough testing happens on Alpine / musl in any given stack. Even if your app runtime is tested this way, how many dependencies are?

Come to think of it, I'm not even sure why there was a push for Alpine-based Docker images at some point. Maybe it was just hype.

kosinus··on Licenses alone do not govern behavior in open source
Yes, Nix is a little more strict in this regard, when seen as a package manager. But regardless, the author also mentioned he took issue with Fedora packaging, so is more interested in limiting distribution channels in general.
kosinus··on Nix solves the package manager ejection problem
Nix uses symlinks to create user environments, mostly. The rest all points to unique paths in `/nix/store`. Sometimes, environments are also used for applications, mostly modular stuff.

Take a Python service started by systemd. The systemd ExecStart points directly to the immutable Nix path of the script, and the script also has a shebang that points directly to the immutable Nix path of the Python interpreter. (The Python interp in turn also links to libraries via direct Nix paths, etc.)

kosinus··on Beyond Meat’s Beyond Burger life cycle assessment (2018)
I think this is a vague line of reasoning. We want to give animals quality of life, because it’s a humane thing to do, but also slaughter them, which is inhumane. So which is it: is the life of animals just as important, or less?

The same line of reasoning can be applied to humans. We can have really shitty deaths categorised as ‘old age’, yet euthanising is controversial.

Page 1 of 5Next →