806 karma · joined May 31, 2012
Is there a single-shot mode that I can use from the command-line? Something like:
$ parca-perf record nvim ...
Or: a$ nvim ...
b$ parca-perf top -p $(pidof nvim)Context: Naughty Dog used a custom Lisp-alike (GOAL) to build the Jak & Daxter series on PS2. They left enough debugging information in that it was possible to reverse engineer. The OpenGOAL project has done so, and these games can now be run on all platforms that their GOAL compiler gets ported to (x86 for now AFAIK). Would be cool to port this to the Switch.
Why is the RSS relevant? I assume it doesn't need to keep on running. Also, even if it kept running, 170KB is not the end of the world.
> Also, it’s incredibly complicated. (I looked at the source.) Here’s a writeup of a simple daemon: https://pavaka.github.io/simple-linux-daemon-tutorial/
Maybe it's complicated, but perhaps it's trying to replicate daemon(3) without bugs, and for different processes. See the BUGS section in the daemon(3) man page.
> Given that it’s typed once (by the daemon author, and not the end user), it seems like a big win vs. daemon(1) to me.
This seems like a false comparison. It's not the case that the end user writes the code to daemonise in the non-included case. The user would just use daemon(1) or systemd(8) or something else that can daemonise. Or perhaps a service manager that doesn't need to daemonise, like runit(8) (https://smarden.org/runit/) and its ilk.
The more I read about this, the more I want to know why it's so important that pipewire is running "daemonized" (whether it does it itself or not). Can you explain the advantages and disadvantages?
Is there any reason why all individual tools should learn how to daemonize (in addition to or in replacement of running in the foreground)? There's external tools that can take care of that uniformly, and using the latest/greatest syscalls for it. That seems better than every application including this code. As highlighted in the thread, there are other programs that can launch+daemonise another a process (like the aptly named [daemon(1)](https://manpages.debian.org/unstable/daemon/daemon.1.en.html) tool). Seems more like the UNIX way, from the outset.
- https://github.com/neovim/neovim/issues/170
- https://github.com/neovim/neovim/issues/387
In my understanding, open-coded means something akin to "manually inlined". Or: written inline while an acceptable alternative exists as a function.
We've decided to give them (3, 5, 7) basically no screens except for occasional television. But I'm wondering whether it would be better to give them something creative that they could learn from instead of television. The middle one likes building (with Duplo) a lot [1].
When it comes to screens, have you tried anything apart from Minecraft and Mario Maker? What have they played Minecraft on? Did they start with those games and at what ages if I may ask? Looking at the "what's it" of Mario Maker my first thought was that it would be too complicated for them (starting out with screens), but I'm likely just underestimating them.
[1]: I was wondering about switching to Lego but I don't think these modern pre-made sets are all that good, in comparison to just regular building blocks.
Perhaps for those unaware: "without quality loss". I guess the people who care are those who store a lot of images in jpeg format (at least relative to the storage space they have). In my example, I have >1TiB of photos in JPG format (yes, I know), and it would be nice to get 200GiB back for free without losing quality. For a company offering an image storage product, this would be great cost reductions.
- 70 = septante (versus soixante-dix, which is 60-10)
- 80 = huitante (versus quatre-vingt, which is 40-20), *EDIT*: wrong, see below.
- 90 = nonante (versus quatre-vingt-dix, which is 40-20-10)
The article also mentions something interesting I didn't know:
> The use of septante for "seventy" and nonante for "ninety", in contrast to Standard French soixante-dix (literally "sixty-ten") and quatre-vingt-dix'("four-twenty-ten"). Those former words occur also in Swiss French. Unlike the Swiss, however, Belgians never use huitante for quatre-vingts ("four twenties"), with the use of octante in the local Brussels dialect as being the only exception. Although they are considered Belgian and Swiss words, septante and nonante were common in France until around the 16th century, when the newer forms began to dominate.[4]
*EDIT*: This doesn't appear to be true, Belgian French speakers also say quatre-vingt for 80.
Could you perhaps comment on that, since you seem to have experience?
An excerpt of [2]:
> The abstract namespace socket allows the creation of a socket connection which does not require a path to be created. Abstract namespace sockets disappear as soon as all open instances of the socket are removed. This is in contrast to file-system paths, which need to have the remove API invoked in code so that previous instances of the socket connection are removed.
It worked quite well when I tried it (also in addition to using SO_PEERCRED for checking that the connecting user is the same as the user running the listener in question).
[1]: https://unix.stackexchange.com/a/206395/33652
[2]: https://www.hitchhikersguidetolearning.com/2020/04/25/abstra...