HN user

kosinus

355 karma

[ my public key: https://keybase.io/stephank; my proof: https://keybase.io/stephank/sigs/Dmt7B0cYsKj-7I6c-7W40WYIw_OLb9TB5FjAQCiN5QM ]

Posts0
Comments144
View on HN
No posts found.

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.

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.

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.

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.

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.

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.

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.

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.)

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.

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.

Show HN: RootMy.TV 5 years ago

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.

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)

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/

HashiCorp – S1 5 years ago

What's slow in your opinion? I assume it's either config evaluation or the state refresh?

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.

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.

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.)

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.

I wouldn't say it's off topic. I've been thinking about this, because I do agree with you that I likely underestimate his contributions. I wasn't following the movement back then, and only know of his reputation. (I was probably too young.)

But I also don't feel like this moves me at all, and I think that's because his past contributions aren't being erased here. What matters is the person he is now, how that doesn't fit this role they're assigning to him, and how it doesn't align with what the free software movement has become (pushing diversification).

American freedom of speech

This specifically is such a weird expression.

Other than that, just because Stallman did a good thing once, doesn’t excuse him from other mistakes. And making mistakes is not itself a problem, you can always own up to them and learn. But what I gather from the discussion is that there is a _pattern_ of bad behaviour.