snix/users/sterni
sterni a9e121380b feat(sterni/blipqn): reuse address and socket for multiple Sends
This is achieved by storing the resources we need to acquire for
interacting with the flipdot (socket fd and addrinfo struct) in a
`struct flipdot` that is dynamically allocated and treated as an opaque
pointer object via the BQN FFI.

To make sure these resources are released correctly, we only provide a
lisp style WithFlipdot to the user which takes care of acquiring and
releasing the `struct flipdot`. This works even if an error occurs in
the function the user provides thanks to _defer_. I'm not sure if
calling it _defer_ is right since Go's error handling works differently,
so defer really is deferred execution in a sense which doesn't really
fit what we're doing here. The closest is probably Haskell's bracket,
but that name references it's triadic nature which doesn't fit our
implementation.

Change-Id: Iff65d277a448dbe0c6ac93e816ece5ab6fa10190
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13011
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-01-17 15:50:33 +00:00
..
blipqn feat(sterni/blipqn): reuse address and socket for multiple Sends 2025-01-17 15:50:33 +00:00
clhs-lookup style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
dot-time-man-pages chore(nix): move buildManPages to //users/sterni 2024-12-31 09:03:38 +00:00
emacs feat(sterni/emacs): search through all org files 2025-01-16 22:19:12 +00:00
exercises/aoc feat(sterni/exercises/lib): add Diagonals BQN function 2024-12-20 17:39:18 +00:00
external chore(sterni/external/likely-music): update to 2023-02-07 2023-03-01 13:40:55 +00:00
git-only-push feat(sterni/git-only-push): support force pushing 2024-12-22 13:36:39 +00:00
htmlman style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
machines feat(sterni/ingeborg/monitoring): send smartd warnings to IRC 2025-01-11 16:11:46 +00:00
mblog docs(sterni/mblog/maildir): add more references 2024-12-26 14:03:57 +00:00
modules feat(sterni/machines): enable fail2ban for ssh 2025-01-16 22:19:12 +00:00
nix chore(nix): move buildManPages to //users/sterni 2024-12-31 09:03:38 +00:00
nixpkgs-crate-holes chore(3p/sources): Bump channels & overlays 2022-09-28 08:02:31 +00:00
secrets feat(sterni/ingeborg/monitoring): expose netdata via nginx 2024-11-18 11:21:37 +00:00
keys.nix chore(sterni/keys): add ludwig ssh key 2022-10-07 16:17:15 +00:00
OWNERS chore(gerrit): migrate OWNERS files to code-owners style 2022-09-19 11:13:28 +00:00