gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
<lovesegfault> colemickens: oh, sweet!
<lovesegfault> I'll try it
<lovesegfault> Does anyone know if binutils has a dev output or something?
<cole-h> > binutils.outputs
<{^_^}> [ "out" "man" "info" ]
<cole-h> Nope
<lovesegfault> I'm trying to reference the include dir it exposes
<lovesegfault> "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
<lovesegfault> like this
<cole-h> I think you want `binutils-unwrapped`
<cole-h> > binutils + "/"
<{^_^}> "/nix/store/rnry29lhl0gvmqgb1kzngxgkpmv9rn31-binutils-wrapper-2.31.1/"
<cole-h> vs
<cole-h> > binutils-unwrapped + "/"
<{^_^}> "/nix/store/sq2b0dqlq243mqn4ql5h36xmpplyy20k-binutils-2.31.1/"
<lovesegfault> aha!
<lovesegfault> Yes :)
* lovesegfault builds llvm again
<cole-h> Ouch
<cole-h> Offloading to your $1M server again? ;)
<colemickens> cole-h: I had missed a dep in shell.nix from converting update.sh nix cliv2 -> cliv1
<cole-h> :D
<cole-h> colemickens: Maybe adding that badge to nixpkgs-wayland would be useful :P
<drakonis> ahhh i forgot how it felt to wear warm clothes
<cole-h> colemickens++ Thanks for fixing it so fast
<{^_^}> colemickens's karma got increased to 19
<colemickens> cole-h afaict there's no way to link to a job on builds.sr.ht
<colemickens> np, I wouldn't have noticed I'd broken CI if you hadn't said something
<cole-h> There's a badge thing for you there
<colemickens> cole-h: eh, maybe.
<colemickens> It's a good idea. If there were a way to do a project specific link, I'd do it no-brainer.
<colemickens> I'm not even sure if builds are scoped to a "project" in builds.sr.ht though, so.
<colemickens> would be nice to be able to add a label when submitting the job, then could filter on the label, doesn't even have to be fancy
<cole-h> colemickens: There is a way, but you have to add it as CI on GitHub
<colemickens> I don't want to do that either. I hate gh specific stuff.
<cole-h> Fair enough then
<cole-h> At least I know where to find it so I can let you know in the future :P
<colemickens> I hope it didn't come across dismissive or unappreciative, I do appreciate knowing it's an option :).
<cole-h> No, it's a fair point
<lovesegfault> cole-h: I only build on those servers :P
* cole-h cries in 4c/4t
<lovesegfault> single-threaded perf on these absolutely sucks though
<cole-h> Wanna trade
<lovesegfault> No :P
<cole-h> :(
<lovesegfault> Come work with me and you can use these :D
<colemickens> when your 64 core box sits for 5 minutes building a rust library on one core :|
<lovesegfault> colemickens: every damn time I build firefox
<lovesegfault> it kills me
<cole-h> Why is that? Cargo is single-threaded, or what
<colemickens> and then it fails because there was a c++ build error that probably happened about 10 seconds aftre the rust compile started, looool
<colemickens> not that I'm trying to build a patched Firefox again right now or anything
<lovesegfault> linking is single-threaded because linkers are all trash :^)
<colemickens> cole-h: I didn't dig in, I assume it's a library-speciifc thing, or something to do with how rust is used in moz's build system, i really have no idea though
<lovesegfault> maybe lld will be usable
<ashkitten> i told ky0ko i want nixos to run on other systems and so now she's going to look into removing our dependency on systemd as a start *evil giggle*
<ky0ko> tbh if i can run nixos with openrc and musl that's the tipping point where i start to want to run nixos. if i can run the same but with alternate kernels on 32 bit powerpc that's the point where i probably am running it on everything.
<ashkitten> we can't currently run nixos with musl afaik, but there are people interested in that
<gchristensen> I'm not sure it would be nixos exactly if it used openrc
<ashkitten> why can't it be? systemd is not what makes it nixos
<ky0ko> ashkitten's entire idea is impossible if you have to stick with systemd
<MichaelRaskin> Well, migration from upsptart did not cause any doubts it is still NixOS
<MichaelRaskin> And the valuable part of NixOS is config generation and start scripts, which are not actually systemd-dependent for most part
<MichaelRaskin> I mean, I reuse some of that code in black-box manner
<ashkitten> me and ky0ko want to make nixos work across every possible init system and every possible kernel. aim high, and all that
<infinisil> Nice!
<infinisil> I don't dislike systemd, but it would be interesting to see how NixOS could support multiple init systems :)
<ashkitten> i don't dislike systemd either, but i want to see nixos running on netbsd and that's not happening if we have a hard dependency on systemd
<MichaelRaskin> I mean, if NixOS was structured better (i.e. like Nixpkgs) it might be even more natural…
<ashkitten> nixpkgs is a giant mess right now so i don't really know if i'd refer to that as a structure to target, lol
<gchristensen> how would you like to clean it up?
<ashkitten> i don't know enough about nix yet but i'd like to at least split up all-packages.nix for easier editing (if not somehow remove it entirely) and have it be lazily evaluated so it doesn't take like a gig of ram just to evaluate
<gchristensen> hmm, it is lazily evaluated already. all-packages.nix could definitely use cleaning up, like alphabetizing or something
<infinisil> I've been preaching about removing it for a while, definitely +1 to that!
<ashkitten> it's lazily evaluated? how come it's so resource heavy then
<infinisil> It shouldn't be resource heavy I don't think
<infinisil> How did you test it?
<MichaelRaskin> gchristensen: alphabetic order increases merge conflicts in hot prefix parts
<ashkitten> oh, maybe it's that thing where it needs the system to overprovision memory but doesn't actually use that much ram
<cole-h> infinisil: Curious how removing all-packages.nix would go down. What would its replacement be?
<gchristensen> one reason it is a bit slow to evaluate is it requires about 110,000 function calls to evaluate `hello`
KeiraT has quit [Remote host closed the connection]
<infinisil> cole-h: My idea would be to first split it into things that can be auto-called (callPackage without extra arguments) and the rest
<infinisil> The rest should stay in such an all-packages.nix file, but we should keep those to a minimum, ideally auto-calling whatever's possible
<gchristensen> on the other hand, I really *really* like that every symbol has a `foo = ...`
<cole-h> infinisil: like `callPackage ../somepackage { glibc = glibc_2_7_0; }` and `callPackage ../somepackage {}`?
<infinisil> Now the auto-called ones could go in a folder structure, where the filename is the attribute name
<cole-h> Separating those two out, rather
<infinisil> Yeah
<infinisil> To not make the folder structure too big, we put the `hello` attribute in `pkgs/autocall/he/hello`
<ashkitten> +1 for using files. avoids merge conflicts *and* you get automatic sorting ;p
<infinisil> When you want to find the expression for say firefox, you go to `pkgs/autocall/fi` and then look for firefox
<gchristensen> +1 to the structure, -1 on removing the explicit naming though
<infinisil> Hmm, I'm also using the explicit naming a lot..
<gchristensen> it makes the system much more easy to explore
<infinisil> Maybe we just need some better tools to explore nixpkgs
KeiraT has joined #nixos-chat
<infinisil> Because for this kind of thing there's this
<infinisil> > builtins.unsafeGetAttrPos "firefox" pkgs
<{^_^}> { column = 3; file = "/var/lib/nixbot/nixpkgs/master/repo/pkgs/top-level/all-packages.nix"; line = 19426; }
<infinisil> Oh and
<infinisil> > pkgs.firefox.meta.position
<{^_^}> "/var/lib/nixbot/nixpkgs/master/repo/pkgs/applications/networking/browsers/firefox/wrapper.nix:183"
<MichaelRaskin> To make evaluation consume less RAM, we probably need to find out how to make sure hello/default.nix is a plain data structure that does not define any functions or something
<gchristensen> (and reduce those function calls...)
<infinisil> gchristensen: Ohh, imagine we had a good Nix LSP server, with jump-to-definition support
<gchristensen> infinisil: (in addition to the explicit naming) I would love that!
<infinisil> And autocompletion
<ashkitten> that's an idea, but ideally it'd be navigable without extra tools
<infinisil> This would mostly obviate the need for me ripgrepping through nixpkgs
<ashkitten> rip and grep, until it is done
* julm greps nixpkgs a *lot*
<infinisil> Hm
* gchristensen does it enough to have a search engine for it
<cole-h> My search engine is rg :P
<infinisil> Ohhhh
<infinisil> Crazy idea
<MichaelRaskin> grep is good enough once everything is in cache
<infinisil> nix-grep
<infinisil> It searches for AST expressions that could match what you give it
<ashkitten> but overall, even just splitting up all-packages.nix would be a huge win because it currently takes something like 20 seconds to open all-packages.nix in neovim
<infinisil> So you could search for `firefox =`, it would pseudo-parse that expression, and look for what could match it
<ashkitten> that would be nice, yeah
<ashkitten> do we even parse nix as an ast?
<infinisil> `nix-grep 'grub.override { zfsSupport = true; }'` would find all instances of a grup whene zfsSupport is true
<MichaelRaskin> ashkitten: opens instantly for me in gvim
<MichaelRaskin> And I like incremental search over all-packages.nix…
<ashkitten> MichaelRaskin: i think it's my syntax highlighting that's slow for huge files lol
<infinisil> ashkitten: All programming languages parse as ASTs :)
<infinisil> Well, maybe not all
<infinisil> All that have a syntax probably
<infinisil> (and programming languages *are* partially syntax? So maybe all after all?)
<MichaelRaskin> Leave behind the obsolete idea of syntax highlighting
<gchristensen> the Nix evaluator *is* actually pretty good for what we ask of it
<infinisil> Oh man, the idea of nix-grep really seems super cool and magical to me
<lovesegfault> Oh god patching llvm is rebuilding the universe
<ashkitten> <3 lovesegfault
<{^_^}> lovesegfault's karma got increased to 24
<ashkitten> rip
<infinisil> gchristensen: With nix-grep we could abandon the all-packages.nix list and still be able to nix-grep for `firefox =`
<lovesegfault> I will have FF LTO + PGO in nixpkgs or I will die trying
<ashkitten> we'll miss you
<gchristensen> infinisil: you're going to have a hard time convincing me we should get to magic name assignment :P
<infinisil> I feel like strings are holding us back
<lovesegfault> I just line-by-line replicated the Gentoo build that has LTO+PGO working, and then patched LLVM with gold support; let's see
<ashkitten> doesn't llvm already have gold support?
<lovesegfault> ashkitten: the build was referencing libbfd as opposed to binutils, which I suspect is why it wasn't working
<lovesegfault> I am now pointing it to binutils-unwrapped
<ashkitten> ah
<colemickens> replacing nix eval --raw with `nix-instantiate | jq -r` feels bad man.
<ashkitten> would it ever be possible to unify cross compilation and native compilation with nix?
<samueldr> with the idea of "always cross-compile" maybe
<samueldr> but still it x86-aarch64 would differ from aarch64-aarch64
<ashkitten> what do you mean exactly?
<ashkitten> ah i see
<MichaelRaskin> There are some packages that just fail at cross-compilability though
<ashkitten> i've definitely felt some frustration at cross compiled outputs having different paths than the same thing natively compiled, even if it's the same binary bit for bit
<{^_^}> #21471 (by Ericson2314, 3 years ago, open): Always cross compile
<samueldr> that, ashkitten, may be solved with content-addressed store
<samueldr> where we'd be able to at least say "yes, this is the same" so dependency graphs would somehow get reconciled and be the same in the end
<samueldr> not 100% sure how though
<ashkitten> how would nix know the hash of the output without already having built it?
* samueldr needs to figure out that dastardly android hwclock issue
<{^_^}> rfcs#62 (by regnat, 17 weeks ago, open): [RFC 0062] Content-addressed paths
<{^_^}> rfcs#17 (by wmertens, 2 years ago, open): [RFC 0017] Intensional Store
<samueldr> I haven't paid full attention to those, so I cannot comment on them
<MichaelRaskin> Store: content-addressed, safe, possible, choose 2
<MichaelRaskin> CA paths would be nice, though
<samueldr> then you better comment on those PRs
<MichaelRaskin> I think I have on both
<ashkitten> ah i see, so it would allow drvs that depend on content-addressed drvs to not be rebuilt when the dependency is rebuilt, since the path doesn't change
<ashkitten> not exactly what i was thinking but it's as close as i think we can get without impurities
<samueldr> though it would be interesting to have a "pinky-sweared" backed store, where you declare two inputs as being equivalents
<samueldr> but that's... probably inadvisable
<samueldr> (and hopefully, it would have taint tracking, and the pinky swears themselves be inputs)
<gchristensen> :o
<MichaelRaskin> samueldr: sigh. The hard part is replacing a dependency safely
<MichaelRaskin> No amount of oaths about inputs won't help you rewrite a gzipped manpage without gzip-specific code
<julm> "I was wrong about Nix. It’s actually quite good once you get past the documentation being baroque and hard to read as a beginner. I’m going to try and do what I can to get the documentation improved."
<gchristensen> <3 Cadey
<{^_^}> Cadey's karma got increased to 3
<drakonis> redemption stories
<ashkitten> it's always good when we get new contributors
<cole-h> gchristensen++ All this ofborg work has made me want revisit my pass-rs project. Downside is: I want to rewrite it, now.
<{^_^}> gchristensen's karma got increased to 259
ottidmes has quit [Ping timeout: 256 seconds]
das_j has quit [Quit: killed]
ajs124 has quit [Quit: killed]
ajs124 has joined #nixos-chat
das_j has joined #nixos-chat
neeasade has quit [Ping timeout: 258 seconds]
<ashkitten> drakonis: thank you for linking that, it was rly interesting
<ashkitten> drakonis: wait. that's my friend's website
<ashkitten> lol i didnt even realize
<drakonis> nice!
vika_nezrimaya has quit [Ping timeout: 256 seconds]
waleee-cl has quit [Quit: Connection closed for inactivity]
<colemickens> cole-h: there's ripasso that I used to follow and I think wrote a derivation for once
<colemickens> cole-h: but I also sorta want to write my own :)
drakonis_ has quit [Read error: Connection reset by peer]
<cole-h> colemickens: pass-rs is actually just pass (password-store), but in Rust (and kinda-sorta opinionated)
<cole-h> It's mostly feature complete, but a lot of the code is pretty dang ugly
drakonis1 has joined #nixos-chat
<cole-h> It's been private on GH, but I guess there's no reason to keep it that way rn
drakonis has quit [Quit: WeeChat 2.8]
cole-h has quit [Ping timeout: 264 seconds]
endformationage has quit [Ping timeout: 264 seconds]
mtjmullen has quit [Ping timeout: 240 seconds]
mtjmullen has joined #nixos-chat
cjpbirkbeck has quit [Quit: cjpbirkbeck]
pie_[bnc] is now known as pie_
pie_ is now known as pie__
pie__ is now known as pi^e
pi^e is now known as pi^e_
pi^e_ is now known as pie_[bnc]
ottidmes has joined #nixos-chat
lopsided98 has quit [Ping timeout: 250 seconds]
nocent has joined #nixos-chat
<colemickens> oh, builds does support tags? let me see if I can setup a badge then :D
<colemickens> cole-h: thanks for the suggestion, I feel like that's the third time I've said that recently :)
<colemickens> cole-h++
<{^_^}> cole-h's karma got increased to 20
lopsided98 has joined #nixos-chat
averell has joined #nixos-chat
KeiraT has quit [Remote host closed the connection]
KeiraT has joined #nixos-chat
Jackneill has quit [Ping timeout: 240 seconds]
Jackneill has joined #nixos-chat
vika_nezrimaya has joined #nixos-chat
rardiol has quit [Ping timeout: 265 seconds]
drakonis has joined #nixos-chat
drakonis1 has quit [Read error: Connection reset by peer]
drakonis_ has joined #nixos-chat
drakonis has quit [Ping timeout: 260 seconds]
<gchristensen> hah!
vika_nezrimaya has quit [Remote host closed the connection]
vika_nezrimaya has joined #nixos-chat
__monty__ has joined #nixos-chat
<vika_nezrimaya> __monty__: They try to squeeze as much money from us as they can, these central heating people
<vika_nezrimaya> I'd rather compile @world then pay central heating people to heat my home until end of April
<vika_nezrimaya> would be cheaper and more controllable
<__monty__> I guess too much heat is better than freezing to death but it's not a good situation, no.
<vika_nezrimaya> __monty__: In my family we call it "heating the streets" - we open the window and just never close it
<__monty__> We heard stories about this in history lessons. Thought it was something of the past mostly.
drakonis has joined #nixos-chat
drakonis_ has quit [Ping timeout: 250 seconds]
drakonis_ has joined #nixos-chat
drakonis has quit [Ping timeout: 265 seconds]
aranea has joined #nixos-chat
<pie_[bnc]> heh, "Q: [problems with your latex build] A: dunno lol I only know types" https://github.com/isovector/thinking-with-types/issues/1#issuecomment-455291265
abathur has joined #nixos-chat
vika_nezrimaya has quit [Read error: Connection reset by peer]
<joepie91> Lodash--
drakonis has joined #nixos-chat
<gchristensen> does libreoffice have a good grammar checker like office or google docs?
drakonis_ has quit [Ping timeout: 256 seconds]
rardiol has joined #nixos-chat
drakonis_ has joined #nixos-chat
drakonis has quit [Ping timeout: 272 seconds]
drakonis has joined #nixos-chat
drakonis_ has quit [Read error: Connection reset by peer]
drakonis has quit [Read error: Connection reset by peer]
drakonis_ has joined #nixos-chat
<ldlework> Anyone want to play Go (the game)?
<gchristensen> that game intimidates me
<ldlework> you just start simple
<ldlework> nothing to be intimidated about with a friend who wants to show you its beauty
<gchristensen> I will play with you another time? :)
<gchristensen> (need to do some paperwork and lunch)
<ldlework> sure
<gchristensen> also I freaking hate this HP printer. it always goes t odeep sleep and never comes back awake until I power it off for 5 minutes and power it on
<ldlework> gchristensen: you make an account on online-go.com at your leisure
cole-h has joined #nixos-chat
<cole-h> I'm shocked, the RFC45 PR actually got merged
* aanderse has bad experiences with go :-S
<ldlework> the game?
<aanderse> yes
vika_nezrimaya has joined #nixos-chat
<aanderse> my father in law has been playing the game for about 60 years and he tried to teach me
<ldlework> like you went to a tournament accidentailly in your underwear?
<aanderse> after a few hours he became too frustrated and decided i had to learn an easier related game (go moku narabe) first
<ldlework> Not everyone can be a successful teacher, it is a challenge.
<ashkitten> gchristensen: an officejet? they'll rma you a newer model for free iirc
<ashkitten> that bug is known
<aanderse> i was able to learn that game fast enough... but not very good at it :-P
<aanderse> he ended up needed serious alcohol handicaps
<aanderse> so he had to drink 3 beers for every beer i had lol
<ldlework> :)
<aanderse> i accidentally beat him once -_-
<gchristensen> ashkitten: its a laserjet pro M118dw
<gchristensen> hah
<ldlework> aanderse: if you would like to try again, i have introduce a number of people to the game and i think i have an effective way to give vision
<ashkitten> gchristensen: dunno, but check if you can rma it. it's probably a well known issue
waleee-cl has joined #nixos-chat
<aanderse> ldlework: i think I'd need to refresh my gomoku narabe skills first ;-)
<ldlework> nah, they are totally different games
<gchristensen> ashkitten: wow, cool, thank you!
lassulus has quit [Ping timeout: 258 seconds]
<ldlework> it is always important to just remember that the skill spectrum in Go is so large, it is not about defeating your opponent. everyone is on their own path. it is much more interesting to explore the board space together.
<ashkitten> gchristensen: hope it works out
<ldlework> maybe you have a question i never thought of before
<ldlework> maybe i can show you a principle you didn't know
<gchristensen> oh that is a cool way to look at playing the game, ldlework
<ldlework> Go is best done like Philosophy, rather than like Chess.
<cole-h> Gee, I sure hope that my power doesn't go off right as the (hopefully final) go/no-go meeting begins... again...
* cole-h glares daggers at PG&E
<aanderse> much easier game, quick and easy to pickup (or remember)
<aanderse> > * <@freenode_cole-h:matrix.org> glares daggers at PG&E
<aanderse> oh yeah another meeting today... thanks for reminder cole-h
<{^_^}> error: syntax error, unexpected '*', at (string):296:1
<cole-h> lol
<aanderse> dang matrix always makes me reply to random text :-\
<ldlework> gomoku is fun, but a puddle compared to the many lifetimes you could spend exploring go
<ldlework> i still enjoy it though
drakonis has joined #nixos-chat
drakonis1 has joined #nixos-chat
drakonis_ has quit [Read error: Connection reset by peer]
lassulus has joined #nixos-chat
<ldlework> gchristensen: stones/groups need air to survive
<ldlework> they get it from the empty spaces they touch
<ldlework> a stone that doesn't doesn't touch empty space is dead
drakonis has quit [Ping timeout: 264 seconds]
<gchristensen> huh
<__monty__> gchristensen: Yes printers suck. I have an inkjet/scanner combi. When scanning over the network it has to establish a connection for every scan. And it's zeroconf. So when that's flaky scanning is like rolling a die on every page and you need a critical hit.
<gchristensen> wow
<gchristensen> ldlework: the simplest part of the whole tutorial! https://gsc.io/snaps/40bf650d-e71e-4c68-aebc-d9bd54c7648e.png
<ldlework> gchristensen: hehe
<ldlework> gchristensen: at the top-left, search for my name and send me a friend request
<cole-h> gchristensen: Where's that at?
<cole-h> Oh, is this gomoku?
<cole-h> Oh nvm
<gchristensen> online-go.com's tutorial
<cole-h> ty
<gchristensen> I'm not sure what this snapback stuff is.... going to assume it'll "click" :)
<__monty__> First time playing Go, gchristensen?
<ldlework> gchristensen: you might be learning too much, probably need to play a little 9x9 :)
<gchristensen> yeah first time
<cole-h> "Fundamentals" "Create two eyes" >doesn't explain what "two eyes" is
drakonis has joined #nixos-chat
<gchristensen> I played with that one for ~5 minutes and sort of figured out what eyes were, after failing to create 2 eyes a LOT of times :D
<cole-h> I gather that eyes are empty spaces in your "sphere of influence" as it were?
<__monty__> cole-h: An eye is an open space. Specifically one that the opponent can't take away.
<ldlework> gchristensen: you should just let me ...
<__monty__> There is such a thing as false eyes. So it's not just open spaces.
<cole-h> Oh n
<cole-h> o
<gchristensen> haha okay ldlework, just one more thing then I'll let you :D I'm on the last puzzle of "Ko!"
<cole-h> It would be really cool if they could explain WHY the move I made was the right one
<cole-h> Or why the move I made was wrong
<ldlework> it's a script, it can only do so much
<cole-h> I know :(
<gchristensen> ldlework: sent friend request!
<ldlework> sent you a challenge
<__monty__> cole-h: You'll learn if you solve enough goproblems.com.
drakonis1 has quit [Ping timeout: 260 seconds]
<gchristensen> ldlework: would you be up for a Jitsi voice call to talk about what is happening?
<ldlework> gchristensen: i do best with text
<gchristensen> cool, okay
<gchristensen> ldlework: have to validate email :)
<ldlework> hehe yeah
<ldlework> gchristensen: not the ai review, but the one started by me
<gchristensen> ohh okay
emily has quit [*.net *.split]
cocreature has quit [*.net *.split]
cocreature has joined #nixos-chat
emily has joined #nixos-chat
jared-w has quit [Ping timeout: 246 seconds]
dtz has quit [Ping timeout: 246 seconds]
jared-w has joined #nixos-chat
dtz has joined #nixos-chat
abathur has quit [Ping timeout: 240 seconds]
* gchristensen would like to encourage anyone curious to play a game of go with ldlework, super fun and they're a good teacher
endformationage has joined #nixos-chat
<cole-h> gchristensen: Feeling well enough to host the YT stream for today's meeting? ;)
<gchristensen> yep
slack1256 has joined #nixos-chat
<pie_[bnc]> would be fine if theyre going to maintain it to good standards :p <drakonis> the kernel is on track to offload almost everything to userspace
<pie_[bnc]> also waaaay up in scroll
<pie_[bnc]> on the topicof rust in the kernel
<pie_[bnc]> i tried writing a grub module in rust at some point
<pie_[bnc]> i havent actually got grub to accept and of the binaries yet though
<gchristensen> ldlework: back :)
<ldlework> gchristensen: ok me too
<cole-h> I just got CC'd to a new Bugzilla bug (Firefox Wayland-related it seems) and I don't know why
ixxie has joined #nixos-chat
<cole-h> Nix 2.3.4 tagged 👀
drakonis1 has joined #nixos-chat
slack1256 has quit [Remote host closed the connection]
cjpbirkbeck has joined #nixos-chat
drakonis has quit [Read error: Connection reset by peer]
drakonis has joined #nixos-chat
thibm has joined #nixos-chat
drakonis has quit [Read error: Connection reset by peer]
drakonis has joined #nixos-chat
ixxie has quit [Quit: Lost terminal]
__monty__ has quit [Quit: leaving]
<eyJhb> Anyone every used there phone to code anything, like, really tried?
<MichaelRaskin> Do PDAs count?
<samueldr> does using an otg adapter or bluetooth keyboard count?
drakonis has quit [Read error: Connection reset by peer]
<samueldr> and is remoting allowed or should be done locally?
<MichaelRaskin> I did code some quick calculations (tens of lines of code) on a touchscreen on a WinMobile PDA locally.
<eyJhb> PDAs are kinda small laptops, right?
<eyJhb> Samueldr somewhat yes! But also curious without. Because with a keyboard and SSH it is decent
<MichaelRaskin> Yeah, I have also coded a bit via an external keyboard on that device, and then I bought an N810 and _of course_ I coded a bit on it.
<MichaelRaskin> eyJhb: No, it's just that in post-smartphone era I also had a laptop
<eyJhb> But I am wondering about e.g. right now, when I am stuck and need to be quiet, but want to code 😐
<samueldr> PDAs were also the Palm Pilot like form factor, only a display, no keyboard
<MichaelRaskin> Termux
<MichaelRaskin> Assuming you can tolerate the input, the setup can be reasonable
<eyJhb> Termux is wonderful
drakonis2 has joined #nixos-chat
<MichaelRaskin> A tablet would be a bit better, because better keyboard
<eyJhb> Yeah, but any physical keyboard that MIGHT make sounds might cost me my life
<MichaelRaskin> No, I mean on-screen keyboard can be better because more space
<MichaelRaskin> (of course, finger tapping on glass is not _exactly_ zero sound)
<eyJhb> True! - Samueldr is there any plan for nixos mobile, to be able to connect to a screen w/mouse/keyboard?
<eyJhb> But pretty close to it !
<MichaelRaskin> Speaking of J, jsoftware.com carries an APK
<samueldr> eyJhb: Mobile NixOS willl not have to do anything special. as long as the interface you're using, and the phone supports OTG, you should be good
<samueldr> (or bluetooth
<eyJhb> Nevee used J, any fun?
<eyJhb> True. Looking forward to it! How is it going so far?
<ottidmes> if I wanted a unique ID that is short, but unlikely to collide, would (25 + 32) / log2(52) = approx. 9.9992286 be any good (25 bits for seconds a year, 32 random bits, base 52) be any good?
<gchristensen> how short is short?
<joepie91> ottidmes: what is the usecase?
<ottidmes> short enough to have to copy over by hand
<gchristensen> now we're firmly in to the "usecase" question :P
<ottidmes> joepie91: unique IDs for notes, have to be stable, but I forsee cases where I have to generate a bunch of them soon after each other, which rules out just using seconds
<joepie91> ottidmes: I'd start by looking at nanoid; it has a space of possibilities roughly equal to a UUID v4, which is generally considered "you ain't gonna guess that"
drakonis has joined #nixos-chat
<joepie91> ottidmes: 'stable' in what sense?
<ottidmes> Have been reading about Zettelkasten due to that link to https://neuron.srid.ca/ and wanted to continue some work on my note app, and did not like that I used 22 length IDs (basically differently encoded UUID4v1)
<ottidmes> joepie91: should have been careful with that word, I just meant that they are meant for permalinks, unchanging, and they should realisticly never collide
drakonis2 has quit [Read error: Connection reset by peer]
drakonis_ has joined #nixos-chat
<joepie91> ottidmes: right, so all you're trying to prevent is *accidental* collision?
<ottidmes> yeah
<joepie91> ok, one sec
<joepie91> ottidmes: ah actually nanoid even links a probability tool: https://github.com/ai/nanoid#tools
<joepie91> for determining what size ID/alphabet you need for your usecase
<ottidmes> and random lookingness (which can be solved by changing the alphabet, so thats a non-issue really)
<ottidmes> darn it, somehow weechat does not open links or allows me to select, to the logs!
<joepie91> so yeah, my recommendation for nanoid still stands (it's a solid random-string implementation, available for many languages), and then shorten the ID / alphabet to suit your requirements :)
<joepie91> you can fairly safe reduce both because you don't have to deal with adversaries
<joepie91> googling for 'nanoid' will also yield it :P
thibm has quit [Quit: WeeChat 2.6]
<ottidmes> and what is your opinion on using seconds of the year + randomness over just randomness?
drakonis has quit [Ping timeout: 256 seconds]
<ottidmes> joepie91: thanks for the tip, might very well use it :)
<joepie91> ottidmes: I wouldn't bother. not-quite-random schemes have a tendency of backfiring, and it's quite a lot of work to reason about how much a non-random input is going to help or harm your value distribution - enough that it's almost never actually worth it :P
<joepie91> assuming a more-or-less random distribution across time of your generated IDs, it wouldn't really improve anything anyway that I can see, the keyspace stays equally big
<joepie91> so the chance of collisions is still more or less the same
<ottidmes> fair enough, but its nice that you could extract the time from the ID as well, if I change it to be every second since 2020, then the randomness is only to prevent collisions when importing notes
<cole-h> Can you really extract the time from the ID if you have 32 random bits...?
<ottidmes> cole-h: I could if I used the scheme above, second bits + 32 random bits
<cole-h> Right, that's what I mean. Or are you saying that it's a string of the second bits + 32 random bits?
<cole-h> I can't see how "second bits + 32 random bits" added together (e.g. 1 + 32 = 33) would be reversible.
<cole-h> 33 = 1 + 32, or 3 + 30, etc...
<cole-h> Maybe I'm completely misunderstanding
<ottidmes> cole-h: if you give it N many bits for the time and M many bits for randomness, than surely I can do bitwise operations to get them back if I know N and M beforehand
<cole-h> Oh, if you're recording those bits, then sure.
<cole-h> I figured it was a one-and-done (and discard) calculation.
<ottidmes> I was wondering how many bits it would take to hold the time segment if I wanted to keep time since 2020, so I figured for the next 50 years should be more than enough, I already calculated it for 1970, but yeah... thats 50 years ago :P so I already got my answer
drakonis has joined #nixos-chat
drakonis has quit [Client Quit]
<ottidmes> might just as well go with that, every second since 2020, together with enough bits for a sequence number when I will need to do bulk operations that might be really fast
drakonis1 is now known as drakonis
drakonis_ has quit [Ping timeout: 260 seconds]
<ldlework> let the record show:
<ldlework> [17:56] grahamc: this is SO fun.
<cole-h> Is there any spectating?
<ldlework> cole-h: yes
<drakonis> what's going on right now
<ldlework> but we're almost done
<drakonis> hah
<ldlework> awesome
<drakonis> a python in a infinite loop
<cole-h> "Chat will be enabled once your email address has been verified" >no place to verify my email
<cole-h> cool
<cole-h> Found it
<cole-h> In the hamburger menu -> Settings -> Account settings
<ldlework> cole-h: yeah it's a lot of ui lol
<cole-h> Hamburger menu on desktop site ;d
<cole-h> So, is the basis of the game that you want to capture as much of the board as possible by sectioning off your territory?
* cole-h hasn't played/learned any more Go since earlier this afternoon/morning
<ldlework> cole-h: exactly that
<ldlework> such that empty spaces can only reach your stones
<cole-h> So, an extremely simple "win" scenario for black would be if all white stones were in a line from e.g. A1 to N1, and black stones were from A2 to N2?
<ldlework> cole-h: right
<ldlework> black would have all the points
<ldlework> but infact
<ldlework> black would capture all of white's stones
<ldlework> as groups need to touch at least one open air space
<ldlework> called a liberty
<ldlework> if a group has no liberties, it's captured
<ldlework> so in your example, white would have no liberties, black would actually capture all the stones
abathur has joined #nixos-chat
<cole-h> So that's why the boards are odd-numbered -- it's impossible to have a "draw" by lining up the stones along A8-N8 and A7-N7 (on a 14x14 board) this way
<cole-h> Err
<cole-h> Whatever the 14th letter in the alphabet is
<cole-h> lol
<cole-h> ldlework: What if (modifying my original "simple win" scenario) black went from A3-N3? Both stones would have "liberty" IIUC
* cole-h activated distraction
<ldlework> cole-h: yes
<cole-h> ldlework: Hey answer me
<cole-h> ldlework: Hey
<cole-h> :P
<ldlework> then they would survive
* cole-h is indeed he
<ldlework> cole-h: know what stones that are directly connected lose their individuality
<ldlework> and become "one stone"
<cole-h> So, how would that be turned into a win for either side?
<ldlework> it would be black's win
<ldlework> but technically since white doesn't have any way to stay alive
<ldlework> even though they have liberties
<ldlework> they're dead at the end
<ldlework> so they're still points for black
<ldlework> i'd have to explain life and death
<cole-h> OK, I somewhat understand now.
<cole-h> I'm assuming chat doesn't show spectators
<ldlework> cole-h: to capture, the enemy has to cover the last liberty of some stone or group
<ldlework> cole-h: if a group has two internal liberties, that are separate, then the group can never be killed
<ldlework> since you can only play one stone per turn
<ldlework> placing a stone in one would be a suicide, placing it in the other is suicide
<ldlework> you'd need to place two stones at once to kill the group
<ldlework> but you can't do that, so in Go there is a way to make permanent life
<ldlework> cole-h: look at white's bottom group in the game
<ldlework> each eye is two spots, but imagine using white stones to fill in, so each eye is only one spot
<ldlework> black can't put a stone in either
<ldlework> because they'd have no air themselves
<ldlework> you can only play into a suicide if it kills the enemy stones which make it a suicide
<ldlework> in the case of two eyes, that's impossible
<cole-h> Those two eyes would be J3 and K1, correct?
<drakonis> how about y'all play through tabletop simulator?
<cole-h> Would require a purchase :P
<ldlework> cole-h: yeah
<ldlework> drakonis: i have, in VR, it's pretty cool
<drakonis> it was free to play last week?
<ldlework> no idea
<cole-h> Is there a special name for H1 and H2? Would that also be an eye?
<drakonis> or maybe that tabletop rules engine thing
<cole-h> Since it would be easy to capture black if placed into either of those spaces (with my current understanding)
<drakonis> i think its available on nixpkgs
* cole-h renames this channel to #nixos-go :P
<ldlework> cole-h: yeah black would put themselves into atari by playing there
<ldlework> but white wouldn't even need to respond
<ldlework> their structure has two eyes
<ldlework> it's Alive, capital A
<cole-h> So, IIUC, H1/H2 are individual eyes?
<ldlework> no
<ldlework> one eye
<ldlework> two points of territory
<cole-h> OK
<cole-h> One last question (for now): does territory count diagonals? Or does it need to have a corner to be valid/captured/whatever (e.g. is N7 required to be black for that corner to be black's)?
<ldlework> cole-h: the simple algorithm is, from any empty space, traveling orthogonally only, can you only reach one color? if so, then you're territory for that color
ixxie has joined #nixos-chat