gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
supersandro2000 has quit [Disconnected by services]
supersandro2000 has joined #nixos-chat
<infinisil> Well, except that it doesn't show the logs anywhere, yay!
<infinisil> Sorry I'm a bit salty, wireguard is great, until you actually have a problem with it..
<infinisil> Oh, it works!
<infinisil> Can only see messages through dmesg, but I guess that's something
ma27[m] has quit [Ping timeout: 246 seconds]
tokudan_ has joined #nixos-chat
philipp[m]1 has quit [Ping timeout: 265 seconds]
aszlig has quit [Ping timeout: 245 seconds]
tokudan has quit [Ping timeout: 245 seconds]
Irenes[m] has quit [Ping timeout: 246 seconds]
awaxa has quit [Ping timeout: 246 seconds]
rmcgibbo[m] has quit [Ping timeout: 246 seconds]
b42 has quit [Quit: WeeChat 2.9]
Guest79985 has quit [Ping timeout: 246 seconds]
kalbasit[m] has quit [Ping timeout: 246 seconds]
puzzlewolf has quit [Ping timeout: 246 seconds]
Ke has quit [Ping timeout: 265 seconds]
aszlig has joined #nixos-chat
kraem[m] has joined #nixos-chat
Ke has joined #nixos-chat
philipp[m]1 has joined #nixos-chat
awaxa has joined #nixos-chat
kalbasit[m] has joined #nixos-chat
rmcgibbo[m] has joined #nixos-chat
Irenes[m] has joined #nixos-chat
puzzlewolf has joined #nixos-chat
ma27[m] has joined #nixos-chat
<gchristensen> :puke-face
<gchristensen> now that
<gchristensen> that is good
<eta> oh look someone made common lisp function calls but in rust
<gchristensen> I didn't know lisp was so uwuey
<abathur> ah, and of course the blog post https://lfcode.ca/blog/pwintln-uwu
<hexa-> half an hour of writing saltstack
<hexa-> so close to vomitting
<hexa-> I never want to go back
rajivr has joined #nixos-chat
cole-h has quit [Ping timeout: 264 seconds]
katrin has quit [Quit: ZNC 1.8.1 - https://znc.in]
puzzlewolf has quit [Ping timeout: 246 seconds]
ma27[m] has quit [Ping timeout: 240 seconds]
crazazy[m] has quit [Ping timeout: 265 seconds]
Irenes[m] has quit [Ping timeout: 246 seconds]
ma27[m] has joined #nixos-chat
awaxa has quit [Ping timeout: 240 seconds]
aaronjanse has quit [Ping timeout: 240 seconds]
leons has quit [Ping timeout: 240 seconds]
mjlbach has quit [Ping timeout: 240 seconds]
DavHau[m] has quit [Ping timeout: 240 seconds]
kloenk has quit [Ping timeout: 258 seconds]
kalbasit[m] has quit [Ping timeout: 240 seconds]
aanderse has quit [Ping timeout: 240 seconds]
bbigras has quit [Ping timeout: 244 seconds]
immae has quit [Ping timeout: 244 seconds]
thefloweringash has quit [Ping timeout: 244 seconds]
colemickens has quit [Ping timeout: 240 seconds]
artturin has quit [Ping timeout: 240 seconds]
noneucat has quit [Ping timeout: 240 seconds]
rosariopulella[m has quit [Ping timeout: 240 seconds]
rmcgibbo[m] has quit [Ping timeout: 272 seconds]
ili has quit [Ping timeout: 258 seconds]
joe[m]3 has quit [Ping timeout: 258 seconds]
danielrf[m] has quit [Ping timeout: 258 seconds]
philipp[m]1 has quit [Ping timeout: 240 seconds]
jdnixx-M has quit [Ping timeout: 240 seconds]
kraem[m] has quit [Ping timeout: 244 seconds]
Ke has quit [Ping timeout: 240 seconds]
<lovesegfault> Any of y'all understand jenkins?
crazazy[m] has joined #nixos-chat
<gchristensen> in a life gone by, yes
jdnixx-M has joined #nixos-chat
puzzlewolf has joined #nixos-chat
Irenes[m] has joined #nixos-chat
<lovesegfault> We have a stage in our jenkins pipeline that cannot be scheduled in the same box at the same time
<lovesegfault> so when two people's diff's reach that stage at the same time, and by chance are scheduled to the same box, one spuriously fails
<lovesegfault> :(
<lovesegfault> no idea what to do
<gchristensen> ouch
YoDawg has joined #nixos-chat
leons has joined #nixos-chat
<gchristensen> if it were buildkite, I'd run 2 agents on that machine, one with a meta tag saying only jobs of type X and have that agent only run one job at a time, and then give that step the agent targeting rule of X
<infinisil> RIIN?
<lovesegfault> RIIN?
<gchristensen> lol
<samueldr> RIIN!
<infinisil> Rewrite it in Nix :)
<lovesegfault> Ah, lol
<lovesegfault> infinisil: our code is already nix, just our CI is jenkins
<eta> lovesegfault, wait do the jobs run sandboxed
<lovesegfault> s/code/build code/
<eta> you could just have a godawful mutex in the fs somewhere
<lovesegfault> eta: can't, they need GPUs
<lovesegfault> that's part of why they can't run at the same time
<gchristensen> okay yeah then I'd definitely have a special agent on that machine with the "has-gpus" feature and only run one at a time
aaronjanse has joined #nixos-chat
<eta> yeah so "simply": (while (exists /tmp/lock) loop); touch /tmp/lock; run job; rm /tmp/lock
<eta> this is a terrible solution
<gchristensen> yes lol
<infinisil> Hmm, feels like Nix could manage GPU's or other limited resources the same as e.g. user ids
<lovesegfault> eta: I love it
<hexa-> ,RIIN
<samueldr> maybe a sleep to not burn the CPU too hard
* gchristensen stress breaths
<samueldr> is there an atomic touch that fails if the file already exists?
<gchristensen> oh god
<infinisil> The answer probably depends on the file system
<hexa-> something, something flock?
<samueldr> infinisil: I'm thinking about the simplest case that right now touch definitely isn't right for locking
<eta> yeah don't actually do it exactly like that
* gchristensen resists looking up jenkins goop
<samueldr> because if both see the file not existing at once, they could both touch the file and continue
<infinisil> But yeah I'd probably go for flock
<infinisil> which is in core-utils, to my previous surprise
<infinisil> ,locate bin flock
<gchristensen> no this is terrible
<gchristensen> don't do this
<{^_^}> Found in packages: flock, toybox, busybox, libuuid.bin, utillinux.bin
<infinisil> Oh, utillinux
<lovesegfault> eta: too late
<lovesegfault> I'm writing the diff already
<eta> gchristensen, I'm sorry
<hexa-> lol
<lovesegfault> I want to get rid of jenkins
<lovesegfault> but idk what to propose we switch to
<drakonis> but when's rewrite in nickel?
<gchristensen> respect your developers enough to not make them just suffer behind another build when you could instead make it go to another agent for goodness sakes
<infinisil> Tbh that's not a bad solution, locking on a limited resource
<gchristensen> this is a bad solution
<hexa-> yeah, jenkins honestly should be doing the lock on the agent
<eta> I mean this is a """"solution""""
<lovesegfault> it's a workaround
<hexa-> everything else is weird
<gchristensen> this is not a solution, a solution respects the team
<infinisil> Lol
<lovesegfault> :P
<lovesegfault> Idk man, I just had to restart a build 9 times to land a diff
<lovesegfault> IMHO this is better than that
<infinisil> Well *I* like it, gets some atomicity juice into CI!
<gchristensen> barely when jenkins almost certainly has rules to do agent targeting
Dotz0cat has quit [Ping timeout: 240 seconds]
<lovesegfault> we do mark given stages as needing to run on a host with GPU
<lovesegfault> but idk how to say "at most one of these per host thx"
<gchristensen> run a second agent with that feature
Dotz0cat has joined #nixos-chat
<lovesegfault> I don't maintain and don't have access to our jenkins setup
<lovesegfault> can't do that
<hexa-> thats great
<lovesegfault> (don't have admin access)
<hexa-> send a feature request to whomever
<gchristensen> perfect! it isn't your problem to solve, file a ticket with who does
<lovesegfault> it will never get solved
<gchristensen> then quit, seriously
<samueldr> threaten them with the bad mutex
<infinisil> Or, try to get admin access :)
<lovesegfault> I want to stop manually triggering rebuilds 20 times :P
<gchristensen> you accomplish that by quitting
<lovesegfault> _and_ keep feeding my family
<lovesegfault> _and_ not lose my immigration lawyers
* eta notes the two vastly different school of thought here :p
awaxa has joined #nixos-chat
<gchristensen> at least do file the ticket
<lovesegfault> Just did
<lovesegfault> I want to move us off of phabricator and off of jenkins
<lovesegfault> that's my dream
<lovesegfault> so I can write normal code without pain
mjlbach has joined #nixos-chat
<DigitalKiwi> is such a thing possible
<gchristensen> akin Phabricator out of the picture will reduce pain to 1/10th
<lovesegfault> Yeah
ili has joined #nixos-chat
* eta hands gchristensen some more letters
<lovesegfault> eta++
<{^_^}> eta's karma got increased to like 1, I think
<lovesegfault> gchristensen++
<gchristensen> ank you realy, ea
<{^_^}> gchristensen's karma got increased to 433
<samueldr> gchristensen: baby hands?
<gchristensen> good guess but no, this time it is just bad hands :P
philipp[m]1 has joined #nixos-chat
<eta> as someone who's never used phabricator, it *seems* cool
<eta> work uses github right now and it's okay
<lovesegfault> eta: it would be good if the team behind it was well funded
<eta> gerrit is still the holy grail IMO
<samueldr> never had the occasion to use it, but from the outside it looks definitely cool
<lovesegfault> as-is it sucks
<eta> I see :c
<samueldr> I think one of the often touted pain points is that it doesn't follow the "github pull requests" workflow
<samueldr> but again, second-hand data
<lovesegfault> samueldr: that's right, but IMHO that's not the hard part of using it
<lovesegfault> the hard part is some things are only doable on the webui, and some only on the cli, and it's a PITA
DavHau[m] has joined #nixos-chat
<lovesegfault> you can only land a diff from the CLI
<lovesegfault> you can only edit a diff's description on the web ui
<gchristensen> not using github is costly in terms of integrations, community support, and a hireable pool of candidates who know how to work like that on day one. it can be worth it, but it is a costly decision
<lovesegfault> you can only make a diff a draft on the cli
<lovesegfault> you can only promote a draft on the web ui
<eta> gchristensen, yeah, that's what we settled on with work
<samueldr> yuck
<samueldr> this monoculture is going to cause so much damage
<eta> using gerrit seems cool but is probably more trouble than it's worth
aanderse has joined #nixos-chat
<gchristensen> unless you're $big
<gchristensen> like, "this is the team that only runs gerrit" big
kalbasit[m] has joined #nixos-chat
artturin has joined #nixos-chat
<lovesegfault> Right
<lovesegfault> I want us to move to GitHub + bors
<eta> that said, I have something against teams that use squash-and-merge or, even worse, merge
<lovesegfault> Phab only has squash and merge
Ke has joined #nixos-chat
<samueldr> having github and github-wannabe as the only way to get "hireable candidates" gives me mixed feelings
<eta> (the correct option is gerrit-style rebase)
<lovesegfault> that's _the_ phab way
<eta> I don't want merge commits :c
danielrf[m] has joined #nixos-chat
<lovesegfault> well, it doesn't have merge commits
<lovesegfault> it squashes and rebases
<lovesegfault> which I quite like
<samueldr> I want only merge commits with rebased work-branch history :/
<eta> okay fine, that's just a rebase
<eta> squashes are bad because they tend to fuck up commit messages
<samueldr> well
<samueldr> what I really want is not-git
<lovesegfault> This reminds me, what do y'all like as alternatives to jenkins?
rmcgibbo[m] has joined #nixos-chat
<gchristensen> buildkite
<eta> buildkite is nice
immae has joined #nixos-chat
<lovesegfault> looks pretty
<gchristensen> I like that it has monadic build pipelines https://buildkite.com/grahamc/
<lovesegfault> nice, integrates with phab
<lovesegfault> so I can move to it regardless of moving out of phab
patagonicus2 has joined #nixos-chat
kraem[m] has joined #nixos-chat
<samueldr> I think I just put the finger on what I hate about git (and many source code management systems)
<samueldr> it's lossy!!!
<samueldr> there's no way to actually know about the development process
<samueldr> the version control should be able to hold information about where _socially_ the change came from
patagonicus has quit [Ping timeout: 276 seconds]
patagonicus2 is now known as patagonicus
<samueldr> the mailing list message id
<samueldr> the pull request
<samueldr> etc...
colemickens has joined #nixos-chat
<eta> append a Message-Id: <a@b> thing to your commit messages :p
<samueldr> eta: you know (I assume from :p) that it's a workaround :)
<samueldr> I don't know _how_, but that's one thing that's missing
<eta> samueldr, yeah it's not ideal
<eta> I think fossil tries to solve some of this
YoDawg has quit [Ping timeout: 240 seconds]
<samueldr> I have a nascent thought also that goes along the lines of "the git user needs to think too much about the pointer-like strucutre of commits"
slack1256 has quit [Remote host closed the connection]
<samueldr> yeah, something I wanted to say: not necessarily _integrated_ with the SCM, but aware of origins and such
<gchristensen> imagine, a bunch of C developers make a SCM that feels like C
<samueldr> git?
<gchristensen> :)
* eta is an unconventional git user
<eta> I spend ~95% of my time in detached HEAD mode
<samueldr> I think an SCM should work on the _workflow_ rather than on the backing structure
<gchristensen> me too eta
<eta> just git push HEAD origin:refs/heads/eta/whatever :p
<samueldr> why is there _even_ the debate around merge commits and squashing and rebasing
<samueldr> that shouldn't be a thing!
* lovesegfault glances at pijul
<samueldr> but I don't know what it should be!
<eta> samueldr, funnily enough those also represent different workflows :p
kloenk has joined #nixos-chat
rosariopulella[m has joined #nixos-chat
<samueldr> can, often do, but not necessarily
<samueldr> that's part of the lossy encoding of git
<eta> like, some people shit out 10+ commits per change
<samueldr> it does not necessarily represents what happened
* eta prefers to polish their commits and write massively long commit messages with logical grouping
<samueldr> git is the jpeg of SCM
<gchristensen> wow going for blood
<eta> I like git :p
<samueldr> I couldn't think of a worse lossy image format
<gchristensen> gif?
<samueldr> gif is superior in many points to jpeg :)
<eta> I mean git is fundamentally a "build your own VCS" toolkit
<eta> like literally that's how it started
<samueldr> yeah
<samueldr> git is a tool
<samueldr> (heh)
<eta> the kernel guys have this working pretty well
<eta> they track the social origin of changes pretty nicely because they communicate changes via mailing list
<samueldr> but I think they forgot to actually implement a good porcelain
<samueldr> what they call porcelain should be the plumbing
<eta> well, be the change you want to see :p
<samueldr> and their plumbing... the water?
* eta reckons you can do this without actually having to invent a new VCS
<samueldr> I'm basically just thinking right now new thoughts about it because of this discussion eta!
<eta> true :)
noneucat has joined #nixos-chat
<eta> I'm mainly defending git
<samueldr> but I'm not sure the "encoding" of workflow with git will really work because of the way it is lossy
<samueldr> eta: it is perfectly fine to like git
<gchristensen> I don't like git mostly because it remembers all my code
<samueldr> but I personally think it's a bad tool that happens to work well enough to not need a serious rework
<eta> I think git is a great tool that is misused 90% of the time
thefloweringash has joined #nixos-chat
<eta> which, by some definitions, means it's a bad tool because the UX is bad enough for that to happen :p
<samueldr> eta: exactly
<samueldr> I don't think we _really_ disagree
<eta> I'm just saying you don't have to rip out all of it
<eta> you can keep the basic structures and be git-compatible, and just do a better porcelain
<samueldr> one thing that could be an issue: what if someone uses git on top of your porcelain?
<eta> depends to what degree you want to support that use case
<samueldr> that _could_ cause issues depending on what is being solved
<samueldr> but then there are things with git that I don't think can be solved
<eta> like?
<samueldr> like fetching data
joe[m]3 has joined #nixos-chat
<gchristensen> like patches not being patches
<samueldr> that too
<samueldr> the other day I added a remote
<samueldr> fetched it
<samueldr> it was still going on ~15 hours later
<samueldr> I stopped it
<eta> o_O
<samueldr> cloned the remote in a dir, took ~10 minutes, added _that_ as a remote, fetched, then changed the remote origin to the original origin
<samueldr> took in total 15 minutes
<samueldr> what wasn't closed to being done in 15 hours
* eta hasn't experienced that particular failure mode
<samueldr> clone the linux kernel, from let's say github/torvlads
<samueldr> torvalds*
<samueldr> then add an origin to qualcomm's repo of the kernel
<samueldr> btw, this is a thing that apparently "kills the github"
<eta> rails app fall down, go boom
bbigras has joined #nixos-chat
<samueldr> git clone --depth 1 && git fetch --unshallow
<samueldr> same issue I was facing with git (not github)
<samueldr> (AFAIUI)
<eta> oh yeah --depth=1 is murderous
<samueldr> the way it resolves... things??... between remotes is probably broken beyond the simpler cases
<eta> I think there are some intricacies involved wrt which protocols get used
<samueldr> though I definitely don't know about the internals to say if it's a trivial problem or not
<samueldr> I assume it's a quite hard issue
<eta> e.g. dumb vs smart HTTP, actual Git protocol, SSH, etc
<samueldr> but yeah, I was kind of surprised to see the 15++ hours fetch being done in ~10 minutes
<samueldr> in theory getting _more_ data
<samueldr> since I already had _another_ qualcomm remote!!
<eta> if the additional origin was using dumb HTTP then that might explain it
<samueldr> possible
<samueldr> I seem to remember mercurial having no real differences in the different ways to access
<samueldr> but at that time (basically 12+ years back??????? ugh) I wouldn't have known what to look for to know now
<samueldr> mercurial was more intuitive to use :(
<samueldr> eta: can the smart protocol be used without auth?
<eta> yeah
<eta> the dumb protocol is very rare aiui
<eta> you basically only get it if you just plop a repo in /var/www and don't do anything fancy
<samueldr> eta: would you assume that the presence of `cgit` would make it use the smart protocol?
<eta> I'd think so?
<samueldr> that's why I'm asking :)
<samueldr> I would think so too
<eta> wait, no
<eta> > cloneable URLs (implements dumb HTTP transport)
<{^_^}> undefined variable 'cloneable' at (string):489:1
<samueldr> ah
<eta> that's surprising
<samueldr> then maybe that was part of it
<samueldr> still, I wonder how it can be _that_ bad compared to a fresh clone!
<samueldr> I mean, make the protocol thing fallback to using the... bits(?)... it would use for a clone when it sees it's lacking a lot for a given thing it resolves?
<samueldr> I wonder how much bandwidth it was consuming to do whatever it did for 15GB
<samueldr> 15 hours*
<samueldr> and how much processing power wasted on both sides of the connection
<eta> it sounds like a stupid algorithm
<eta> I can imagine it being quadratic
<eta> as in, refetching large swathes of the repo multiple times
<gchristensen> probably decided to not reuse an existing packfile
<eta> like usually it goes 'have x want y'
<eta> I guess if it can't do the smart thing maybe it redownloads the entire repo every time it tries to fetch a new ref
<samueldr> that would be... terrible!
<samueldr> (plausible!)
<samueldr> but still, I appreciate git, even though I hate it
<gchristensen> better than svn for most code use cases
<samueldr> never had to use it, or CVS either
<gchristensen> lucky
<samueldr> well, CSV I once tried to get code from a project
<samueldr> I think I never succeeded
<gchristensen> CVS was a treat. couldn't delete directories.
<gchristensen> imagine the pathologies that created
<samueldr> I think I ended up using a git adapter for CSV
<samueldr> CVS*
* eta is too young for CVS
<samueldr> eta: it's not about you, it's about the project you're working on
<gchristensen> I got in just at the end of CVS, where migrations to SVN were starting
<eta> samueldr: well I wasn't aware of many FOSS projects using CVS
<samueldr> oh, I was having dark deep thoughts where you will, in a future, find yourself at $JOB or $CLIENT working on a legacy codebase using CVS
* eta adds that to the list of future interview questions
<samueldr> "What is the most cursed part of your development workflow?"
<samueldr> "yes"
<gchristensen> that is why git won
<gchristensen> git could read / write CVS and you didn't need to migrate the whole team, individual developers could get the good stuff and then be compatible with the unenlightened peers
<samueldr> I don't know that this is true: mercurial had the same feature
<gchristensen> well, part of why it won
<samueldr> I even used git through mercurial back in... over 12+ years ago
<samueldr> (ugh)
<gchristensen> I don't think pijul will make inroads until it can do that with git
<samueldr> I think that lacking that feature would have made git a non-starter
<samueldr> I really think what made it tip the balance is the network effect of that big platform with an octocat mascot
<samueldr> and not instantly either
<samueldr> the other big contender, about the same age, always had at least parity for features IIRC
<samueldr> (mercurial)
<samueldr> oh, I wonder if windows was a reason too
<samueldr> I don't recall back then when I was deciding what to choose, if I had taken a look on windows
<samueldr> was git easier to setup on windows than mercurial back then?
<gchristensen> interesting: http://www.impredicative.com/ur/
<samueldr> cursed thing I realized tonight: there are smartwatches with intel atom SoC
<Ke> you don't have to touch them
endformationage has quit [Quit: WeeChat 2.9]
jess has quit [Quit: K-Lined]
mog has quit [Ping timeout: 240 seconds]
cole-h has joined #nixos-chat
Hurttila has joined #nixos-chat
waleee-cl has quit [Quit: Connection closed for inactivity]
mog has joined #nixos-chat
<eyJhb> Anyone want to out some people that use Minio?
<eyJhb> Seems like the module in nixpkgs could use an update
<eyJhb> Lets just imagine I wrote this in -dev
jess has joined #nixos-chat
ixxie has joined #nixos-chat
ky0ko has quit [Remote host closed the connection]
ixxie has quit [Quit: Lost terminal]
ixxie has joined #nixos-chat
ky0ko has joined #nixos-chat
ky0ko has quit [Remote host closed the connection]
ky0ko has joined #nixos-chat
<eyJhb> The users on a Slack channel are so inflated/fake, as most of them are one time users, and are not even online.
ky0ko has quit [Read error: Connection reset by peer]
ky0ko has joined #nixos-chat
<adisbladis> eyJhb: This is a problem with most "modern" chat solutions
<f0x> well, how many forgotten irc bouncers are idling around
<f0x> something like MAU is a better metric everywhere, and with modern chat you can count people who just read too
<eyJhb> f0x: Let me put it this way, this channel has 14.000+ users on Slack. And about 10-20 of them are active
<eyJhb> :D
<f0x> lol ok that's a lot
<eyJhb> adisbladis: It really is, because people can just connect and then 100% forget everything....
<eyJhb> f0x: Yuuup, waaay too many...
<etu> Sooner or later a long forgotten IRC bouncer will die, but a Slack account, I'm not as sure.
<eyJhb> I can't find the frontend for Minio that can be used for easily sharing files using it :/
chr0ma[m] has quit [Quit: Idle for 30+ days]
<eyJhb> etu: It will never die, even when the password is forgotten
<eyJhb> Also, speaking of what etu said. The above quit :D
<etu> 30 days idle isn't very long forgotten though
<adisbladis> eyJhb: Tbh it's in the incentive structure for companies like slack
<adisbladis> Inflated user numbers looks like a value add
<etu> At work we do remove users that have been inactive for certain amount of time after some reminders and such to not accidentaly remove user data that they want to keep. 🤔
<etu> It's kinda nice that we do that.
<NinjaTrappeur> eyJhb: wrt. s3-like frontend, same here :(
<NinjaTrappeur> I'm stuck with filezilla + ftps ><
* NinjaTrappeur is into retro-computing :P
<eyJhb> NinjaTrappeur: Like, minio works atm! But I remember someone having a URL shortener infront of it. And it is annoying the crap out of me atm. :D
<eyJhb> adisbladis: That is indeed true, and might be a good reason for them to do it.
<NinjaTrappeur> ah! this kind of frontend! I was more talking about a GUI allowing your non technical friends to browse your online file repository.
<eyJhb> etu: How long of a timeout?
<etu> eyJhb: At work? A year.
<andi-> Anyone else got semi targeted NixOS job spam this morning?
ky0ko has quit [Remote host closed the connection]
<eyJhb> Guess next step is, anyone know of a good self-hosted URL shortener service that can have a password/token set for authentication?
ky0ko has joined #nixos-chat
ky0ko has quit [Remote host closed the connection]
<adisbladis> NinjaTrappeur: filezilla isn't retro computing!
* adisbladis mumbles something about uucp and getting off his lawn
cole-h has quit [Ping timeout: 260 seconds]
<eyJhb> adisbladis: <3 FileZilla
<NinjaTrappeur> Definitely not! I did not find anything better to remotely transert files w/ a gui :)
<etu> Nothing wrong with filezilla :)
<NinjaTrappeur> The retro-computing joke was more about ftps.
<NinjaTrappeur> In practice, it works fairly well.
<NinjaTrappeur> But I feel like the passive transfert model aged a bit.
<eyJhb> Having a Guidance meeting while your neighbour is yelling at her BF sums up working from home pretty well
<eyJhb> Anyone using BackBlaze (B2)? Curious how they meassure the 0.005 per GB/month. If I upload a file that is 1 GB, and delete it right afterwards. Then do I have to pay 0.005 USD for that?
<LinuxHackerman> Typically they'll prorate it I believe
<eyJhb> My floor is shaking because them are slamming doors.
<eyJhb> Now I say they, it is mostly her :D
<etu> eyJhb: You live too near other people I hear :D
<etu> eyJhb: Move away from them
<eyJhb> I am! Only 10 days left
<etu> Cool
<etu> Didn't expect that :D
<eyJhb> Also, too near... It is a apartment :p And solid brick walls... You can hear her 100 meters away
<eyJhb> We have tried.
<eyJhb> In the middle of painting and fixing up the new place :D
__monty__ has joined #nixos-chat
<sterni> infinisil: wanna see something very blursed I made in nix? https://code.tvl.fyi/tree/users/sterni/nix/utf8/default.nix
ece5 has joined #nixos-chat
ece has quit [Read error: Connection reset by peer]
ece5 is now known as ece
<siraben> sterni: nice
<siraben> but why?
<sterni> just for fun mostly
<sterni> I had implemented ord and bitshifts for something else already
<sterni> and it was a nice procrastination project whilst studying the last few days :)
ece6 has joined #nixos-chat
ece has quit [Read error: Connection reset by peer]
<siraben> heh
ece6 is now known as ece
ece has quit [Read error: Connection reset by peer]
ece has joined #nixos-chat
<sterni> seems like complexity is exponential
<sterni> I'm fairly convinced this is because of the list append I have to do
<sterni> I can check actually
ece has quit [Read error: Connection reset by peer]
ece has joined #nixos-chat
ece has quit [Read error: Connection reset by peer]
ece has joined #nixos-chat
cosimone has joined #nixos-chat
<infinisil> sterni++
<{^_^}> sterni's karma got increased to 5
<infinisil> Dope stuff!
<sterni> infinisil: something interesting I discovered while doing this: If you have a fixed iteration length or some reference you can use foldl' to circumvent stackoverflows due to recursion, BUT the stack can still overflow, because at some points the thunks grow so big it causes a stack overflow
<sterni> foldl' only forceValues at the end apparently
<sterni> so I added a deepSeq to every iteration step
<infinisil> foldl' forces shallowly at every step
<infinisil> But yeah, foldl' is very good at avoiding stack overflows
<infinisil> sterni:
<infinisil> sterni: You might be interested in https://github.com/Infinisil/fastnixarray/blob/master/default.nix
<infinisil> Not documented well, but it uses forcing in a very specific way to not cause stack overflows, but also not have bad performance
<infinisil> (Always deep forcing is expensive if you know lower thunks are evaluated already)
<sterni> infinisil: yeah I was about to look into something like that because I need faster append than lists essentially
<sterni> the current version has exponential complexity at least :p
<infinisil> Yeah fastnixarray is good for that :D
<sterni> thx for the reminder I wanted to have a look anyways :)
<infinisil> sterni I notably used fastnixarray to implement adventofcode 2020 problem 15 in Nix, with a final runtime of about an hour! https://github.com/Infinisil/aoc20/blob/master/15/default.nix
<infinisil> Required iterating and updating an array 30 million times lol
<sterni> that's pretty impressive!
<sterni> my goal is currently to utf-8 decode emoji-test.txt (a unicode consortium data file) in a respectable amount of time and that is 450KB or so
<sterni> but it takes multiple hours currently, I've never yet tried running it to the end
<sterni> I was able to decode a the tex source of a paper of mine in 2min40s which was 65KB which was promising
<sterni> that sentence reads like some kind of joke
<infinisil> Lol
Hurttila has quit [Quit: Connection closed]
<sterni> what is a relieve is that if I don't accumulate the codepoints into a list the execution time grows linearly as it should
<sterni> *relief
<eyJhb> sphalerite && infinisil : any of you using minio + some URL shortener something?
<infinisil> (nope)
<sphalerite> me neither. Why me?
<sterni> infinisil: so builtins.deepSeq reevaluates already evaluated thunks, is what you were saying?
<infinisil> sterni: Hmm no. What I meant to say is that deepSeq recurses all the way into the structure
<sterni> okay, yeah that makes much more sense
<sterni> but it will revisited already evaluated stuff
<infinisil> Yeah
<infinisil> So e.g. if you have a structure where you only need to force the second-top-most level, deepSeq would waste a lot of time recursing deeper
<infinisil> Which is why I wrote a seqListElems in https://github.com/Infinisil/fastnixarray/blob/master/default.nix#L25, which only seqs all list elements
<infinisil> Using such a function was crucial to get acceptable performance
<infinisil> (and no stack overflows)
<infinisil> (we should probably use #nix-lang for this)
cransom has quit [Quit: WeeChat 2.9]
cransom has joined #nixos-chat
<sterni> agreed
Hurttila has joined #nixos-chat
liebach has quit [Ping timeout: 240 seconds]
liebach has joined #nixos-chat
<eyJhb> sphalerite: I just seem to remember someone that runs it, and I can't quite remember who
<eyJhb> And it is annoying me... And you two seemed like a good candidate
cosimone has quit [Quit: cosimone]
aei has joined #nixos-chat
maljub01 has joined #nixos-chat
cosimone has joined #nixos-chat
Rainy_Day has joined #nixos-chat
cosimone has quit [Quit: cosimone]
<gchristensen> users of weechat, throw off the chains of an input bar which is exactly one line and miserable to type long messages on, free yourself: `/set weechat.bar.input.size 0` and read your whole message in one go!
<cransom> oh, i kind of enjoy this dark magic.
<cransom> but mine is weechat.bar.rootinput.size
<gchristensen> huh
<cransom> i wonder how long ago i copypasta'd that. it seems to be a non-default bar i added
<eta> other weechat tips: use go.py if you aren't already (and bind it to Ctrl-K)
<gchristensen> what is that?
<cransom> does it bounce you to a channel with activity?
<cransom> does it do something that '/input jump_smart' doesn't?
<siraben> How much is this a problem for Nix projects? https://blogs.gentoo.org/mgorny/2021/02/19/the-modern-packagers-security-nightmare/ The article mentions pinning for instance being a security problem since it can lead to vulnerable dependencies.
<siraben> But OTOH we want reproducible builds, and that means we can't have slightly different versions of dependencies because in general it can be the difference between a project building and not building
<adisbladis> siraben: Static linking isn't a problem at all
<adisbladis> And I think there is no way around pinnig being a thing..
<adisbladis> And I don't think that's a bad thing
<adisbladis> Nothing forces us to use upstreams Cargo.lock for example
<adisbladis> We can re-lock from Cargo.toml
<adisbladis> Correctness is also important
<siraben> adisbladis: we can re-lock from Cargo.toml? How?
<adisbladis> siraben: Just run a `cargo update` when you're packaging?
<siraben> Yeah, but isn't one of the issues that vulnerable packages can take a while to propagate their fixed version?
<siraben> if openssl had a vulnerability say, how long would it take for the secure version to propagate through all the locks?
<adisbladis> siraben: My point is that we don't have to use the upstream locks
<siraben> At the same time it should be an upstream problem and shouldn't be up to us
<hexa-> except we care, we often handle security updates, most upstreams don't
<hexa-> ok, that was a bit rude
<hexa-> they certainly care, but most aren't in the loop on these things
<adisbladis> Of course this is a huge problem with FOD hacks such as rustPlatform.buildRustPackage
<siraben> hexa-: What do you mean by we handle security updates?
<adisbladis> It's not really all that flexible
<hexa-> siraben: downstreasm in nixpkgs?
<hexa-> at least for dependencies
<adisbladis> But let's say we consistently used https://github.com/nmattia/naersk/ for rust packaging
<adisbladis> That would make it completely trivial to just recursively look for lock files and update them
<siraben> adisbladis: ah so we could override lock file dependencies?
<adisbladis> siraben: Sure, why not?
<siraben> Well that would be good, and so does that address the issue with locking in that article?
<adisbladis> At least partially
<adisbladis> I think in a way that actually makes sense
<adisbladis> Just blindly unpinning what upstream has set is a huge problem too
<adisbladis> Case in point: pythonPackages
<adisbladis> Just look at how much stuff is breaking there all the time...
<siraben> Oh man, Python packaging is uh, interesting.
<siraben> (read: painful)
* adisbladis knows too much about python packaging
<adisbladis> More than anyone should...
<adisbladis> Anyway, with the re-locking approach we can get both correctness and timely security fixes
<adisbladis> I think we're just seeing the start of the growing pains distributions will have in packaging Go/Rust in the traditional way
<adisbladis> This is less of a problem for distros which aren't rolling
<adisbladis> I guess
<adisbladis> How does Arch do Go packaging for example? Or Gentoo?
<adisbladis> https://github.com/archlinux/svntogit-community/blob/packages/go-ethereum/trunk/PKGBUILD kinda implies they assume the build has networking & they'll just let `go build` do it's thing
<hexa-> yikes
<hexa-> hopefully not manually
tomberek has joined #nixos-chat
Hurttila has quit [Ping timeout: 240 seconds]
<adisbladis> Idk
<adisbladis> I have met enough Gentoo maintainers to think that's exactly what they are doing...
<siraben> jeez
<hexa-> it was a great time when I was oblivious to the fact that staging-next was stuck
<sphalerite> what was that weird magic git rebase tool again?
<adisbladis> sphalerite: magit ;)
ixxie has quit [Ping timeout: 276 seconds]
<sphalerite> no I mean the bad kind of magic
<joepie91> lol
rj has joined #nixos-chat
<__monty__> The automatic fixup stuff?
rj has quit [Ping timeout: 268 seconds]
<siraben> adisbladis: you're an emacs user? yay!
cole-h has joined #nixos-chat
rj has joined #nixos-chat
<veleiro> emacsOS ftw
<aei> many Nordics using Nix* especially Swedes and Danes it appears, fewer Finns and Norwegians? it appears, is this observation mistaken? is this just coincidence?
<aei> well vi as an interface ;-)
<veleiro> i need to do some remodeling to my emacs, use this new pure-gtk3 and native-compilation forks
<aei> i do love Doom Emacs ... org mode etc.
<veleiro> Doom emacs is the best out of the box emacs package
<veleiro> he's also a nix user
<aei> amazing
<aei> oh, ... nix is amazing :-)
<aei> was really not looking for anything beyond Debian when i stumbled upon it ... and now ... well, i am a newbie all over :-p
<aei> love it
<veleiro> i've been using it for 1.5 years almost and i'm still a noob
<veleiro> but the time invested is well worth it
<aei> (even forced me to interact with github for the first time ... how is that for a measure ... to be prepared to be a toddler online all over)
<veleiro> has nix-pills been updated? I think i need to go through it again
rj has quit [Ping timeout: 268 seconds]
BaughnLogBot has quit [Ping timeout: 265 seconds]
BaughnLogBot_ has joined #nixos-chat
BaughnLogBot_ is now known as BaughnLogBot
rj has joined #nixos-chat
omnd has quit [Ping timeout: 276 seconds]
<aei> ... well, atm enjoying NixOS as a user, and trying to get on with the little i do in D, which is unfortunately not so well supported atm.
<aei> surprised that no one appears to have noticed stuff that broke in unstable and remained that way, especially as there seem to be some reasonably experienced Nix* people who have used and done things with it
rajivr has quit [Quit: Connection closed for inactivity]
<aei> (and yes, i will need heavy and no doubt repeated doses of nix-pills over time)
waleee-cl has joined #nixos-chat
rj has quit [Ping timeout: 268 seconds]
rj has joined #nixos-chat
ixxie has joined #nixos-chat
rj has quit [Ping timeout: 268 seconds]
rj has joined #nixos-chat
rj has quit [Client Quit]
omnd has joined #nixos-chat
<siraben> veleiro: Looks like at least styling has been redone
<siraben> and some section changes too based on commit history
<siraben> would be nice to have a pill for flakes someday ;)
rj has joined #nixos-chat
Hurttila has joined #nixos-chat
rj has quit [Ping timeout: 268 seconds]
rj has joined #nixos-chat
ixxie has quit [Ping timeout: 260 seconds]
ixxie has joined #nixos-chat
rj has quit [Ping timeout: 268 seconds]
<aei> so, quiet, guess it is the wrong time to ask for movie recommendations ... (let's see i liked 12 monkeys, chappie, the usual suspects, being john makovich, the first of the matrix frachise ... recently queens gambit was fine, halt and catch fire interesting ) wait, my most off beat surprise was
<__monty__> District 9?
<aei> i guess because it was so unexpected and remains difficult to characterise genre wise, thought i was choosing a drama for my mum, ... loved it .
<aei> yes enjoyed that
rj has joined #nixos-chat
<aei> __monty__ District 9 ... same director as chappie (which is not as popular
<aei> "her" was pretty good in its way, like chappie in the questions raised ... and i guess there is enough in each to think different ones
Hurttila has quit [Quit: Connection closed]
<__monty__> District 9 is a much better movie than Chappie, imo. The latter is at least in part a rehash of the former.
<__monty__> Though if you're watching them in reverse order you might experience the same effect.
rj has quit [Ping timeout: 268 seconds]
rj has joined #nixos-chat
<aei> hmm liked some of the questions raised by having robot gaining consciousness ... ai robot learning in such an off beat way and ending up rescuing creator and both in robot bodies at the end ... and what ai found important to persue, those types of meta issues
<aei> there is to be a district 10 i think, i do look forward to it
<aei> (in chappie the creator (for want of a better description) had an "afterlife" in a silicon body similar to that of his creation)
<aei> s/silicon/artificial ...
lucus16 has joined #nixos-chat
rj has quit [Ping timeout: 268 seconds]
<aei> (most agree with you, district 9 gets better ratings :-) kindof why i mentioned chappie for myself)
rj has joined #nixos-chat
<abathur> like ,launch but only once the next time <channel> advances?
<joepie91> aei: strictly movies or also shows?
<joepie91> aei: because if also shows... Utopia (the conspiracy thriller, not the reality show, also CW: all of them), Carnivale, Killjoys
<joepie91> aei: you may also like Devs
<joepie91> for a more introspective option
<aei> joepie91 thanks ... films easier because less commitment in time, but i do occasionally get caught up in a show ... and that alhambra thing was one, so thanks will keep in mind :-)
<joepie91> aei: oh, Utopia is 100% one of those :)
<aei> i recall hearing of person (or persons) of interest, should look up, but have to dash out
<aei> soon
<aei> thanks :-)
<joepie91> Utopia is your typical British densely-packed show
<joepie91> Carnivale is a bit calmer but still very low-filler, Killjoys has a bit more filler but it's definitely not a typical american drama either, and Devs is... well, Devs is Devs, it's its own category
<joepie91> it's at the same time very unnerving but also very slow and windy
<joepie91> but also somehow the story progresses
* joepie91 does not like high-filler shows
<aei> thanks will keep in mind and look to see if there is any more when back
<joepie91> oh I have piles of shows but these are the ones I can recommend based on your earlier mentions :P
<joepie91> which I more or less translated into "worldbuilding-dense, limited patience for filler"
cole-h has quit [Ping timeout: 265 seconds]
<aei> thanks it is useful to be categorized (to have a category) ... will ask for that next time :-) ok, i will google it and see if it is any help at all ... hey, i though you were joking (or that it was a category you created)
<aei> gotta run, daughter to ballet 30 minutes drive away
<joepie91> aei: nah, "worldbuilding" is a real term/process/concept :) it generally refers to the process of constructing some sort of universe for the story to occur in
<joepie91> so I'd consider something worldbuilding-dense when it spends a lot of its time/focus on constructing that world, a believable and immersive one, whether it is subtly different from the real world or totally different
<joepie91> and so it can really suck you into the story and the characters and the world that they exist in, without needing to 'remember' things about what happened for example
aei has quit [Ping timeout: 276 seconds]
ixxie has quit [Quit: Lost terminal]
rj has quit [Ping timeout: 268 seconds]
tomberek has quit [Quit: Connection closed]
* colemickens boot.kernelParams = ["mitigations=yolo"];
<samueldr> gotta go fast
<colemickens> haha, I'm definitely going to think that every time I boot now
__monty__ has quit [Quit: leaving]
lovesegfault has quit [Quit: WeeChat 3.0.1]