gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
<colemickens> It is, gsync works through it, since it's "naive" DP switching.
<samueldr> what's the catch?
<samueldr> (not that I'm interested)
<colemickens> I am doing a cleaning pass and I just want the thing gone and I'd rather ship it to someone that lurks here than deal with listing it repeatedly (again).
<colemickens> No catch AFAIK, DP KVMs that handle that resolution aren't super easy to find, and I'm only aware of one esoteric small-batch product that is significantly better than it. Even in the years since I bought it.
<abathur> anyone familiar enough w/ git subtrees to know, given a repo (on GH) with more than 10 subtrees, if there's a simpler way to hunt down their sources than trawling for the most-recent squash commit or something?
<abathur> nm, did it the way I described above already :[
cole-h has quit [Quit: Goodbye]
rajivr has joined #nixos-chat
tilpner_ has joined #nixos-chat
tilpner has quit [Ping timeout: 240 seconds]
tilpner_ is now known as tilpner
<aleph-> colemickens: Getting rid of a KVM?
<colemickens> aleph-: yup, I am aiming for a simpler (read: less hw) setup in my life
<aleph-> colemickens: I'm definitely interested. Where about are ya'll located?
* aleph- reads about how to use a DP KVM switch with his oryx pro
<colemickens> aleph-: Seattle.
<infinisil> First US presidential debate starts in 8 minutes..
<aleph-> Eyep, getting my whiskey out
<infinisil> Lol yes
<aleph-> As I reprocess 900k minidumps lol
<aleph-> colemickens: Got an idea on the weight?
<aleph-> Just wanna go estimate S+H to NY
<colemickens> 1.542 kg, feel free to DM if you want too.
<aleph-> colemickens: Stupid question, is it like HDMI in and DP out?
<colemickens> aleph-: it's all DP
<colemickens> and it's not "active" DP so there's a second to switch, but it's as if the wires were directly exchanged (which was important to me for GSync/ adaptive refresh rate stuff to work)
<aleph-> Got it. Guess I can do USB-C dock to DP for my work laptop
<aleph-> And let me go see about my oryx pro...
<colemickens> in my experience windows and linux didn't really care about this in practice
<gchristensen> infinisil: is audio broken on cspan for you?
<infinisil> gchristensen: Yup..
<infinisil> And reloading seems to make it non-live (as if it was a 30 minute video already done)
<infinisil> Gotta love some technical problems!
<gchristensen> ^ same video, but live :)
<infinisil> Nice
<aleph-> colemickens: Yeah I'll message you in a bit for it.
<infinisil> No audio either though :(
<samueldr> a friend of mine was confused and said CPAC (which is the canadian equiv to cspan)
<samueldr> which is wholly confusing because CPAC is currently streaming late night voting that could result in the current government losing a vote of confidence
<samueldr> (for anyone interested in canadian politics, https://bcsecurelivehls-i.akamaihd.net/hls/live/680603/1242843915001_2/master.m3u8 it's the floor language stream)
<samueldr> not entirely sure what they were voting for/against right now
cjpbirkbeck has joined #nixos-chat
<aleph-> Geez
<samueldr> oh, want to be doubly-confused? CPAC (Canada's equivalent to CSPAN) is *also* covering the debate!
<samueldr> want to hear it simultaneously translated in french? https://bcsecurelivehls-i.akamaihd.net/hls/live/680607/1242843915001_6/master.m3u8
<gchristensen> why yes
<aleph-> Man Biden's voice was giving me a migraine. Ouch
cjpbirkb1 has quit [Ping timeout: 240 seconds]
<JJJollyjim> how's the malarkey right now
<samueldr> the limpest moderator I've heard :|
<drakonis> goddamn
<drakonis> what a shitshow
<gchristensen> unwatchable
<abathur> probably the goal
<drakonis> here
<samueldr> the debates commission in Canada cuts microphones when it becomes unruly, and quickly
<gchristensen> nice, samueldr
<samueldr> tbf, they were five on stage during last elections
<samueldr> it can become quite cacauphonic when five people are arguing past eachothers!
<aleph-> Yeah I do wish they would mic cut more
crazazy[m] has quit [Ping timeout: 240 seconds]
jtojnar has quit [Ping timeout: 240 seconds]
arcnmx has quit [Ping timeout: 244 seconds]
bbigras has quit [Ping timeout: 244 seconds]
vaibhavsagar has quit [Ping timeout: 244 seconds]
JJJollyjim has quit [Ping timeout: 240 seconds]
leons has quit [Ping timeout: 244 seconds]
colemickens has quit [Ping timeout: 260 seconds]
kraem has quit [Ping timeout: 240 seconds]
worldofpeace has quit [Ping timeout: 244 seconds]
aaronjanse has quit [Ping timeout: 260 seconds]
emily has quit [Ping timeout: 260 seconds]
<drakonis> ugh
<drakonis> this is awful
<drakonis> trump is repeating himself
<infinisil> Truly
<drakonis> he's losing his mind right now
worldofpeace has joined #nixos-chat
<abathur> Cringe 2020
colemickens has joined #nixos-chat
<drakonis> uncle john?
aaronjanse has joined #nixos-chat
<drakonis> oh my god
kraem has joined #nixos-chat
emily has joined #nixos-chat
<drakonis> oh god
<drakonis> why
<drakonis> this is suffering
<aleph-> drakonis: Just do closed captions and turn the audio off
<infinisil> Wow
<infinisil> Wow
<drakonis> god damn it
<drakonis> fuck
crazazy[m] has joined #nixos-chat
bbigras has joined #nixos-chat
<drakonis> hearing trump talk is the worst
jtojnar has joined #nixos-chat
<drakonis> whyyyyyy
<infinisil> WOW
arcnmx has joined #nixos-chat
<samueldr> (sorry, was listening to the canadian house thing)
<samueldr> wow what?
<infinisil> Trump just insulting biden half the time
<samueldr> if he says something enough times, it becomes true [in his mind]
<infinisil> Everything he says is true [in his mind]
vaibhavsagar has joined #nixos-chat
leons has joined #nixos-chat
<drakonis> sigh
<abathur> someone who is livetweeting this: "I AM NOT DRUNK ENOUGH FOR THIS (I don't drink)"
<infinisil> Oof, tbh, both are pretty bad at speaking. Biden occasionally has a good run though
<ashkitten> i tuned in for about 30 seconds and then noped out
<infinisil> Okay I'm out
<infinisil> Cringe meter maxed out
<ashkitten> even more incomprehensible than usual and theyre just talking over each other about how the other guy is worse
<abathur> yeah, I keep trying but only last about 30-60s
<gchristensen> "let him answer!" mood
<ashkitten> they should really only have one mic active at once and mute the other person while theyre talking
<infinisil> Ohhh and they should have a chess clock
<ashkitten> the fact that they don't do any of that shows that this chaos is exactly what they're trying to achieve
<ashkitten> so i think it delegitimizes the whole thing
<abathur> not like, generally a fan of chris matthews, but he's the only person I can recall moderating trump that could stay in the saddle
<aleph-> colemickens: So yeah dm me about the switch. I will figure out shipping and handling tomorrow
bbigras has quit [*.net *.split]
emily has quit [*.net *.split]
aria has quit [*.net *.split]
jared-w has quit [*.net *.split]
waleee-cl has quit [*.net *.split]
rizary has quit [*.net *.split]
karolus has quit [*.net *.split]
joepie91 has quit [*.net *.split]
ky0ko has quit [*.net *.split]
neeasade has quit [*.net *.split]
bqv has quit [*.net *.split]
Taneb has quit [*.net *.split]
karolus has joined #nixos-chat
jared-w has joined #nixos-chat
joepie91 has joined #nixos-chat
aria has joined #nixos-chat
rizary has joined #nixos-chat
waleee-cl has joined #nixos-chat
joepie91 is now known as Guest68834
neeasade has joined #nixos-chat
ky0ko1 has joined #nixos-chat
emily has joined #nixos-chat
bbigras has joined #nixos-chat
Taneb has joined #nixos-chat
bqv has joined #nixos-chat
cjpbirkbeck has quit [Ping timeout: 272 seconds]
andi- has quit [Remote host closed the connection]
endformationage has quit [Quit: WeeChat 2.9]
andi- has joined #nixos-chat
cjpbirkbeck has joined #nixos-chat
liff has quit [Ping timeout: 244 seconds]
liff has joined #nixos-chat
iqubic has joined #nixos-chat
<drakonis> gosh i cant wait for CAS store
<drakonis> so i dont have to redownload 2.5gb of data every week
<drakonis> among other things
<iqubic> What is CAS store?
<abathur> content-addressed (store?) I guess
<samueldr> content-addressed store store
<iqubic> My current issue for today is trying to work out why softether isn't working, and how I can fix it.
<drakonis> yes
<drakonis> lol
<drakonis> alternatively
<drakonis> computational algebra system
maxdevjs has quit [Ping timeout: 265 seconds]
waleee-cl has quit [Quit: Connection closed for inactivity]
<energizer> trying to think of what a nix symbolic algebra system would be
iqubic has left #nixos-chat ["ERC (IRC client for Emacs 28.0.50)"]
iqubic` has joined #nixos-chat
iqubic` has quit [Client Quit]
cjpbirkbeck has quit [Quit: Goodbye, take care]
mudri has quit [Ping timeout: 260 seconds]
elvishjerricco has quit [Read error: Connection reset by peer]
mudri has joined #nixos-chat
elvishjerricco has joined #nixos-chat
cole-h has joined #nixos-chat
cole-h has quit [Quit: Goodbye]
<eyJhb> Seems like Displaylink might have died as a consequence of NOEXEC? Which would be weird
<eyJhb> (actually rebulding NixOS)
<eyJhb> ,locate bin mount
<{^_^}> Found in packages: mount, toybox, busybox, klibcShrunk, libuuid.bin, utillinux.bin, unixtools.utillinux
<eyJhb> `rpool/local/root on /build type zfs (rw,nosuid,noexec,relatime,xattr,posixacl)` yup :p
<sphalerite> oh boy, that's a nice impurity
__monty__ has joined #nixos-chat
<eyJhb> sphalerite: It really sucks that it is like that :(
<eyJhb> I should just have a /playground for stuff that needs EXEC
<sphalerite> eyJhb: I mean if you have /tmp as noexec, some nix builds could fail hilariously.
<sphalerite> gchristensen: ^
<eyJhb> Yeah :p
<eyJhb> But that is why if one could specify the dir nix should use to mount /build to, it would be nicer! :D
<eyJhb> But you could go the way and always build using a external machine!
<eyJhb> (I totally did not patch displaylink to do sh <file> instead of ./, and just disabled virtualbox so I do not have to build anything myself)
<eyJhb> As I have no IPv6, and therefore no access to a builder atm.
<eyJhb> :(
<sphalerite> eyJhb: you can. Set TMPDIR for nix-daemon.service
<eyJhb> ,ping
<{^_^}> pong
<eyJhb> sphalerite: Can I do that in a somewhat easy way?
<eyJhb> `systemd.services."nix-daemon".environment = { "TMPDIR" = "/something"; }` ?
<immae> eyJhb: it should be equivalent to setting nix.envVars.TMPDIR = "/something" no?
<immae> (Ah it’s an internal value so it’s not documented)
<eyJhb> immae: meaning it cannot be set, or just that it is hidden?
<immae> it is hidden
<immae> not readonly
<eyJhb> Hmm, maybe I should use that one
<eyJhb> Currently I am just thinking of a way I can make this NOEXEC/NOSUID more universal/put it into a simple file and have everything together
Guest68834 has joined #nixos-chat
Guest68834 has joined #nixos-chat
Guest68834 has quit [Changing host]
Guest68834 is now known as joepie91
<gchristensen> sphalerite: nice
<gchristensen> eyJhb:
<eyJhb> gchristensen: You haven't had that issue yet?
<gchristensen> not yet...:) but I do a lot of my building on another machine
<eyJhb> You lucky bastard gchristensen :D
<eyJhb> I only saw it because of displaylink and vbox
<gchristensen> maybe you could set boot.tmpOnTmpfs, or mount something exec on /tmp
<eyJhb> Yeah, had that before. I am trying to do something else :D
<eyJhb> Hence, my questions and infinite recursion in #nixos :p
<eyJhb> Just planing on having a tmpfs that is used for builds basically
<gchristensen> whoa ... `mount` shows "/home/grahamc/bogus on /bogus type zfs (rw,xattr,noacl)
<gchristensen> if I delete /home/grahamc/bogus, it show bogus on /bogus type zfs (rw,xattr,noacl)
<gchristensen> bogus is the name of a zpool
<eyJhb> What do you use it for gchristensen ?
<gchristensen> bogus?
<gchristensen> destroying datasets, zpools, and other scary operations
<gchristensen> sometimes I `send` to it, like with github.com/grahamc/wint
<eyJhb> understandable :p Generally scary opertions is not nice.
<eyJhb> gchristensen: Is it possible to make overlays in config ?
<gchristensen> eh?
<eyJhb> Currently trying to get all fileSystems names/mount points, and setting them all to have NOEXEC, except for a blacklist. But as the syntax ends up being something like `fileSystems = someFunc config.fileSystems`, I end up getting a infinite recursion. Just thought about overlays
<eyJhb> But there might be a better solution, and one that ACTUALLY works.
<eyJhb> Also, on the DisplayLink topic. My teacher just came in and said he had spent the past 24 hours fixing his computer after it wouldn't boot when he tried to install DisplayLink on it.
<eyJhb> sphalerite the brick is real.
<sphalerite> gchristensen: though it won't be as bad as I originally imagined I think — I think files can be set executable, just not executed. I was worried that maybe it would end up installing binaries into the nix store non-executable but I don't think that's the case.
<gchristensen> ah
tilpner has quit [Quit: tilpner]
waleee-cl has joined #nixos-chat
tilpner has joined #nixos-chat
<lejonet> sphalerite: yeah, noexec doesn't stop you from setting +x on a binary, it will just tell you "No." when you try to execute it
<lejonet> gchristensen: My brain is screaming both "Why?!" and "Why not?!" on that keyboard lol
<lejonet> "My password is burger, sushi, sandwich, subway, melon+milk" :P
Jackneill has quit [Read error: Connection reset by peer]
Jackneill has joined #nixos-chat
neeasade has quit [Remote host closed the connection]
maxdevjs has joined #nixos-chat
tilpner_ has joined #nixos-chat
tilpner has quit [Read error: Connection reset by peer]
tilpner_ is now known as tilpner
raboof_ is now known as raboof
V is now known as v
v is now known as V
endformationage has joined #nixos-chat
<gchristensen> so is google announcing something today?
<samueldr> yes
<gchristensen> anything good expected?
<samueldr> probably not
<samueldr> the main focus was about a new chromecast
<gchristensen> hehe okay
<gchristensen> ohdear
<samueldr> and people bought them yesterday in home depots that broke street date
<samueldr> so it's been all shown already by tech blogs
<gchristensen> lol
<gchristensen> oops
<samueldr> oh, I thought it was chromecast, but it looks like it might be pixel 5
<samueldr> apparently starting in 8 minutes
cole-h has joined #nixos-chat
rajivr has quit [Quit: Connection closed for inactivity]
nckx has quit [Ping timeout: 264 seconds]
tilpner has quit [Remote host closed the connection]
tilpner has joined #nixos-chat
<samueldr> hopefully that new amlogic-based chromecast "with google TV" has its bootloader unlockable
<samueldr> since amlogic is (apparently) well supported by mainline
<samueldr> and it's now powered by Android (google TV)
ldlework has quit [Ping timeout: 272 seconds]
nckx has joined #nixos-chat
<colemickens> I didn't even think that was something to have hope about. That would be really freaking cool.
<samueldr> previous chromecast devices were all-locked-down :(
<samueldr> so I would not really expect it to be unlockable
<colemickens> Yeah, that's why I just blanket assumed there was no hope.
<colemickens> I remember playing with the first Chromecast in the early days when it was... much less secured.
<samueldr> oh... OH... maybe the HDMI dongles for amlogic will help here?
cjpbirkbeck has joined #nixos-chat
<colemickens> lmao, just so you can enjoy my suffering, that cheap pixel3 I bought from ebay? I returned it without factory resetting, so it has returned to me again. I'm drowning in Pixel 3s but still only have one good one!!
<samueldr> :|
<colemickens> I know some of the words on that gh wiki page, but no idea what I'm looking at tbh
<samueldr> it's an HDMI dongle that uses an undocumented feature of amlogic SoCs boot chain
<samueldr> that boot chain queries a location on the i²c bus, and if some magic strings are present, it'll skip directly to that boot method
<samueldr> so instead of, let's say, booting from the internal SPI, it'll boot from USB
<samueldr> though right now I'm thinking a bit more... IIRC there is "security" on amlogic chips that may mean it's not useful in that instance as the program still might need to be signed
<aleph-> colemickens: Didn't sell the kvm yet right
<colemickens> aleph-: ha, no, it's yours if you want it.
<colemickens> samueldr: I was going to say, that seems like a big back door to leave open, but from what I know about PSP batteries, and the Switches hardware "exploit", I guess it wouldn't be unprecedented.
<samueldr> if that doesn't defeat the signature, it's not a bad backdoor
<samueldr> the switch's was problematic because of a signing verification bug
<samueldr> if it hadn't had that bug to exploit in the protocols, it would have been fine
<colemickens> yeah, just skimming through it here again, there's more "exploit" to it than I'd thought
<samueldr> basically the basic OS in uh... "programming mode" for Tegra has some exploitable bugs
<samueldr> fixed switches still have that way to go in programming mode... it's a good thing! that's used to fix broken software
<samueldr> (by service centers)
<samueldr> they fixed the bug that was exploited though
<colemickens> The Matrix + Gitter news is exciting to me. "This is because the pledge is feature parity first (so, yes, that means Element will be gaining a bunch of Gitter features; such as threads and instant live room peeking, to name two)."
<gchristensen> I think it would be fun to have a repo with a nixos config in it on github where any PR which passes checks is automatically merged and deployed to an AWS server. just to see what would happen
<cole-h> Sounds like fun
<energizer> tbh that should be the only way to use nixos. i hate that i write all this software to define my system but i have no ci process for it, i even have uncommitted code running on my machine
<ashkitten> gchristensen: could we have a goal with it?
<ashkitten> thinking about screeps
<gchristensen> screeps?
<ashkitten> programming mmorts
<gchristensen> presumably you could do whatever you wanted
<gchristensen> potentially even modify the checks which must pass for it to deploy
<gchristensen> it would be chaos, basically
<gchristensen> unless an early contributor made the checks good enough
* ashkitten changes the checks to only allow my commits (signed)
<cole-h> lol
<cole-h> gchristensen: Chaos NixOS
<samueldr> change it so it boots off a ramdisk, and kvm installs Windows 98 on the main disk
<gchristensen> now you're cooking
<drakonis> cooking with gas
<cole-h> If it fits, it ships.
<ashkitten> that's a good name for the repo
<ashkitten> :p
<cole-h> Hehe
<cole-h> Chaos NixOS inspired by Chaos Monkey
<gchristensen> this sounds like a lot of fun and I hope somebody makes it
<eyJhb> Sooooo....... Everything is NOEXEC except /nix and a build dir for rebuilding stuff
<eyJhb> Unlike gchristensen , I don't need to get any work done apparanly!
<gchristensen> lol
<eyJhb> Just going to see how well it works for a period of time
<eyJhb> Honestly, the ony annoying thing is Dropbox not working...
<eyJhb> only**
<eyJhb> But I am guessing there is one ugly solution for that...
<clever> eyJhb: dropbox will put its updates in $HOME and try to re-exec the new version when its found
<eyJhb> Yeah, precisely...
<eyJhb> So the solution would be to do some nix thing stuff, and have it in /nix/store
<eyJhb> But I am guessing it updates fairly often
<eyJhb> Anybody knows how often it does so?
<eyJhb> I am so used to ctrl+c when I am doing switching, that I almost take it for granted I can do it ..
<eyJhb> Ended up whitelisting the path for it, so now it can do exec in its own little dir
<sphalerite> eyJhb: I have an alternative suggestion
<sphalerite> eyJhb: it involves fire
<lovesegfault> goddamn this new IDLES album slaps
<lovesegfault> I wonder if they'll ever release something that doesn't make me want to set stuff on fire
<infinisil> lovesegfault: Link?
<cole-h> :P
<abathur> bot should have a lmgtfy
<lovesegfault> infinisil: my favorite song: https://www.youtube.com/watch?v=sjr11lGEBg4
<infinisil> abathur: cole-h: I think it makes sense to provide a convenience link when sharing music
<lovesegfault> y'all are mean, if infinisil got a cent for every time _I_ ask him something he'd be rich by now
<infinisil> Not the same situation as e.g. on stackoverflow
<lovesegfault> pitchfork gave them such a shitty review, jesus
<abathur> infinisil: I agree, just a non-sequitur :)
<infinisil> abathur: What's non-sequitur? (xD)
<infinisil> I'll google it okay!
<cole-h> "Does not follow"
<cole-h> infinisil: I agree as well, was just being "that guy"
<infinisil> lovesegfault: Rock isn't usually my thing, but..
<cole-h> Sorry :)
<infinisil> That first song friggin slaps!
<cole-h> Agree, I listened to like 30 seconds and it's great
<lovesegfault> idles is so good
<cole-h> I'll listen the rest when I'm not playing lol
<lovesegfault> they only have one song that I can't listen to, and it's because the backstory makes it too brutal
<infinisil> Tbh, even for my favorite artists, there's rarely an album where I even like most songs
<lovesegfault> so, their first two albums (Brutalism and Joy as an Act of Resistance) happened at the same time as major shit in the lead's life
<lovesegfault> in the first one his mother died (and there's a great song called mother on it)
<lovesegfault> in the second one his child was still born, and then they made this: https://www.youtube.com/watch?v=TCORxrEgr1o
<lovesegfault> that last one is the one that gives me the chills
<energizer> am i the only one who can't remember which of % and " means split horizontally in tmux
<lovesegfault> energizer: I just try'em out till I get the one I want
<energizer> multiple times per day :\
<infinisil> In xmonad I only have a single split command, then I rotate them if I want it the other way around :)
<energizer> like why does " mean one above the other!
<energizer> that should be a horizontal stack, that's what " looks like
<infinisil> lovesegfault: Damn, that they made a song about that..
<lovesegfault> infinisil: yeah, it's one of the things I like about them
<lovesegfault> This is the one about his mother: https://www.youtube.com/watch?v=BuQG6_evFc8
<sphalerite> energizer: reconfigure it and confuse anyone else who dares try to use your tmux.
<lovesegfault> symlink tmux to screen in your env
<sphalerite> energizer: I don't really remember it, but it's in my muscle memory by now and I generally get it right
<infinisil> lovesegfault: I feel bad for the creators of that porcelain!
<lovesegfault> lol
<lovesegfault> the top comment is something like "all the dislikes are fans of Antiques Roadshow UK"
<lovesegfault> IIRC
<infinisil> xD
<infinisil> Gotta love some blur though!
<samueldr> ugh
<samueldr> samsung SSD firmware updates are shipped without an EFI bootable program
ldlework has joined #nixos-chat
<samueldr> and the only computer I have around that is convenient to use *only* boots from UEFI
<samueldr> so I guess I'll use an inconvenient computer
<abathur> Wavix is a POSIX system that uses WebAssembly's Software Fault Isolation to run the complete system in a single host OS process.
<abathur> ""
<samueldr> yeah, you linked that yesterday
<samueldr> done porting bash and nix to it? :)
<abathur> oh, I got myself turned around and thought I'd done browsix yesterday :P
<abathur> no, alas; which is how I end up here trying to bait the hook... I'm currently a bit flummoxed by some combination of it's monorepo subtree, build-via a python2 bootstrapping script, and cross-compilation
<samueldr> ugh, and the firmware update won't apply if it's done over USB :(
<samueldr> so I guess I have to do it after transferring all the data on the SSD once it's installer in place
<abathur> I've gotten bits and pieces to build, but I'm currently puzzling over a target-not-found error from wavix -> WAVM even though I'm passing it in the same way the python build script does
<samueldr> oh, good thing I checked, apparently the firmware version is already the latest
evax has quit [Quit: WeeChat 2.8]
<abathur> :)
__monty__ has quit [Quit: leaving]
<energizer> is that async/await?
<samueldr> it's more "queue tasks for the end of this block and execute them in reverse" AFAICT
<infinisil> defer is a really nice language feature
<infinisil> I encountered it the first time with Swift
<samueldr> I'm unclear as to how this is _used_, but there's code
<energizer> that sounds similar to nurseries
<infinisil> Cleanup of resources really
<infinisil> Well the page gchristensen linked explains it
<gchristensen> now if they just fixed the other big problem with c
<samueldr> what I meant is how I can use this today
<samueldr> (though I don't plan to)
<gchristensen> oh you can't
<gchristensen> it is for the C 2020 spec
<gchristensen> or something
<samueldr> there is a reference implementation
<lovesegfault> The best defer is not needing it at all (c.f. Rust's Drop mechanism)
<infinisil> lovesegfault: I guess the concept of defers and destructors overlap a lot, but I can imagine cases where you want to use either
<infinisil> defer for cleanup in function calls. destructors for object cleanup
<lovesegfault> infinisil: What's an example? (not doubting, just having trouble coming up with one)
<infinisil> I guess maybe a simple example would be functions that allocate some resource as a side effects
<infinisil> Like, `provision_server()`
<energizer> that's the idea of `async with`
<lovesegfault> Right, I'd make them return a ServerGuard that cleans up on Drop
<infinisil> energizer: This doesn't have anything to do with async?
<energizer> infinisil: what is the difference between defer and await?
<infinisil> energizer: How are they similar at all? Do you know how defer works?
<lovesegfault> defer just makes a stack of ops that gets pop'd on fn end
<lovesegfault> await is a whole entire thing (well, with async and all that)
<lovesegfault> involving an executor, and scheduling strategies, and (green) threads and state machines and ...