🏳️🌈 Technology enthusiast with a focus on Free Software and embedded systems. Science fiction promised us general purpose electronics, let's build them! (And get their security properties right.)
Public Key
npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf Profile Code
nprofile1qqsyhth6f04zwlryhhx7pcnmlpz9c909ff5jfay49weja998vrvnavcpz4mhxue69uhhyetvv9ujumt0wd68ytnsw43qaqgjd8
Show more details
Published at
2026-09-09T19:43:45Z Event JSON
{
"id": "2d92caa2c207b7d1f62ba05b32804f3b64ba76f8db6778acaac8ef925df69b11" ,
"pubkey": "4baefa4bea277c64bdcde0e27bf8445c15e54a6924f4952bb32e94a760d93eb3" ,
"created_at": 1788983025 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://chaos.social/users/chrysn",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"chrysn\",\"about\":\"🏳️🌈 Technology enthusiast with a focus on Free Software and embedded systems. Science fiction promised us general purpose electronics, let's build them! (And get their security properties right.)\",\"picture\":\"https://assets.chaos.social/accounts/avatars/000/144/098/original/a25570b32d79a4ed.png\",\"banner\":\"https://assets.chaos.social/accounts/headers/000/144/098/original/1f5c2f3bb5c5dbf3.jpg\",\"nip05\":\"[email protected] \",\"fields\":[[\"Website\",\"https://christian.amsuess.com\"],[\"pronouns\",\"he/him\"],[\"Other metadata for machine consumption\",\"searchable (eg. through tootfinder), https://justmytoots.com/@[email protected] \"],[\"Also contributes posts to\",\"@[email protected] , @[email protected] , @endor_creative, @flachwitz\"]]}" ,
"sig": "fdd6c65ad5e473fc41df12a6350a0292aa4479b98541fc18fcd5b526845ed73a3c9a03e3652d2cbfe4393e7208c10e0230bfef58c44d738fb61abaf51a9e3c56"
}
Last Notes npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…qww0 @nprofile…vr20 Adree on better doing single-stack right. But why DNS64 over PREF64? AIU, a system resolver can provide all the translated answers by processing PREF64 after having validated DNSsec (including sensible results for getaddrinfo(AF_INET6, "1.2.3.4", ...)), and applications that do everything in userspace won't get the benefits of DNS64 either (typ. because of their 8.8.8.8 DoH server). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…7k5d Works for me if it can be a wildcard. (But yes, if it has DFU-over-CDC-ACM, then *that* descriptor should be limited to the vendor's domain, and pray they keep paying their domain fees). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…7k5d A part from "well but they should authenticate", I'd be totally happy if the device had to flag itself to allow WebUSB. After all, embedded stacks already greet the hat of Windows drivers to be usable, so what's another field in the metadata. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn Firefox has added WebSerial support in 151. This is useful for cloudless communication with #embedded devices. Rather than using the polyfill (https://github.com/kuba2k2/firefox-webserial) that requires cumbersome installation of a native binary, this has all the native code shipped, but seems to require a (presumably trivial) extension per site that uses it due to browsers' sad habit of taking blame for already vulnerable setups. Looking forward to trying it out, and hoping for WebBluetoot and WebUSB to be next. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…4fmn For small T, it could then even use T for &&T, provided its sizeof / alignof are not observed. (Otherwise it'd have to be honest about them, and then this turns from optimization potential into simultaneously moving parts where one optimization could affect another.). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…4fmn The compiler would need to observe, over the whole program (in an effort similar to finding never-constructed variants), that a &&T is never turned into a *const *const T (and probably never transmuted to/from and similar things). Then if T is not interior-mutable, it could decide that the layout of &&T is just the layout of &T, because all that can be *done* with it is to dereference it, and that operation can be provided from &T. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…4fmn I dont' know, but I do hope that the compiler will at some point learn when the sad guarantee (AIU, unconfirmed) that each reference actually *is* a pointer does not leak, and would therefore just optimize &&&4 to 4 internally. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…3k8n https://www.scanprofi.at/ hat unsere Dias und Negative super digitalisiert. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…qww0 @nprofile…vmgx Apple hat doch sicher eine Rechtsabteilung für sowas... npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…0adl @nprofile…kyv9 Wir hätten je nach Inialt der Kanäle noch die untätigen Korruptionsbehörden (wenn nicht-dienstliche und damit nicht an Aufzeichnungspflichten gebundene Kommunikationskanäle für politische Entscheidungen genutzt werden) oder die IT-Abteilungen, die Signal für Dienstkommunikation freigegeben haben. Aber das wär nicht so lustig. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…mcwl I have no clue about streaming, but if it's the typical Rust crowd: you miss a tpyo, someone chats "s/tpyo/typo/", you say thanks and fix it and merrily stream on. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…rtl5 I was more thinking of the time it takes on the happy path of "this did not change since last time it was built". The one first access after a change will sure be unusably slow. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…jydu @nprofile…e3er Cool! Like, tower defense but as a peaceful game. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…rtl5 That'd be a good performance benchmark for caro's -Zscript -- is that fast enough it still outperforms interpreted languages for that use case? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…3eu7 Vielleicht durch wenige Datenpunkte, und eine Punkt-zu-Form-Konvertierung, die mehr Genauigkeit vorspielt, als da ist. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn Funny how people, in light of the LiteLLM compromise, jump to the conclusion that the solution is to make your supply chain even more intransparent by vendoring in dependencies through an LLM's processing, rather than just using pinned and vetted dependencies by default over tools' defaults "yolo there has been an update and it claims to be semver compatible" attitude. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…y9gw Maybe they learned from Bayrische Grenzpolizei. https://assets.chaos.social/media_attachments/files/116/165/062/394/570/990/original/577c41e00f8b469b.jpg npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn Web archiving is troubled: The Internet Archive is under attack constantly, and archive.is/archive.today seems to be on the way towards turning itself and its users into personae non gratae on the web. Is it now time to turn web archiving into a distributed affair where obtaining the snapshot happens while browsing, and produces a witness statement a la "at this point in time, I observed these responses to those requests", and storing/accessing those becomes decoupled from obtaining them? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…jydu Are you sure on 3? Inkscape does a good job pruning data from outside the MediaBox these days. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…v673 I have a similar less sophisticated hook. Back when using calypso (a now discontinued fork of Radicale), that had really good commit messages (like, date for calendar entries, and a User-Agent entry to see which client broke things). I wish Radicale had this in scope and didn't just WontFix this with "everyone can write their own hook". npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…mcwl I don't think you can get rid of that big core switch, but would be delighted to be shown wrong. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…mcwl I think in general you can't, you'll need methods like fn as_service(&self) { match self { MyThing::A(a) => Service::APrime(a.into()), ... } } etc. If you don't want to create them on foot, macros make this reasonably easy. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…mudw @nprofile…pafg @nprofile…4esm Genaugenommen bedingt clone das nicht -- ARandR könnte auch die Beamerauflösung nativ einstellen, und scaling für's 2. Display verwenden -- gerade bei Photovorträgen kann das cool sein. Hab ich in ARandR aber leider noch nicht implementiert, und ist für die konkrete Zielgruppe vielleicht auch nicht so essenziell. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…mudw @nprofile…pafg @nprofile…4esm Vorsicht nur: gespeicherte ARandR-Skripte funktionieren nur dann, wenn der angeschlossene Monitor auch die eingestellte Auflösung kann. Ggf. also beim Erstellen besser eine wählen, die alle relevanten Beamer können. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…jydu Just wait until you use Python 3.14: It has the tools for this too, so you don't want to debug the native code, you can work a level above it as well, or get yourself a REPL into any Python process. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…mfuv I don't know of any way to count the threads, let alone to turn thread spawning off (esp. as that may not just happen through std::thread, but also through any C library). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…mfuv Clippy claims that () as the E is bad practice (<https://rust-lang.github.io/rust-clippy/master/index.html#result_unit_err>). For your case, that'd probebly just be `#[derive(Debug)] struct ErrorWasShown;` (or `enum Error { SeeLogOutput }`) / `Result<T, ErrorWasShown>`, which does the very same thing at runtime, but tells that an error was shown at unwrap. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…f7sz `ls --sort time | head -n100 | xargs -n1 sh -c 'cat $0/.git/HEAD' | sort | uniq -c` gives me 45 main and 23 master for projects I touch regularly, and that ratio only gets stronger the less I extend this to ages old projects. Looks pretty default to me, and the technical git default comes with a big yellow warning "hint: Using 'master' as the name for the initial branch. This default branch name is subject to change.". npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…f7sz https://xkcd.com/1172/ ;-) More seriously: Given how widespread the new default is by now, at some point there's a break-even between breakage from the change and users whose muscle memory needs constant overwriting forcing `master` instead of `main`, esp. when other ma- branches defeat tab complete. That break-even may just as well be now-ish. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…f7sz So what, it's just a branch rename, as has happened in many projects. As long as they take care of any GitHub fallout (autoclosed PRs for lack of target) ... for a user in git, that's well managable. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…00z7 @nprofile…uy6d Zivilgesellschaftliche Organisationen kenn ich keine (nur technische), aber die Kollegys in Tschechien iaben da was vorgelegt: https://konecipv4.cz/en/ npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn I share the general concern from DJB in https://blog.cr.yp.to/20251004-weakened.html -- with much of the collective #IETF payroll being subject to the whims of US agencies, there is a risk of policy based strongarming-in of weak #cryptography. For now, the concern may be premature: WGA is mainly about whether there is drive to do the work. Until this is done, there are more important checks, especially before Recommended=Y: Tougher chair review, but also the shepherd report pointing out dissent, and the IESG itself. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…kxtw @nprofile…j8hy Would they be comfy as seat sized bean bags? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…nhea While you are joking: @nprofile…lrh8, what'd it take for an MPTCP host to advertise a v6 option and then unadvertise all prior v4 options? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ss2n @nprofile…88lj Ah! I'm more of a wood person in that department. https://assets.chaos.social/media_attachments/files/114/878/500/455/967/465/original/9c6eab0dc165a90c.jpg npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ss2n A whistle? (Not by design, but from the aspiration of using anything as a musical instrument). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…u7qg I don't know anything about UniFi; the Thread routers should (on the long run) follow the SNAC spec as far as I understand. Do I see this right that it doesn't work for you because your multiple HomePod devices (those are the Thread border routers IIUC) don't see each other on the infrastructure network (where the UniFi router sits) because they are not on the same link (ie. because the UniFi router routes between them)? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…u7qg That's odd, because I vaguely remember that at least on a spec l evel, they talk about advertising an IPv6 ULA on the WiFi, which should even work in regions where due to monopolies, ISPs get away with not offering v6. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…528n Do those connections go up high enough to have an official French fediverse instance that could host, say, @academie@fr, and beat the pope to it? (cf. https://chaos.social/@chrysn/114477389021336262) npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ss2n @nprofile…8j6a For the symlink trouble I like exposing the repo over WebDAV (eg. loopback nginx) -- helps my TV, and helped back when "copy some photos onto USB" was an everyday operation that'd fail due to Nautilus/Thunar blindly defaulting to `cp -a`. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ndcz Hate to break it to you, but last time I saw that was on our 2012'ish server, and while far be it for me to call the constructors "grown up", they've all been approaching 30 back then. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…8j6a Well, if it just says it's locking, then I think C already has a copy, it's just not locked, and locking is supposed to be fast so no need to elaborate by default. (There could probably be a different trust model where there is no LOCKCONTENT required; maybe if the remotes were trusted, that'd already suffice). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…8j6a What is your numcopies? Maybe it needs more copies than the new one to satisfy that. And which remotes are trusted, semitrusted and untrusted? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…7093 Are the recipients really in a better position to judge what the network state is? The negotiation for block sizes is already ... I wouldn't say brittle, but def'ly not well tested. Adding an extra option and protocol would best be done if there is a clear and benchmarked problem (which there may well be and I don't see it yet) npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…7093 Block size negotiation is mainly there to account for different supported MTUs in heterogenous 802.15.4 networks -- doesn't AX.25 provide that information already? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…8j6a @nprofile…ss2n You won't get around running some script per file, but you don't have to have all at the same time, but also don't have to have a commit per tagging: Just get "some" (like, however many fit on your system, possibly in smaller tranches to parallelize with the tag processing), assign the tags, and drop them -- but run everything git-annex related with `git -c annex.alwayscommit=false`. That way, your changes only go to the index, and a final `git annex merge` to commit. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ss2n @nprofile…8j6a I've seen there's a new feature to have `compute` as a remote, this might be viable too -- declare that each of those files is a compute result of the other. (pristine-tar says hi). Still, I'd prefer an ecosystem where we don't have to go through those tricks and just occasionally nudge audio player authors to support sidecar files. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ss2n @nprofile…8j6a `drop --unused` and then force drop them from the remotes where they used to be and then forget them. Or is there some automation for that process by now? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ss2n In @nprofile…8j6a 's case, the files are already in git-annex with bad metadata. A smudge/clean filter that acts on the annexed data would probably be viable, but then still needs to place the actual data (or whiteouts for to-be-deleted tags) in some sidecar file or the git-annex metadata. (I'm a big fan of git-annex, but am troubled by the metadata feature: It's one more format that is only understood by a single tool.) npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…8j6a Yes and no... they usually read tags from files, but as that's not a well usable data structure, they all build their media library in separate files anyway. Some gladly read external metadata, but sadly they don't even agree on formats there (some using m-tags, some extended m3u). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…8j6a Ok then I phrased it badly. I never alter the binaries, I only add data in extra files that tell the next user how to use them. E.g. for photos, that means having raw files checked into git-annex; darktable then stores cropping, exposure and white balance corrections in an extra file next to it (which I add into git). I have not done this for music yet, but do plan to make my music player (mpd) look at the same kind of extra files (and/or @nprofile…8hqs ) to create its database. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…8j6a The perspective I take there is that when binary files are checked in, they're some kind of third party artifact that's immutable (b/c had I made it, it'd be versioned notes with playing instructions precise enough for reproducible builds, amirite?); own statements on how to best use them then go to versioned sidecar files. I've done this for photos, but sadly don't have a workflow to share for music yet. (But minimally for films, there it looks like this: <https://gitlab.com/chrysn/films-metadata>) npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn Don't trust security check websites. I just went through 10 online #TLS checkers from <https://techarry.com/top-ssl-tls-testing-tools-open-source-online-scanners/>, and only 2 of them (<https://testtls.com/> and <https://www.ssllabs.com/ssltest/>) even managed to scan the #IPv6-only site I was scanning. For all the others: How do you expect to run a comprehensive test when you can't even resolve half the addresses? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn Die @nprofile…xpk0 sind übrigens auch hier. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn Spring at the stable: plants out of muzzles' reach grow undisturbed. #plant #photography #haiku https://assets.chaos.social/media_attachments/files/114/386/497/151/666/180/original/ee61324293a51976.jpg https://assets.chaos.social/media_attachments/files/114/386/497/765/015/057/original/801ea628ad4c2556.jpg https://assets.chaos.social/media_attachments/files/114/386/498/465/290/637/original/80ae35332db588c2.jpg https://assets.chaos.social/media_attachments/files/114/386/499/115/208/275/original/05560a664029312c.jpg npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…qfh3 This is not specific to Python: it's the same in Rust and general mathematics. all(empty) is true and any(empty) is false. This aligns well both with implementations (a la `for item in iterator: if item: return false` and eventually return true) and with the definition (there is not a single element in there that is false, so the result must be true). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn Nice new milestone for #embedded #Rust development: defmt 1.0 has been released. The crate enables logging for microcontrollers without text or number formatting on the device – instead, the device sends numbers of interned strings to the host, which composes log messages. 1.0 is not only a stable release, but also enables logging #CBOR data into diagnostic notation on the host. #RustLang npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ndcz Weird recommendation, but OK. Convinced me to watch it. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…cwcm Viel Spaß! Ich bin diesmal nicht dabei, aber die Freunde und Kollegen von @nprofile…drvc und @nprofile…86am halten die Stellung für embedded-Systeme. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…zfuh Ooh, turtle, my favorite RDF serialization 😻 Technically, RFCXML supports internal links with arbitrary text; maybe I should just give it a try and spread as many links as I'd usually do in hypertext, and see if anyone complains. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…zfuh IIUC, the rationale is faithful rendition (the HTML form was not the "official" form). But the effect applies to the HTMLized versions of older documents. Newer documents (eg. https://www.rfc-editor.org/rfc/rfc9528.html) have a first-class HTML form that does not suffer from this, and in those documents there are no page breaks any more even in the text version either. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn A good 8-minute summary of the #SIGINT situation in #Vienna, based on @nprofile…x7ar's investigation, has been published by @nprofile…l8jc (a journal affiliated with the Austrian NEOS party): https://www.youtube.com/watch?v=CddUToKXZJ8 npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…wwe7 The higher level expression of this might be that vim can edit remote things just fine. Correlating and syncing local files with remote things is for another (sync) tool, whose configs might be understood by a vim plugin. Just like I get changed-line marks when vim sees something managed in git, it could autoconnect if it finds that next to a file there is a `.ethersync` file (from a hypothetical tool that keeps those files pulled up to date for offline reading even when no editor runs). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…wwe7 As a kneejerk reaction, I think `vim https://notes.ietf.org/mypd` (or `:e https:…`) should decide whether anything smarter than "GET the document and try to PUT it on writing" (which generally is a good default) is provided by plugins, probably by attempting some of the discovery options. If opening the root path behaves like a directory, even nicer. On saving, this might go into a cache (maybe ~/.cache/ethersync/by-url/notes.ietf.org/mypd), most config I'd like is changing that per host. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…wwe7 Yes, that's the typical setup; login happens through OAuth. (Probably the same mechanism is also used with the "log in through GitHub" used with many HedgeDoc instances). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…wwe7 @nprofile…p5z8 @nprofile…gtlj This would be super useful. All note taking that happens at #IETF happens in hedgedoc, and while it's nice that it works for everyone, I keep fighting the editor's behavior. Replacing that fighting with muscle memory attuned to my trusty .vimrc would free up valuable brain cycles of those who sketch protocols live while talking. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…6r7t Cool, right, scaling gets it flat too. A few Minkowski sums and shades of gray might even get some fuzziness. Project+offset would then allow the core shadow to be a tad smaller. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…6r7t Is the shadow a new OpenSCAD feature or do you do a rotate-prokect-rotate-project dance to emulate a distant source's shadow in explicit geometry? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…xg92 Chances are there are people within the ISP who have been pushing for this and got told by Management that "there is no demand, so we'll just keep things as they are"; reporting the issue may help those people. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @nprofile…ss2n With the recent discussions on @nprofile…8x0h pages, seeing that this exists motivates me to continue working on my web server that hands out files directly from git, including annexed files, even providing redirects to other mirrors that do have a missing file. (The state at https://codeberg.org/chrysn/annex-to-web is sadly still very incomplete). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @npub10ae…nlyc Why is it always with such devices that after power-on they go to a non-off state (here: 10%)? This complicates startup from power-save modes a lot, if it is even possible without flickering. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @npub18et…m5kt Thanks, I'll place that in my habits next to rm'ing .??* (even though my shell should protect me from rm -rf .* expanding to rm -rf ..). npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @npub18et…m5kt Is that trailing dot a fix for the trailing slash inconsistencies (or at least surprises) rsync has? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn I just had a "the tooling is now too good for me" moment with #RustLang: browsing a small crate, I jumped from definition to definition, found the code to be too low-level to grasp immediately, looked online for references, just to find the code in a different crate. Now who copied from whom? Nobody did: `gd` just sent me to my local cache of some dependency crate :-D Thanks #VIm & rust-analyzer. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @npub1nlt…t44t @npub1ynl…873s @npub1adl…7nuk There was a good session during #IETF 113 on this, that showed one agreement across the technical community: Guardian controlled devices are the only way to exclude kids from content the guardians don't want them to see. Video at https://youtu.be/tHbIaQG_UFs?feature=shared&t=867, minutes & slides on https://datatracker.ietf.org/meeting/113/session/secdispatch/ (presentation named "Encrypted Client Hello Deployment Considerations") npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn The new match rules of #OpenSSH 9.4 look like they'll finally let me use jump hosts only on demand: A `!localnetwork=2000::/3` condition on the ProxyJump directive for an #IPv6-only host should make direct connections used as long as I'm on a real network, and send data through a gateway on demand. I'll try it out as soon as it's available on my system. npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @npub1evu…uf5t @npub1llz…08cq I think my #IETF work could be eligible, but the scope is unclear to me -- on the one hand the type-of-contributions description reads like the "boring" everyday stuff (WG chairing, reviewing documents) is part of the plan, but the application form looks very project centric, as do the times (the "long term" parts are 6mo; that'd have worked for most of RFC9290, but that was the fastest doc I ever contributed to). Can you help me reconcile those? npub1fwh05jl2ya7xf0wdur38h7zyts272jnfyn6f22an9622wcxe86esqqnhyf chrysn @npub1upk…tcwy Why just pcap-like? If it was based on pcap, I could open a strace, reassemble a TCP stream from reads on some write socket, and then run wireshark's protocol dissectors on the data exchanged.