human (Sep 3, 2024, 01:35 PM)
Is a CvRDT basically a semigroup?
assistant (Sep 3, 2024, 01:35 PM)
That's an insightful question that touches on the intersection of distributed systems and abstract algebra. Let's break this down:
human (Sep 3, 2024, 04:36 PM)
Can you ELI5 Linear Types? I'm particularly interested in:
My current difficulty level is that I have a good conceptual overview-level understanding of Rust lifetimes, but haven't used them in anger. I deeply get the need, though: a C++ function that doesn't have a comment specifying what happens to ownership of the arguments is terrifying 🙂
human (Aug 26, 2024, 03:54 PM)
When in my terminal, I've noticed that ctrl-\ seems to often work when ctrl-c won't. I used to use ctrl-z and then kill %+, but ctrl-\ appears to work in the same places that ctrl-z does. Can you explain to me what's going on? Why do they differ in when they work, and what signals are actually getting sent?
assistant (Aug 26, 2024, 03:54 PM)
You've made an astute observation about different ways to terminate processes in a Unix-like terminal. Let's break down what's happening with each of these commands and signals:
| bundlepi🐚 ~/gh/bundlepi main *+ bw run lenovo id | |
| › lenovo uid=0(root) gid=0(root) groups=0(root) | |
| i ╭────────┬─────────────┬────────╮ | |
| i │ node │ return code │ time │ | |
| i ├────────┼─────────────┼────────┤ | |
| i │ lenovo │ 0 │ 0.219s │ | |
| i ╰────────┴─────────────┴────────╯ | |
| bundlepi🐚 ~/gh/bundlepi main *+ bw -d lock add lenovo | |
| [2023-07-12T08:31:19.257140] [DEBUG] invocation: /Users/zellyn/gh/bundlepi/.hermit/python/bin/bw -d lock add lenovo | |
| [2023-07-12T08:31:19.327744] [DEBUG] node lenovo gets its dummy attribute from: default |
| alias csb="clear && printf '\e[3J'" |
| rm -rf OpenEmulator-zellyn | |
| git clone https://github.com/zellyn/OpenEmulator-OSX.git OpenEmulator-zellyn | |
| cd OpenEmulator-zellyn | |
| git checkout iie | |
| git submodule update --init --recursive | |
| open OpenEmulator.xcodeproj |
| package main | |
| import ( | |
| "crypto/cipher" | |
| "crypto/des" | |
| "encoding/binary" | |
| "fmt" | |
| ) | |
| var des3 cipher.Block |
| * Starting development | |
| git clone [email protected]:zellyn/OpenEmulator-OSX.git | |
| git clone https://github.com/OpenEmulatorProject/OpenEmulator-OSX.git | |
| cd OpenEmulator-OSX | |
| git submodule init | |
| git submodule update | |
| # Cloning into '/Users/zellyn/gh/OpenEmulator-OSX/modules/libemulation'... | |
| # Fetched in submodule path 'modules/libemulation', but it did not contain 51bf1c4aa9fe689bb895a723cf0f1e3f0b8d2741. Direct fetching of that commit failed. | |
| cd modules/libemulation |
| I cobbled together a (unix-specific, syscall-using) solution based on the | |
| stack overflow answer to the same question in python, and a previous post | |
| on this list. References inline. | |
| Note: this seems to work, but I haven't taken the time to really understand | |
| what I'm doing, and I welcome any suggestions or fixes. | |
| // https://groups.google.com/d/msg/golang-nuts/8o9fxPaeFu8/uSFYfobL5EgJ | |
| // http://go.pastie.org/813153 |