For all of you wanting this feature there's a great option out there if you're willing to step beyond Signal: Conversations. There's no primary/secondary distinction: it does true-multi-device multi-key encryption (they adopted libsignal and built on it and I'm very grateful that OWS developed and released it so it could be built upon), as well as video chat, file attachments (encrypted, of course), and cross-device history syncing, and all that at 1/3rd the size of Signal, and without a dependency on push notifications. And you can pretty easily set up alt identities and use them on the same devices so there's no need to worry about [giving out a private number](https://www.vice.com/en_us/article/9kaxge/how-to-use-signal-without-giving-out-your-phone-number-a-gender
#!/usr/bin/env python | |
# this is a tiny little clone of `nc -U -l path` | |
# but it creates the socket *after chdir()ing in a subprocess* to avoid ENAMETOOLONG: | |
# | |
# To test the difference, get openbsd-netcat and run: | |
# | |
# mkdir -p /tmp/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz | |
# nc -v -U -l /tmp/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/ipc.sock | |
# |
Just because the docs on https://github.com/42wim/matterbridge/wiki/ are a little bit obscure in some parts, here's a complete record of what I did:
sudo pacman -S matterbridge
- Set up a generic systemd service file:
$ cat /etc/systemd/system/matterbridge\@.service
[Unit]
Description=%I Chat Bridge
After=network-online.target
node_modules |
#!/usr/bin/env python3 | |
# | |
# The missing 'pip integrity' command. | |
# | |
# This verifies the correctness of an unpacked pip package | |
# by examining the file hashes in the 'RECORD' file. | |
# spec at https://peps.python.org/pep-0427/#the-dist-info-directory | |
import sys | |
import base64 |
I've found a confusing behaviour in Linux's version of du(1).
du
can take a single folder to recurse into, or list of files/folders either via --files0-from
or in argv
.
But its behaviour is inconsistent if this list contains parents and children.
- A child given before its parent makes the parent count as empty
- With
-s
(or equivalently-d 0
), a parent given before its child (vice versa) skips the child
OpenBSD's du conversely has consistent behaviour: it always outputs one line (or block of lines, if not given -s
) per input, and always counts everything as full-sized, parent and child.
<?xml version='1.0' encoding='utf-8'?> | |
<MixxxControllerPreset schemaVersion="1" mixxxVersion="2.3.0"> | |
<info> | |
<name>Akai MPK Mini</name> | |
</info> | |
<controller id="AkaiMPKMini"> | |
<scriptfiles/> | |
<controls> | |
<!-- Master --> |
This is a wrapper around docker exec
that makes sure to set up a matching user; it also has a pre-script hook. It's kind of janky but it was useful.
It's a lot like Microsoft's `wsl -- command'
Originally written as part of https://github.com/neuropoly/spinalcordtoolbox/blob/916ab591ca2e35cab9f5f27ec2439ce8fdb0b9d2/util/dockerize.sh but that project migrated to Github Actions.
We used it like this:
# if this is a docker job, run in the container instead; but if not just run it here.
Extract an indented block from a file, starting from a given header line.
Usage: extract.awk HEADER file
e.g.
$ ./extract.awk a t
a() {