gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
cosimone has joined #nixos-chat
supersandro2000 has quit [Disconnected by services]
supersandro2000 has joined #nixos-chat
cosimone has quit [Quit: cosimone]
<ashkitten> spent a while today setting up modded among us stuff on an ubuntu server, very much made me wish i was doing it on nixos
<ashkitten> works fine now though, i guess
rajivr has joined #nixos-chat
<cole-h> Day 2 of "DNS still hasn't propagated"
<cole-h> >:(
<cole-h> technology sucks
<cole-h> the internet sucks
<cole-h> I want instant gratification
<supersandro2000> DNS is usually really fast for me... You are sure you set everything correct?
<cole-h> Do I need an A record for my actual domain or something? These are all the records I have set up: https://i.imgur.com/MeKgmVl.png
<cole-h> `dig _dmarc.helbling.dev TXT` gives me NXDOMAIN
patagonicus5 has joined #nixos-chat
<samueldr> cole-h: TXT goes before the domain with `dig`, no?
<samueldr> uh no
<cole-h> Doesn't matter from personal testing
<samueldr> yeah, just tested
patagonicus has quit [Ping timeout: 246 seconds]
patagonicus5 is now known as patagonicus
<cole-h> Both show TXT in the question section
<samueldr> looks like it's simply not doing anything DNS-wise for your domain
<cole-h> Those are custom resource records -- I don't have any registered hosts ("glue records") set up
<samueldr> yeah, I don't know google's domain tools
<samueldr> maybe they do something weird with the setup if you do... only custom records?
<cole-h> hm
<cole-h> maybe it's because I set the name for the entire URI
<samueldr> I say this only because even asking directly for your authoritative server gives me nothing
<samueldr> oh, could be it too
<cole-h> Yeah
<cole-h> But I just did an @ A record to my server's IP and `dig` succeeded
<cole-h> maybe the name field is supposed to be the subdomain (or @ for the root)
<samueldr> yeah, possible
<samueldr> some tools do it that way, some like you wrote
<infinisil> In zonefiles, ending the name with a "." indicates that it's an absolute domain, which is then just taken as is
<cole-h> yeah lol
<cole-h> that's what it was
<cole-h> supposed to be subdomain
<infinisil> For all other names, they are suffixed with the origin
<supersandro2000> cole-h: gives me _dmarc.helbling.dev. 10800 IN TXT "v=DMARC1; p=none"
<cole-h> Yeah, I fixed it
<supersandro2000> great to hear that
<cole-h> Thanks to y'all for being my rubber ducky
<cole-h> supersandro2000++ samueldr++ infinisil++
<{^_^}> infinisil's karma got increased to 412
<{^_^}> samueldr's karma got increased to 319
<{^_^}> supersandro2000's karma got increased to 32
<supersandro2000> half a stack of any normal MC item 🎉
<aleph-> Oh yeah mailserver.
<aleph-> I should go move Mailinabox over to using that mail module.
<cole-h> Now: how do I send a test mail from a CLI?
<aleph-> Can set up ssmtp and use that?
<hexa-> cole-h: go all in with https://github.com/cherti/mailexporter :p
<cole-h> hexa-: I dunno if my box will be able top support that... it's only 1GB of RAM :P
<supersandro2000> I just purged my git worktree while doing a rebase and completely borked git
<supersandro2000> I just ran git purge while rebasing a git worktree and completely borked git
<hexa-> is there no locking to prevent that?
<energizer> what is git purge?
<supersandro2000> *git prune
<supersandro2000> I guess there is not locking for that
<supersandro2000> or I am using worktree incorect
<supersandro2000> so I am recommiting changes since 10 minutes 😂
<supersandro2000> at least I did not lose my working tree
disasm has quit [Quit: WeeChat 2.0]
disasm has joined #nixos-chat
<DigitalKiwi> so long, unemployed tree
<DigitalKiwi> cole-h: is go that bad with memory? i probably have a scala program somehwhere that could send millions of emails a day (maybe even an hour) on a 1gb server ;p
<cole-h> Dunno, but I don't really feel like finding out :P
<DigitalKiwi> good because i don't reallly feeel like looking at scala or figuring out how to build it on nixos
<DigitalKiwi> /home/kiwi/old-kiwi/mvp-mbp/Users/kiwi/SBP1TBEM-kiwi/kiwi-old/Software/Projects/old...
<DigitalKiwi> it's kind of old
<supersandro2000> you mean old-old-old?
<DigitalKiwi> that last old is "old $projectname"
abathur has quit [Ping timeout: 256 seconds]
<DigitalKiwi> i'm not even sure i can describe accurately what computer that even originated; but i will say this, that next to the Software dir in kiwi-old is one named '2011 MBP' which contains `kiwi` which is not old but is the oldest...that i keep on this machine lol
<DigitalKiwi> six degrees of kevin bacon is nothing compared to my file migrations ;_;
<supersandro2000> If I would do that I would need a few TBs of storage
<siraben> Anyone participate in ICPC this year?
<DigitalKiwi> supersandro2000: oh i know, trust me i know... because i have a few TBs of storage
<DigitalKiwi> oh no am i a data squirrel
abathur has joined #nixos-chat
<aleph-> Yea
endformationage has quit [Quit: WeeChat 2.9]
ky0ko has joined #nixos-chat
waleee-cl has quit [Quit: Connection closed for inactivity]
<energizer> ashkitten: do you have ~/.config/pipewire-media-session/ settings in json files marked executable?
<ashkitten> yes
<energizer> hmm wonder why
<energizer> executable json is a rare breed
<energizer> lol nice
<abathur> could probably traumatize some windows sysads with files named json.exe
<V> DigitalKiwi: god, I feel you with those paths
<V> I still need to flatten things out, clean out the trash, etc
lunc has joined #nixos-chat
lovesegfault has quit [Quit: WeeChat 3.0]
lunc has quit [Remote host closed the connection]
lovesegfault has joined #nixos-chat
<lovesegfault> Uh, why does dbus depend on X11 stuff
<aleph-> Reasons
<aleph-> Profane and foul
<adisbladis> lovesegfault: I was curious and took a look at the dbus expression
<adisbladis> What a gem I found
<adisbladis> ] ++ (lib.optional stdenv.isSunOS ./implement-getgrouplist.patch);
<adisbladis> Not every day you encounter isSunOS
<lovesegfault> adisbladis: Yeah, I was looking there just now and got scared
<lovesegfault> I see "isSunOS" I bail
<lovesegfault> not today stan
<lovesegfault> lol
<adisbladis> lovesegfault: I'm here to comfort you
<lovesegfault> stan
<adisbladis> It's still not clear what leaving out x11Support actually means
<lovesegfault> I need someone to stop me from writing an rsync replacement
<lovesegfault> because I am on the verge
<lovesegfault> right, I don't understand why dbus would need X11 support, lol
<energizer> why are you writing an rsync lovesegfault
<lovesegfault> Because rsync is slow and the path matching is dumb
<energizer> rsync is slow because it does a lot of checking, no?
<lovesegfault> I want something that splits the file into ~1MiB chunks and then hashes the chunks on both ends and transfers the difference
<lovesegfault> in parallel
<adisbladis> Hmmmmmmmmmmm
<energizer> bup
<lovesegfault> so it has a pool of connections (configurable number) and a set of chunks and it copies the chunks N at a time (N=number of conns)
<adisbladis> lovesegfault: I get the hunch that maybe x11Support should be disabled by default
<adisbladis> And the NixOS module should set it to true
<adisbladis> But maybe I'm off here
<lovesegfault> Right
<lovesegfault> worldofpeace: shows up on the git blame
<lovesegfault> maybe they know
<lovesegfault> omg
<lovesegfault> the isSunOS patch is from 2020?!
lunc has joined #nixos-chat
<energizer> lovesegfault: there are some things that do that
<energizer> or at least parts of that
<energizer> https://bup.github.io/ is one
<adisbladis> lovesegfault: What?!
<lovesegfault> No, wait, I think it's just b/c the block was moved in the same commit
<lovesegfault> Yeah, no, it was there before
<lovesegfault> thank god
<adisbladis> lovesegfault: I bet you $5 that it won't build on an actual sunos box
<lovesegfault> I mean, there's absolutely no chance any of this builds in a sunos box
<adisbladis> :/
<adisbladis> Here I was hoping for some no-risk free $5
* lovesegfault goes look on craigslist for one
<adisbladis> lovesegfault: I used to have a bunch of em back in the day
<worldofpeace> touching the dbus expression is hard
<worldofpeace> u touch the wrong thing because u don't get it and suddenly have of nixos is broken :D
<worldofpeace> *half
<adisbladis> worldofpeace: Maybe you know what x11Support actually entails?
<worldofpeace> and u never really know for sure
<lovesegfault> someone wants them! :P
<energizer> ` illumos = filterDoubles predicates.isSunOS;`
* worldofpeace reads expression
<worldofpeace> interesting
<adisbladis> energizer: Filthy lies!
<adisbladis> illumos is _not_ SunOS
<lovesegfault> there's a bunch of isSunOS, who is out there running nix on sunos?!
<adisbladis> SunOS predates Soralis
<adisbladis> Solaris*
<worldofpeace> I wonder if this actually does work on darwin at all https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/README.launchd#L12
<lovesegfault> authored ELEVEN YEARS ago
<adisbladis> worldofpeace: A thought that occured to me is that maybe x11Support should be false by default, and then NixOS should pull in a package where it's set to true.
<lovesegfault> onety one years since they last updated theis launchd docs
<adisbladis> Because it is quite silly to pull in X11 as a run time dep, but I don't actually understand what's going on with x11Support so I may be way off
<adisbladis> This suggestion closely mirrors how we do pulseaudio support btw
<adisbladis> To speak the pulseaudio protocol you don't pull in everything and the kitchen sink, but you can set your own system package that has all the bells
<worldofpeace> this is the configure.ac for dbus's x11 section https://gitlab.freedesktop.org/dbus/dbus/-/blob/dbus-1.13.18/configure.ac#L1099
<energizer> joyent works on a bunch of post- Sun stuff like SmartOS
<worldofpeace> not sure if the CFLAG is needed either since I guess it should just work https://gitlab.freedesktop.org/dbus/dbus/-/blob/dbus-1.13.18/configure.ac#L1140
<worldofpeace> but from the configure.ac it seems that it's needed for `build with X11 auto-launch support`
<adisbladis> worldofpeace: Right, so x11 support is only for the autolaunch feature?
<adisbladis> Which I think is irrelevant on NixOS at least
<worldofpeace> but tbh I'm not sure we even use x11 autolaunch, and just use the units?
<adisbladis> worldofpeace: Yeah, we don't use autolaunch
<worldofpeace> to be sure I'll do what any clueless nerd does and view fedora's rpm 🤣
<adisbladis> =)
<adisbladis> But I think they have less closure size concerns than we do
<worldofpeace> oh wow fedora doesn't even use dbus-daemon
<worldofpeace> they use dbus-broker
<worldofpeace> we kinda suck for that
<worldofpeace> I see they still have the libX11 development header
<adisbladis> > dbus-broker.meta.description
<{^_^}> "Linux D-Bus Message Broker"
<adisbladis> Thank you :P
<adisbladis> > dbus-broker.meta.homepage
<srk> do you prefer repeating option paths like boot.kernelModules = []\n boot.kernelPackages = []; or merging them under one root? or mixed?
<lovesegfault> srk: I always merge
<lovesegfault> TIL about dbus-broker?
<worldofpeace> gracile expression but u still need dbus in buildInputs
<lovesegfault> lol
<worldofpeace> anyways
<lovesegfault> NO ETHICAL CONSUMPTION UNDER DBUS
<adisbladis> That's hardly surprising tbh
<adisbladis> Who would want to reimplement the entire API surface _and_ take care of the C api
<worldofpeace> it also seems we've upstreamed the sunos patch, or someone https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/189
<worldofpeace> oh wait wrong comment nvm
<adisbladis> I'm not so concerned with that patch
<adisbladis> I would be interested in removing x11 from the closure though
<lovesegfault> Opinion: if we don't have CI for it we shouldn't be accepting it upstream
<adisbladis> lovesegfault: That's kind of hard
<lovesegfault> Corollary: Better to not have a thing than to have it broken
<worldofpeace> I would have to double check but it seems slightly compelling that we don't need x11 in dbus now
<worldofpeace> I don't even think we have autolaunch options anymore
<lovesegfault> adisbladis: Right, I think it's a "flexible" rule :P
<lovesegfault> e.g. armv7 stuff
<adisbladis> I've done some armv7l fixups recently, we're likely never gonna have CI for that
<adisbladis> Exactly :)
<lovesegfault> no CI, but it's widely used enough that it's worth it
<lovesegfault> now, OS/2? Nah.
<adisbladis> lovesegfault: We could probably add checks for "eval as limited support platform X"
<adisbladis> And then also apply patches to sources and see if that stil works
<adisbladis> At least that would take care of patch rot
<lovesegfault> Right, I think there's two things that could be done:
* worldofpeace checks if we really don't X again
<lovesegfault> 1. Conditional patches are last-resort only
<lovesegfault> 2. Some test that collects all pkgs with patches, then applies all patches and see what's up
<adisbladis> lovesegfault: I really like that
<adisbladis> And it should be fairly fast
<srk> lovesegfault: and is there a tool to convert between the two?
<worldofpeace> yeah just drop it and see if we're good. I think there's enough evidence to try, I don't think dbus takes that long to build
<lovesegfault> srk: between the two what?
<adisbladis> worldofpeace: The problem is everything that pulls in dbus
<srk> lovesegfault: merged and per-line configs
<lovesegfault> which is like everything
<adisbladis> worldofpeace: Thank you btw <3
<lovesegfault> srk: Not that I know of, I just do it by hand
<worldofpeace> adisbladis: do u mean QA?
<lovesegfault> Yeah, worldofpeace++
<{^_^}> worldofpeace's karma got increased to 261
<worldofpeace> I'll have u know I demand sparkles only
<srk> I find myself converting installer generated hardware-conf.nix and conf.nix to merged variant by hand as well recently
<lovesegfault> sparkles?!
<worldofpeace> sparkles than name I believe
<adisbladis> "do u mean QA?"
<lovesegfault> srk: I just don't bother with the generated stuff at all: https://github.com/lovesegfault/nix-config
<adisbladis> What do you mean?
<lovesegfault> ✨ worldofpeace
<{^_^}> worldofpeace's karma got increased to 262
<lovesegfault> wow
<worldofpeace> adisbladis: "The problem is everything that pulls in dbus" I interpret this as the problem is seeing that changing that doesn't cause adverse effect
<worldofpeace> lovesegfault: I may have had something to do with this feature. just maybe
<lovesegfault> :D
<adisbladis> worldofpeace: I mean, building dbus is fast but actually testing the fallout is a full day of rebuilds
<worldofpeace> hypothetically
<worldofpeace> adisbladis: yeah. dbus is annoying for this
<worldofpeace> actually, I've never tested it this way
<lovesegfault> Okay, I have a lego set my wife got me for valentines day, and a radio building kit I got for xmas. What do I build first
<worldofpeace> I just duplicated the module and package to see if the new version worked at runtime
<adisbladis> lovesegfault: Instructions unclear, built a LEGO ham radio
<worldofpeace> and actually that didn't work in my favor either
<worldofpeace> adisbladis: I mean I don't see arch linux having x there either https://archlinux.org/packages/core/x86_64/dbus/, so I think it's a good 80% success chance
<lovesegfault> adisbladis: :D
<worldofpeace> all this talk makes me want to experiment with dbus-broker support. the instructions seem promising https://github.com/bus1/dbus-broker/wiki#using-dbus-broker
<adisbladis> worldofpeace: I downloaded the arch package and inspected it with patchelf (just in case the dependency spec in the PKGBUILD was off and x11 was pulled in elsewhere)
<adisbladis> Confirmed no x11 references at all
<ashkitten> worldofpeace: what advantage does dbus-broker have?
<adisbladis> worldofpeace: I take that as an indication that my hunch may have been right, and that we can possibly disable x11Support by default
<worldofpeace> lol, I was considering just removing it. like what is autolaunch support useful for if not for nixos, which doesn't support it...
<adisbladis> worldofpeace: Idk
<adisbladis> At the same time, what's the cost of keeping it?
<worldofpeace> useless code IMHO
<adisbladis> Anyway, you're the maintainer :)
<ashkitten> ah, okay
<worldofpeace> lol, I basically maintain everything that's freedesktop/gnome. Yeah, I would accept that in the most diva way only
<ashkitten> seems like dbus-broker would be good for nixos then
<ashkitten> not that i have any particular issue with dbus-daemon
<adisbladis> worldofpeace: I meant that as "I'm going to defer this decision to you, you got this"
<worldofpeace> oh, as long as I don't have to make a PR 😀 I don't think my bandwidth is there. I would certainly review one
<lovesegfault> update: that album with >3300 songs makes even lollypop stutter
<adisbladis> In the mean time: EMMS works great with any number of songs I've thrown at it
<lovesegfault> EMMS?
<adisbladis> lovesegfault: Emacs music player
<lovesegfault> Ah, I see
<lovesegfault> does it do album art?
<adisbladis> You can set that up
<adisbladis> But the defaults are quite bare
<adisbladis> I find it quite funny how these "modern" systems fail at scaling, but the systems of old still scales nicely
<lovesegfault> my problem is I don't intuitively know the name of the album I want to listen to
<lovesegfault> I just browse the collection by looking at the art and I intuitively know what album matches my desired listening by the cover
<lovesegfault> so if I don't have the pictures finding what I want to listen to takes forever
<lovesegfault> and yeah, the current magnitude of my library makes it really hard to use normal music playing software
<lovesegfault> they get angry
<adisbladis> lovesegfault: Did you consider mpd?
<adisbladis> Mpd has some great front ends
<lovesegfault> I've heard of mpd, but I have never put in the time
<adisbladis> Mopidy is also an option with an actual api and multiple clients
<adisbladis> Well, it speaks the mpd protocol
<adisbladis> So it should have exactly the same client support
<lovesegfault> nice
<srk> mushu is cool
<srk> missing from that wiki https://github.com/elaye/mushu
<lovesegfault> adisbladis: did you see Raal released a custom amp for the SR1a?
<lovesegfault> way out of my price range though
<lovesegfault> Tajikistan has the best anthem
<worldofpeace> okay just spent this last hour adding dbus-broker support :D
cole-h has quit [Ping timeout: 240 seconds]
<DigitalKiwi> sorry are we talking about mpd
<DigitalKiwi> and nobody mentioned the best client in the history of clients?
<DigitalKiwi> n-c-urses m-edia p-layer c-lient p-lus p-lus
<DigitalKiwi> ncmpcpp
<FireFly> ncursed name
<adisbladis> lovesegfault: No I didn't
<adisbladis> But that's good
<adisbladis> Because that Schiit amp they used when I demoed them sucked
<adisbladis> I'd never buy anything from Schiit...
<adisbladis> It couldn't handle the bass and started clipping
<etu> DigitalKiwi: I used to use that, it was great :D
<DigitalKiwi> is* it still is
__monty__ has joined #nixos-chat
<sphalerite> FireFly++
<{^_^}> FireFly's karma got increased to 1
<sphalerite> love it
<sphalerite> lovesegfault: clearly whatever you got from your wife should have priority
<eyJhb> ping infinisil
<eyJhb> I need MC knowledge :p
<infinisil> eyJhb: o/
<eyJhb> Your MC on demand, is for the clasical 1.6.5?
<infinisil> I think I haven't updated it, so it's for 1.16.4 currently
<infinisil> (But updates are trivial)
<eyJhb> Right, it was just the link in the code linked to the none-legacy version of the protocol :D But I jut found this - https://wiki.vg/Server_List_Ping
<eyJhb> But for SOME reason, I dont get the 0x01 server list ping... https://termbin.com/jvnr :( But everything else is correct
<infinisil> That's with my on-demand-minecraft implementation or another one?
<eyJhb> Another one, doing one in Go just for fun :D JUst finished my exam today, So I have time for fun!
<eyJhb> Also, I suck at reading Haskel.
<eyJhb> But did you get the ping correctly?
<infinisil> Hehe I see, yeah my implementation does ping
<infinisil> The VarInt and the MCString are pretty tricky to implement
<eyJhb> Like, everything else looks correct. But also just inspecting the packet my client sends to my plain TCP server, looks weird
<infinisil> I suggest adding some unit tests
<eyJhb> My Var is... ugly...
<eyJhb> VarInt/VarLong
<eyJhb> Might have to do that yeah :P
<eyJhb> Do you have a volume attached to your DO, where you save the world infinisil ?
<infinisil> Yeah, the world is only stores on a volume, which is attached whenever the droplet starts
<infinisil> stored*
<eyJhb> Does.. Does the Droplet run NixOS when you spin it up? :p
<infinisil> Yup!
<eyJhb> Do you then restore from a Snapshot? :p
<infinisil> Nah, it's entirely stateless
<infinisil> Other than the world volume
<eyJhb> But then you have to infect the host, etc. for it to be a NixOS host, right?
<eyJhb> (I am not sure where this logic is in the minecraft-on-demand)
<infinisil> I'm using the nixos digitalocean image for that one
* DigitalKiwi takes notes
<DigitalKiwi> infinisil: we should rewrite nixops in haskell, i have the perfect name for it; hops
<infinisil> Hehe
<DigitalKiwi> now half of the project is done, that's my half, coming up with the name
<DigitalKiwi> you handle the code ok? :)
<__monty__> Hops sounds like the deployment tool the Homebrew project should make.
<DigitalKiwi> i'll do the marketing
<infinisil> Sounds fair! Naming things is one of the hardest problems after all
<DigitalKiwi> we can still split the proceeds 50/50 though even ghouh i'm doing 2/3 the work because i'm such a nice person
<infinisil> Too generous <3
<DigitalKiwi> The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language. Donald Knuth
<eyJhb> It sounds like I should learn to read HS then...
<eyJhb> infinisil: Would you call your code pretty and well formatted + readable?
<infinisil> Hell yeah!
<eyJhb> Fuck.
<eyJhb> Then I will never be able to read it
<DigitalKiwi> lol
<infinisil> on-demand-minecraft is probably my most well written haskell project :P
<DigitalKiwi> infinisil: but which code formatter do you use
<__monty__> eyJhb: The signal-to-noise ratio is quite a bit higher than in most languages. Don't assume there's skippable bits!
<DigitalKiwi> infinisil brain not found
<infinisil> Oh damn, it's a 404, that joke backfired lol
<__monty__> I need to get me some of that but I always get the octocat jedi and then I forget what I was looking for.
<joepie91> lol
<DigitalKiwi> with a code formatter i can think about the code and not how to format it
<DigitalKiwi> eyJhb: programming in haskell by graham hutton is <3
<eyJhb> Fuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuccccccccccccccccccccccccccccccckkkkkkkkkkk
<eyJhb> I will never be able to read it then
<DigitalKiwi> it's only like 200 pages
<eyJhb> It is so compact, and it looks like nothing really happens, but something does?! :(
<DigitalKiwi> hutton is amazing and haskell isn't as complex as it's made out to be
<infinisil> Feel free to ask questions :)
<eyJhb> infinisil: Can I cry on your shoulder as well when I have given up on life?
<DigitalKiwi> eyJhb: it's one of the only haskell books i've read cover to cover (and multiple times at that)
evanjs has quit [Quit: ZNC 1.8.2 - https://znc.in]
<infinisil> 😅
<eyJhb> DigitalKiwi: Might have to look at that at some point :D
<DigitalKiwi> how about today
* infinisil goes to shower and eat and will be back later
evanjs has joined #nixos-chat
<eyJhb> DigitalKiwi: Nahh not today, today is fun in Golang, while my friends play MC :p
<DigitalKiwi> one of my biggest regrets is not learning haskell 12 years ago when i first wanted to lol
<sphalerite> https://github.com/NixOS/nixos-search/issues/290 is it weird, when searching for two terms, not to want any results containing only one of them?
<{^_^}> nixos-search#290 (by lheckemann, 33 minutes ago, open): Search terms not respected
<sphalerite> this is a problem I've constantly had with google as well…
<eyJhb> infinisil: MC protocol is weird.....
<__monty__> I do want && behavior but not applied strictly if that makes any sense?
<infinisil> eyJhb: Ayy
<__monty__> Mostly I want missing terms to penalize results but not exclude them.
<philipp[m]1> What is the currently reccomendend tool to wrangle a python requirements.txt into a nix expression automatically?
<philipp[m]1> That might have been too much on topic.
<__monty__> If you were in #nixos I'd give you an answer there.
<eyJhb> infinisil: The MC|PingHost does not have 0x00 after each char, but the hoststring, does...
* infinisil never inspected packets
<eyJhb> Did it just work first try?
<infinisil> Nah, but I was able to fix the problems with unit tests :)
<infinisil> I guess Go doesn't have anything like quickcheck though, testing is very easy in haskell with quickcheck
<eyJhb> Go testing is also very easy :p
<infinisil> Oh I guess you don't know quickcheck then hehe
<infinisil> See e.g. `property $ \value -> decode (encode (MCVarInt value)) == Right (MCVarInt value)`
<infinisil> That's a quickcheck test, which just says "Generate random value's, encode and decode them, make sure it doesn't change it"
<eyJhb> ^ Black magic
<infinisil> It's like the mathematical `forall value . decode(encode(value)) == value`
<eyJhb> But my Var stuff works fine, however it is how MC does strings... :/ Some are 0x00 terminated, others are not
<eyJhb> Fx. `1` is 0b00110001, so it should only be a single varInt read (I guess), but the next is literally just 0b00000000, sooo
<siraben> QuickCheck is OP
<eyJhb> But I might be doing something weird
<siraben> you can also write Arbitrary instances for your own data types, helped me fix some bugs I had in a tautology checker for propositional logic
<siraben> I compared a naïve (but correct) checker with a more clever (possible incorrect) one, then when they disagreed, QuickCheck also shrunk the test cases so that it would generate a minimal test case
<srk> smallcheck is also neat :)
<srk> > hackage "smallcheck"
<__monty__> And hedgehog.
<siraben> Nice, so QuickCheck seems more sporadic whereas smallcheck aims to be more complete up to a certain depth
<srk> > hackage "quickspec"
<srk> ^ Black magic :D
<gchristensen> > php "pecl"
<{^_^}> attempt to call something which is not a function but a set, at (string):472:1
<gchristensen> :(
cosimone has joined #nixos-chat
lunc has quit [Ping timeout: 246 seconds]
<eyJhb> WELL FUCK! I doofed infinisil
<infinisil> :o
<eyJhb> Implemented the legacy version, because I thought that is what it wanted...
<infinisil> Hehe xD
<eyJhb> BUT! The reason it sent a legacy request was because I did not answer the normal request, so it besically just was like...
<eyJhb> "OH! HE DID NOT ANSWER THIS! Must be legacy then!!"
* eyJhb *cries*
<infinisil> Damn backwards compatibility
<eyJhb> Exactly!
<eyJhb> I also like how they used VarInt, etc. for like, contacting the server
<eyJhb> And then it seems like they gave up, and just made the server throw json at the client.
<eyJhb> infinisil: Now I just need to respond to the client :p :D
<infinisil> Lol yeah the protocol is a bit weird
<sphalerite> I'm trying out photoprism (in docker for now), it seems very nice. The image classification network it uses seems a little unreliable (good at producing amusing results though), but in general I think I want this
<sphalerite> and I'll need to review and merge the nixpkgs PR :D
<eyJhb> infinisil: It's just like... Lets optimise this, and then they forgot to tell the rest of the team.
Hurttila has joined #nixos-chat
<sphalerite> hexa-: (and andi- ) oooh thanks!
cole-h has joined #nixos-chat
lunc has joined #nixos-chat
endformationage has joined #nixos-chat
rajivr has quit [Quit: Connection closed for inactivity]
<andi-> sphalerite: that is why I originall started npmlock2nix
<andi-> as you can see in that code above it is still called ranz2nix there (and has been working ever since without having to touch it)
nckx has quit [Ping timeout: 264 seconds]
cwslimy[m] has joined #nixos-chat
Synthetica has joined #nixos-chat
ece3 has joined #nixos-chat
nckx has joined #nixos-chat
<infinisil> Cursed idea: A programming language where variables can have empty names
<infinisil> someFun = : + 10 is the same as someFun = x: x + 10
<ldlework> probably already possible in language that support unicode names
<joepie91> infinisil: are you fishing for negative karma? because that's how you get negative karma :P
<infinisil> ldlework: But then you still need to type something to refer to it
<infinisil> infinisil++ Ayy
<{^_^}> infinisil's karma got decreased to 411
<siraben> how does one accumulate that much karma in Nix land
<samueldr> infinisil: `someFun = :aFn bFn;` or `someFun = aFn bFn :;` <- which way around?
<ldlework> siraben: have you met infinisil? he's kind of prolific.
<samueldr> both equivalent to `someFUn = x: aFn bFn x;`
<samueldr> shitposting is also good to get karma
<infinisil> xD
<__monty__> Meanwhile I'm sitting here thinking infinisil just wants operator slices : >
<infinisil> samueldr: Wait I don't get your example
<infinisil> `aFn bFn :;` doesn't make any sense to me
<samueldr> infinisil: how would you write a "utility function" that called aFn and bFn with your nameless param?
<samueldr> infinisil: I was thinking "at any point a single colon means this is a function, and it is where its lone unnamed argument is used"
<samueldr> see, it matches for addTen = : + 10; and addTen = 10 + : ;
<samueldr> cursed, yes!
<siraben> ldlework: hehe yeah have seen his name around a lot + blog posts
<__monty__> `someFun = : aFn bFn;` would just be identical to `someFun = aFn bFn`, we can already write that and it's clearer.
<samueldr> __monty__: oh right
<__monty__> The only use I can see for this is operator sections.
<__monty__> samueldr: Now your idea *is* really cursed.
<samueldr> I'm not always thinking in functional terms
<samueldr> __monty__: but it tracks with the example infinisil gave!!
* infinisil doesn't get it
<samueldr> probably tricky, hard and annoying to parse though
<infinisil> The idea is to just rename a variable name to ""
<samueldr> yeah
<__monty__> infinisil: Think of samueldr's interpretation as operator sections with an explicit colon to mark the "missing" argument.
<samueldr> yes
<infinisil> Ahhh
<samueldr> do you hate it now?
<__monty__> infinisil: Would your idea ever differ from just not writing the colon?
<infinisil> Can't have enough curses!
<infinisil> __monty__: Well, variable names can appear in all kinds of places
<samueldr> it'd be interesting to extend the idea with other types of syntaxes
<infinisil> `let = 10; in ` would be valid
<__monty__> infinisil: That's just an annoying verbose way to write `10`.
<infinisil> `let = { = 10; }; in .` would be valid
<infinisil> (and would return 10)
<samueldr> so at any point an identifier can be used or defined, an empty string is also valid?
<infinisil> Ayy
<samueldr> so uh... " " <- between each spaces there's a function call to "" ?
<infinisil> Oh yeah, definitely
<__monty__> That last example clearly shows with the set shows why this is a horrible idea.
<__monty__> A lone dot meaning access the nameless attribute of the nameless set in scope?
<__monty__> Get out!
<samueldr> I don't think it was proposed with any real use case in mind
<infinisil> Are you saying that confusing everybody is not a real use case
<infinisil> I kind of want to implement this in Nix now lol
<__monty__> OTOH this feature *could* make nix's popularity explode because of all the code golfers 🤔🤯
<joepie91> lol
<infinisil> samueldr: I guess you'd treat all empty space lexemes as an identifier if an identifier is expected, ignored otherwise
<samueldr> ugh, this kernel tree I'm working with might require building with -j1 :<
<__monty__> That's creepy. Like a lineup of butternuts awaiting decimation o.O
<infinisil> So the " " example would just be a single lexeme
<infinisil> And what it means depends on context
<joepie91> __monty__: I immediately thought 'minions'
<__monty__> joepie91: Guess my mind's not as innocent anymore : )
<samueldr> from 4 minutes to 14 minutes
waleee-cl has joined #nixos-chat
cole-h has quit [Ping timeout: 240 seconds]
<sphalerite> hm, how brute-forceable are encrypted 7z archives? I have one here with some old photos of mine, and not the faintest clue what the password is
<__monty__> Probably depends on the length of passwords past you tended to use?
<sphalerite> true
<sphalerite> given how old it is, it might not be that strong
<eyJhb> sphalerite: 123456789?
<eyJhb> Try a simple rockyou, and then you can just do pure bruteforce with rules
<__monty__> sphalerite: Look into whether the archive used ZipCrypto or AES-256. This SX post mentions the former is weak, https://crypto.stackexchange.com/questions/3791/what-is-safer-zipcrypto-or-aes-256
<__monty__> Ah, known-plaintext attacks. So not actually weak in a useful way here probably.
rj has joined #nixos-chat
<gchristensen> if anyone around has been playing with zrepl, would you mind making a PR and even a trivial service for it? :)
<colemickens> I think you made the mistake of saying you got the other module running ;)
<gchristensen> huh?
<gchristensen> znapzend?
<colemickens> I thought you'd mentioned the other day getting the zrepl module working that I'd found
<colemickens> I apparently misremembered :)
<gchristensen> oh I'm running it by hand in screen :P
<colemickens> aha
<gchristensen> the motivating factor here is znapzend just took out hydra's database, oops
<colemickens> Yeah I saw in infra. Though also port forwards being "forgotten" seems... unfortunate.
<sphalerite> oof, how did that happen? (znapzend taking out hydra's db)
<gchristensen> znapzend doesn't delete snapshots until they were sent to every remote
Hurttila has quit [Ping timeout: 240 seconds]
rj has quit [Quit: rj]
rj has joined #nixos-chat
<joepie91> hmm... cache.nixos.org is sending wrong headers. http://cache.nixos.org/6hyd5bs7dxv4mf0kgyhj47ngm0jycl97.ls claims to be application/json but it is definitely not that
<gchristensen> < Content-Encoding: br
<gchristensen> < Content-Type: application/json
<gchristensen> $ curl http://cache.nixos.org/6hyd5bs7dxv4mf0kgyhj47ngm0jycl97.ls | brotli -d -> {"version":1,"root
<samueldr> (heh)
<gchristensen> (-> -dev)
<samueldr> (continued in #nixos-dev)
ece38 has joined #nixos-chat
ece3 has quit [Ping timeout: 264 seconds]
ece38 is now known as ece3
rj has quit [Ping timeout: 268 seconds]
__monty__ has quit [Quit: leaving]
cosimone has quit [Quit: cosimone]