<Ralith>
point me at the section? I scanned around a bit but couldn't find anything
<gchristensen>
Explicit typing is denoted with the bang (!) symbol. Application types should include a domain name and may use the caret (^) to abbreviate subsequent types.
<Ralith>
"type annotations" is a looooong way away from arbitrary code execution
<gchristensen>
yeah but we now know how it went from a type annotation from code execution
<Ralith>
oh, I didn't read up
<Ralith>
hm
<Ralith>
gchristensen: still not seeing the link
<gchristensen>
well yaml decodes to plain ruby/python/etc types, so what is a possibly natural-feeling way to implement these explicit types? create the object and pass the typed data in as its constructor
<Ralith>
you could say the same for any extensible encoding scheme, no?
<gchristensen>
I'm talking about yaml
<Ralith>
yeah, I'm just trying to understand the mindset that let this happen
<gchristensen>
I think I just explained a very feasible way to get there
<Ralith>
you did
<Ralith>
it just implies a worryingly general error
<gchristensen>
yeah
waleee-cl has quit [Quit: Connection closed for inactivity]
Drakonis has joined #nixos-chat
ajirx has joined #nixos-chat
endformationage has quit [Ping timeout: 244 seconds]
ajirx has quit [Quit: Leaving]
ajirx has joined #nixos-chat
jtojnar has quit [Quit: jtojnar]
ajirx has quit [Remote host closed the connection]
ajirx has joined #nixos-chat
cjpbirkbeck has quit [Quit: Quitting now.]
ajirx has quit [Remote host closed the connection]
__monty__ has joined #nixos-chat
<eyJhb>
`http2: server sent GOAWAY and closed the connection` aww :(
<etu>
eyJhb: It doesn't like you? :(
<eyJhb>
etu: Nope :( Guessing 100 threads sending a total of 5.000 requests times threeis too many
<eyJhb>
three is*
<eyJhb>
Wondering how Gitlab will feel when we do that times two? Plus uploading lets say.. 7.6 GB of data
<eyJhb>
I feel like I am not going to be popular
<__monty__>
Gitlab's not exactly known for dealing well with large amounts of data elegantly. At least that's the impression I've gotten.
<__monty__>
Actually, even better would be to contact gitlab support. Explain your situation, ask what the limits are or how to schedule to make it easier on them.
<manveru>
guess you also use haskell based on the error message?
<manveru>
ah, that's go
<eyJhb>
Yeah sorry, I am a sucker for Go :p
<manveru>
hey, i don't mind go :)
<manveru>
can't stand the `nil` thing, but i wrote a ton of code in it anyway
<joepie91>
pie_: not sure I understand what exactly you mean with 'interfaces'
<joepie91>
like, conceptually
<joepie91>
Ralith: the reason for yaml allowing arbitrary code execution, is because for a while it was meant for a similar purpose as pickles in Python and serialize in PHP; as a language-native trusted serialization format that could persist application state to disk and recover it, with ~full language support
<joepie91>
(afaik)
<joepie91>
but unlike pickles and serialize, YAML started being used outside of Ruby-land
<joepie91>
it's one of those "maybe you shouldn't assume in what context this is going to be used, in your security model, because there's gonna be tears" cases :)
<__monty__>
And here's me thinking the code execution was added after the fact because it turned out not to be powerful enough for the puppet configuration management usecase.
<manveru>
i thought YAML started in perl?
<joepie91>
I might be wrong!
<joepie91>
but afaik it was originally a Ruby-native thing
<joepie91>
can't help but feel like maybe this wasn't the best demonstration of "breaking free of angle brackets", considering the parser edge cases...
<manveru>
lol
<manveru>
yeah... it feels like a phyrric victory
pie_ has quit [Ping timeout: 252 seconds]
<manveru>
i remember using YAML::Store a bunch when i was just learning ruby
<Drakonis>
at least this will finally end the PRs aimed at offing pulseaudio on nixpkgs
<eyJhb>
__monty__: maaybe
<etu>
drakonis: you think? I think people will be upset about pipewire the same way people are upset about pulseaudio :p
<etu>
It's change and all change is bad ;)
<Drakonis>
its a drop-in replacement
<Drakonis>
they wont even notice it this time
<Drakonis>
apparently its a whole lot better than previous attempts
<etu>
hehe, high promises
<etu>
pulseaudio is a drop in replacement for alsa
<etu>
always been
<etu>
But then the kernel had super buggy alsa drivers
<joepie91>
etu: I mean, the main reason people hated pulseaudio was because it was initially super buggy
<joepie91>
constant glitches, pops, other audio artifacts
<joepie91>
that kind of screwed its reputation from the start
<joepie91>
(these weren't exaggerated issues, either; I got to use it fairly early on because I used opensuse, and it really was a very frustrating pile of audio issues)
ajirx has quit [Remote host closed the connection]
ajirx has joined #nixos-chat
<etu>
joepie91: Yeah, I remember when it was put as default in ubuntu :)
<etu>
joepie91: afaik it was mostly due to buggy kerneldrivers
<joepie91>
whatever the reason, the bugginess was what put people off :P
<joepie91>
so if pipewire can avoid that, I think they'll be fine
<Drakonis>
it seems to already be doing quite well
<Drakonis>
the only thing that sucks about pipewire right now is that none of the distributions ship the drop-in replacements yet
<Drakonis>
so i can't see how it behaves
<etu>
joepie91: If it's pulseaudio compatible. The kerneldrivers are fixed this time around. So less hassle there :p
<Drakonis>
its modular...
<Drakonis>
hm, apparently its already 4 years in
Synthetica has joined #nixos-chat
<eyJhb>
It is 13.45, and I am considering going to bed... "400 {message: {error: Spam detected}}" - Gitlab... Me against the APIs I guess
<eyJhb>
And basically doing a CSV import is somewhat useless - `CSV files must contain a header row where the first column header is title and the second is description. _If additional columns are present, they will be ignored._`
<colemickens>
sounds like we should get a pipewire nixos module going
samueldr has quit [Ping timeout: 245 seconds]
<andi->
I'd love to see that. I read their website a few months ago and decided to not yet try to spent time on it.
<pie_>
i dont follow <gchristensen> well yaml decodes to plain ruby/python/etc types, so what is a possibly natural-feeling way to implement these explicit types? create the object and pass the typed data in as its constructor
<pie_>
joepie91, the problem is i dont _have_ a conceptual basis for the interfaces
<pie_>
its just "i want to be able to screw this code into other code
<samueldr>
pie_: "run" nix code like a bog standard script
<samueldr>
e.g. ~/nixpkgs/ $ ~/Projects/ofborg/src/outpaths.nix
<pie_>
or rather, library authors should be able to screw code into generic things (how many nixers does it take to screw in a light bulb jokes when?) through a consistent interface
<samueldr>
and this runs the nix-env call exactly like ofborg
<pie_>
samueldr, ah :D
<samueldr>
self-contained, instead of needing something like a wrapper bash script
<samueldr>
and one of the funnest part is the use of `--argstr path $PWD`
<pie_>
samueldr, yeah i get whats going on there but didnt really get the $pwd
<pie_>
i didnt stare at it too hard tho
<samueldr>
most software will work with cwd being the cwd of the inheriting process, but nix has no concept of cwd, it all acts relative to files (which is good)
<samueldr>
so, to make the invocation as a script work as one would expect, the nix-shell invocation uses $PWD which comes from the shell, which is just wherever you're cd'd
ajirx has quit [Remote host closed the connection]
endformationage has joined #nixos-chat
<eyJhb>
60 down, 5040 to go
Jackneill has quit [Ping timeout: 252 seconds]
Jackneill has joined #nixos-chat
buckley310 has quit [Remote host closed the connection]
veske has quit [Ping timeout: 248 seconds]
jackdk has quit [Quit: Connection closed for inactivity]
__monty__ has quit [Ping timeout: 268 seconds]
__monty__ has joined #nixos-chat
<adisbladis>
colemickens: andi-: There is already a pipewire service?
<andi->
oh
<andi->
must have missed that
<adisbladis>
etu: Pipewire is still a long ways to go imho.. Do they even have a story for bluetooth audio for example?
<colemickens>
Interesting. I'll have to give it a shot.
<gchristensen>
I fonud a case when deploying everything with iPXE kinda sucks
srk has quit [Ping timeout: 258 seconds]
Twey has quit [Ping timeout: 258 seconds]
Twey has joined #nixos-chat
<andi->
Bootstrapping?
<gchristensen>
when your environment's iPXE infra is down :)
<gchristensen>
so I can't reboot ... or boot new
<ar>
is your infra for deploying everything from ipxe also booted from ipxe now?
<gchristensen>
my upstream provider handles iPXE, and its infra is down
Jackneill has quit [Read error: Connection reset by peer]
<joepie91>
ouch
<gchristensen>
very
<andi->
Brave new world
<gchristensen>
oh?
<gchristensen>
netlify.com but for ipxe
<eyJhb>
Circle dependencies are the best
<pie_>
samueldr, oh WUT you can get env vars in that string? i see! :O
<samueldr>
"no", but "yes"
<pie_>
???
<samueldr>
the --run parameter is just a string ran by the shell
<pie_>
samueldr, ok i didnt read carefully, its a nix shebang line calling nix through the shell again
<pie_>
not sure id have thought of doing that
<samueldr>
yep, that's it
<samueldr>
just a round-about way to do the wrapper script inline :)
Jackneill has joined #nixos-chat
ericnoan has quit [Ping timeout: 245 seconds]
ericnoan has joined #nixos-chat
jackdk has joined #nixos-chat
__monty__ has quit [Quit: leaving]
Jackneill has quit [Remote host closed the connection]
<kraem>
a litte bit of OT but here goes: In nix you can create a lambda function like this `mul = a: (b: a*b)` - how would one do that in haskell? Is lambda function in nix = higher order function in haskell?
<jackdk>
functions are curried by default in Haskell, so you can write `mul a b = a * b`, or `mul = \a b -> a * b` or `mul = \a -> \b -> a * b` and they'll all work mostly the same, modulo some optimisation details that are seldom relevant IME
<kraem>
jackdk: thanks, that makes sense - guess i'm a little bit confused by some of the concepts of lambda calc. and FP but the "curried by default" really helped me :)
<gchristensen>
nix also lets you do, simply, mul = a: b: a * b;
nckx has joined #nixos-chat
joepie91 has quit [Quit: Konversation terminated!]
joepie91___ has joined #nixos-chat
joepie91___ is now known as joepie91
<pie_>
joepie91, ...i want everything to feel like what it feels like to use zfs