gchristensen changed the topic of #nixos-officehours to: https://www.youtube.com/watch?v=siR3pvmxFlU
erictapen has quit [Ping timeout: 265 seconds]
erictapen has joined #nixos-officehours
erictapen has quit [Ping timeout: 252 seconds]
erictapen has joined #nixos-officehours
erictapen has quit [Ping timeout: 240 seconds]
pie__ has quit [Ping timeout: 265 seconds]
psyanticy has joined #nixos-officehours
erictapen has joined #nixos-officehours
erictapen has quit [Ping timeout: 250 seconds]
erictapen has joined #nixos-officehours
<gchristensen> FYI: today's NixOS office hours (starting in about 3h15min) will be about how some of Nix has been written in Rust already. niksnut is coming :) more info: https://github.com/worldofpeace/events/tree/master/office-hours come chat and ask questions!
betawaffle has joined #nixos-officehours
erictapen has quit [Ping timeout: 240 seconds]
pie_ has joined #nixos-officehours
juxiemaotu has joined #nixos-officehours
puck has joined #nixos-officehours
juxiemaotu has quit [Quit: WeeChat 2.4]
tilpner has quit [Quit: tilpner]
RosaCtrl has joined #nixos-officehours
<betawaffle> questions asked here will be included in the discussion, right?
<worldofpeace> betawaffle: Yes
psyanticy has quit [Quit: Connection closed for inactivity]
__monty__ has joined #nixos-officehours
<betawaffle> no longer blue!
<puck> (more like 20:00 utc)
evils has joined #nixos-officehours
drakonis1 has joined #nixos-officehours
<samueldr> view options -> fit to window
<samueldr> if you're viewing a cropped version
<betawaffle> github's search is very unreliable
<infinisil> Youtube stream?
<gchristensen> I think I managed to get audio, video, streaming, *and* recording done all at once
mcfrank has joined #nixos-officehours
<worldofpeace> it says waiting gchristensen
spear2 has joined #nixos-officehours
<gchristensen> oh no I didn't get thes tream going lol https://www.youtube.com/watch?v=A1UzI2SqEb8
<gchristensen> trying to click "go live" but it won't let me
<worldofpeace> hummph
<mcfrank> looks good now
<gchristensen> SO COMPLICATED I will never get it right first try :)
drakonis1 has quit [Ping timeout: 265 seconds]
<infinisil> Needs more automation
<samueldr> nix predates rust, right?
<gchristensen> by many years
<samueldr> yeah :)
steveeJ has joined #nixos-officehours
gchristensen changed the topic of #nixos-officehours to: https://www.youtube.com/watch?v=A1UzI2SqEb8
<betawaffle> wow, i was watching the wrong one
<gchristensen> :x sorry, turns out streaming is hard
<flokli> well, in terms of ffi - we do have at least the daemon protocol
<flokli> so we could have one side written in rust, and keep the other in c++, right?
<aanderse> eh i thought grahamc said 3:15 today...
<adisbladis> I see where the confusion is coming from
<betawaffle> hah
<aanderse> oh... yeah thats on me -_-
<worldofpeace> flokli: is that a question for eelco?
<worldofpeace> currently talking about interop though
<flokli> worldofpeace: yes
<flokli> feel free to proxy
<flokli> we should be really careful when passing things around… maybe serialize and deserialize into some stable format…
<aanderse> flokli++
<{^_^}> flokli's karma got increased to 5
<flokli> and slice nix into various components with some stable, well-defined interface
<samueldr> I share a similar concern as peti, I haven't been able to get rust cross-compiled for now
<infinisil> Bootstrapping though, can't get the dependencies for nix via nix if you don't have nix already
<pbb> If there were parts of Nix written in rust it would definitely be much more likely for me to participate in Nix development.
<betawaffle> same
<pbb> I've had no issues cross-compiling rust code, as long as it's pure rust. When it includes C(++) dependencies it becomes more challenging.
<samueldr> in my case it's more about the nixpkgs cross-compiling infra
<samueldr> pkgsCross.aarch64-multiplatform.rustPackages.clippy, or carnix-based stuff
<samueldr> likely not rust itself, but our stuff around it
<gchristensen> flokli: I haven't forgotten your Q :)
<pbb> yeah
<samueldr> part of it is llvm_9 not cross-compiling right now
<samueldr> so I'm thinking that someone that has a better big picture view of it all can fix it
<samueldr> I was talking about it since I looked at rust for my own use case recently with cross-compilation and couldn't get something going
<flokli> it's not just about slicing server/client
<worldofpeace> flokli: then what it should be is?
<flokli> like, each store impl could adhere to some well-defined protocol
<flokli> and then you rewrite the s3 store impl for example
<flokli> of course, you then can't just call methods from a class anymore, but through that interface
<betawaffle> make nix extensible!
<andi-> make nix (The parser) useable as a library ;-)
<aanderse> an immediate segfault is best case scenario... if something minor changes you might run the program a while and have unexpected bugs
<betawaffle> we're just talking about defining proper interfaces here...
<betawaffle> is nix really that performance-critical?
<flokli> betawaffle: I doubt it, and assume once most is rustified, there will be a shortpath, not allowing to serialize back and forth from protobuf or similar
<flokli> and in fact using protobufs would make extending nix much easier
<betawaffle> yeah, i'd like nix to be more extensible
<aanderse> is there a problem finding developers to work on the nix code base? i keep hearing "lower bar to entry" to comments. is that a current concern, or just a general concern for thefuture?
<betawaffle> it seems like trying to bring in rust should make that easier to justify...
<betawaffle> aanderse: i have zero interest in working with C++ code
<betawaffle> the same way i have zero interest working with Perl code
<worldofpeace> aaron: I've noticed nix PRs and dev is much harder to reach than nixpkgs
<worldofpeace> but they're completely different
<worldofpeace> But I do think eelco is thinking about the future
<aanderse> betawaffle: call me envious for someone who never has to work with either c++ or perl ;-)
<betawaffle> that's me, it's great
<gchristensen> puck: may I PM? :)
<puck> of course
drakonis1 has joined #nixos-officehours
<gchristensen> thanks, worldofpeace!
drakonis1 has quit [Ping timeout: 250 seconds]
drakonis1 has joined #nixos-officehours
drakonis1 has quit [Ping timeout: 268 seconds]
<eyJhb> DAMN IT! Did I miss office hours again??
<betawaffle> yes
<betawaffle> and we missed you
<eyJhb> betawaffle: sorry :( Two in a row as far as I know :(
<betawaffle> this was the first one i'd seen
<eyJhb> How would you rate it betawaffle ? I have only seen two!
<betawaffle> on a scale of 0 to 1, it was a 1
<betawaffle> it happened
<betawaffle> on a more reasonable scale...
<betawaffle> of say, 0 to 10
<eyJhb> What was the topics for today?
<betawaffle> the rust parts of nix
<eyJhb> Oh
<eyJhb> I have no experience with Rust
<betawaffle> and how eelco's views may differ from some people in the community
<eyJhb> Only that there is kinda a big hatred between Golang and Rust
<worldofpeace> Specifically, we had Eelco on parts of Rust he's used inside Nix already.
<worldofpeace> An idea.
<betawaffle> i use both go and rust at work, fwiw
<worldofpeace> eyJhb: you keep missing :D
<worldofpeace> Guess the time isn't great for you over there
<eyJhb> worldofpeace: ahh makes sense! :D
<eyJhb> betawaffle: I have only ever used Golang, and love it to death!
<betawaffle> yeah, go is great
<eyJhb> Yeah worldofpeace , it is at 21.00, which always seems to be bad timing, even if it shouldn't be... :/
<betawaffle> though there are times i wish it had more features
<betawaffle> and then i think better of it
<betawaffle> or do i...
<worldofpeace> Yeah, it's late eyJhb though I guess even later works better afterwords :P
<eyJhb> If it was around 13/15 it would be better, but I just need to schedule it better :D
<eyJhb> betawaffle: I love the features it has. I have never really wished for anything more, because I can create a 4 line helper function to do most things anyways :D
<betawaffle> have you written a big system of 50 microservices with it?
<eyJhb> I think I should just be better at noting down when Office Hours are :p I was making "pebernødder", so baking. No clue what it is called in English
<gchristensen> it is a shame that the earth isn't flat so we could all be on the same timezone and then it'd be easy to schedule.
<eyJhb> betawaffle: Nope, my biggest project atm. is my open cyber security platform - https://gitlab.com/deviosec/octp
<eyJhb> gchristensen: yup! But are you sure it isn't? ;)
RosaCtrl has quit [Remote host closed the connection]
<betawaffle> gchristensen: i can see you from atlanta. how could be it not be flat?
<eyJhb> "Gingersnap" I guess
<betawaffle> eyJhb: well, that's probably why. lots and lots of go code can make you see things that are lacking
<betawaffle> i mean, not critically lacking
<betawaffle> the pros outweigh the cons
<eyJhb> betawaffle: any examples?
<betawaffle> lots of code generation
<betawaffle> we generate a lot of code
<betawaffle> because anything else would be too painful
<betawaffle> code generation is fine, but i wish there was better tooling for it. we're mainly using go text templates
<eyJhb> Generating code like?
<betawaffle> we generate grpc stubs, and other stuff to make the grpc stubs less annoying to use, for example
<eyJhb> Ahhh...
<eyJhb> Yeha, I HATE that...
<betawaffle> plenty of other code we generate too, but i'm going to pretend it's proprietary so i don't have to remember what it is :P
<eyJhb> I am just fidling around with a SOMEWHAT REST API and using JSON, did use gRPC/Protobuffers before, but did not like the feel of it
<betawaffle> we also generate a bunch of glue code, and stuff like generating helper types/functions for errors from config files
<betawaffle> we've got a big config file with all the error codes for our platform
<betawaffle> and what they mean, what http status code is associated with them, etc
<eyJhb> Always feel like there is some "easier" way, but prop not, and 100% cannot tell without seeing the code
<betawaffle> anyway... go is well-suited to a lot of things, rust is also well-suited to a lot of things, and there is some overlap
<eyJhb> I feel like using Go for distributed systems/server stuff, and Rust for applications
<eyJhb> Even if that does not really make sense...
<betawaffle> rust excels when you need to really interact with the system at a low level
<betawaffle> go has trouble with that sometimes
<betawaffle> simply because it made different tradeoffs
<betawaffle> rust is also much "safer" than go, for situations where that's important
<betawaffle> but there's more brain overhead to writing rust code, compared to go, imo
<betawaffle> which isn't always justifiable
<betawaffle> we're probably waay off topic now :P
<eyJhb> Well yeah, it is. Go is more designed for distributed use and microservices as far as I remember
<eyJhb> betawaffle: join #nixos-chat if you want ;)
erictapen has joined #nixos-officehours
__monty__ has quit [Quit: leaving]