Recent submissions

Comment · 1 year ago
I initially read "the order of files in /etc/ssh/sshd_config.d/" to mean the order of files in the underlying directory inode, i.e. as returned by `ls -f` — and thought, "oh god"... But the lexicographical order, that's not too surprising.
Comment · 1 year ago
I mean, no. If you work on a codebase that's been going for more than a few years, the author likely doesn't even work there anymore. The commit is the important thing.
Comment · 1 year ago
C23 has constexpr, albeit only for objects, not functions. The code also uses namespaces, as in `std::aligned_alloc(P, T)`.
Comment · 2 years ago
Meanwhile, Kerberos (also Project Athena) has been at version 5 since September 1993.
Comment · 2 years ago
There has been recent work on RPC-with-TLS (RFC 9289), xprtsec=mtls.
Comment · 2 years ago
> NFS still sucks (IMO it sucks more than it used to)

Any chance you could elaborate?

Comment · 2 years ago
The distinction I suppose is that what you really mean is "the difference in [necessary] skill level between a burger flipper and an accountant".
Comment · 2 years ago
I suppose such feedback could be used for reaching a fixpoint. Suppose you have a build system that reads targets to be built from stdin and outputs to stdout targets that are dependent on that target and must now be rebuilt. With an ouroboros, the build system will continue to run, even if the dependency graph is dynamically cyclical, until the fixpoint is reached and the build terminates.
Comment · 2 years ago
I mean, learning Haskell has made me a better programmer even if I've never used it at work.

Perl I have used. I wouldn't say the same about that...

Comment · 2 years ago
Comment · 2 years ago
You can do...

  <access.log head -n 500 | grep ...
... though that's less familiar to many, I'm sure.
Comment · 2 years ago
> So the idea is really "what's the point of having a history full of broken state?".

I rebase commits so they don't break the build but the history remains clean and incremental. Selective fixups and so on isn't the same as squashing everything into a single commit.

> This would be a hint that your PR was too big and addressing more than one thing.

I don't think so. Sure, that can be true, but squashes can also simply lose vital history. Suppose you remove a file and then replace it with code copied and modified from another file. If you then squash that, all Git will say is you made a massive edit to the file.

Comment · 2 years ago
You're not the only ones, but I can't understand this approach. Do people never then read the version history? It must be impossible to understand commits' diffs with the changes all squashed together.
Comment · 2 years ago
It's not by the same person — sta.li was by Anselm R Garbe. It's more like a spiritual successor.
Comment · 2 years ago
Thanks for sharing!

  ; these produce an error, since `b` isn't defined when the body of `a` is compiled
  let a = \x -> (b x * 3),
      b = \x -> (a x / 2)
It surprised me when this was called out, given that both a and b are defined in the one 'let'. Was there a specific reason you decided not to treat it as a 'letrec'?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton