gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
<samueldr> I wondered what was the fastest way to get a VM with the desired kernel revision to test something...
<samueldr> ... the testing infra is awesome
lassulus has quit [Ping timeout: 250 seconds]
yl has joined #nixos-chat
drakonis has quit [Quit: WeeChat 2.3]
yl has quit [Quit: WeeChat 2.2]
yl has joined #nixos-chat
yl has quit [Read error: Connection reset by peer]
endformationage has joined #nixos-chat
yl has joined #nixos-chat
yl has quit [Quit: WeeChat 2.2]
pie__ has joined #nixos-chat
pie___ has quit [Ping timeout: 245 seconds]
yl has joined #nixos-chat
endformationage has quit [Quit: WeeChat 2.3]
jackdk has quit [Ping timeout: 258 seconds]
yl has quit [Quit: WeeChat 2.2]
lassulus has joined #nixos-chat
lassulus has quit [Quit: WeeChat 2.2]
lassulus has joined #nixos-chat
__monty__ has joined #nixos-chat
__Sander__ has joined #nixos-chat
lassulus has quit [Ping timeout: 268 seconds]
lassulus_ has joined #nixos-chat
lassulus_ is now known as lassulus
lassulus has quit [Ping timeout: 250 seconds]
lassulus has joined #nixos-chat
drakonis has joined #nixos-chat
endformationage has joined #nixos-chat
__monty__ has quit [Quit: leaving]
<tilpner> How does Linux always manage to swap out the 71MB that are most essential...
<tilpner> (Where "most essential" is any memory that causes half a minute of lag during normal desktop interaction)
<clever> tilpner: mlock() and mlockall() could help
<tilpner> clever: In what manner would I use those functions when I'm not developing software?
<clever> patching software to lock that critical code in ram?
<infinisil> Wow: "When mapping ports in the HOST:CONTAINER format, you may experience erroneous results when using a container port lower than 60, because YAML will parse numbers in the format xx:yy as sexagesimal (base 60). For this reason, we recommend always explicitly specifying your port mappings as strings."
<clever> infinisil: wtf?!
<joepie91> lol
<joepie91> ~YAML~
<clever> infinisil: i think its far safer to generate the yaml from a data record, with toJSON instances
<clever> then the encoder can deal with these things for you
<clever> but at that point, just use something simpler like json :P
<tilpner> clever: While that's a possible solution, maintaining patches against X and building it every time sounds worse. I'd much rather have a way to communicate "don't swap out memory owned by X"
<clever> tilpner: you could also make an LD_PRELOAD library that iwll overwrite main(), mlockall(), and then call the original main()
<tilpner> Oh, that might actually be practical :o
<tilpner> Apparently swappiness can be configured per cgroup, that might be the proper solution here
__Sander__ has quit [Quit: Konversation terminated!]
endformationage has quit [Ping timeout: 250 seconds]
<clever> tilpner: oh, thats nice too
drakonis has quit [Quit: WeeChat 2.3]
<jD91mZM2> Does anyone of you have advice for learning dvorak? I'm trying to use the Dvorak touch typing course on gtypist, but I am getting pretty bored when writing and frustrated each time I make a mistake, and angry when having to redo a course. And I'm just typing at 8 WPM. Clearly not working.
<gchristensen> use it
<gchristensen> print out a diagram and just commit it
<gchristensen> commit to it*
<joepie91> jD91mZM2: you can get dvorak sticker sheets on ebay for fairly cheap fwiw, if that helps to find the right keys during normal work
<gchristensen> use it for everything, not just courses
<jD91mZM2> That'd be nice, just scared of being unable to type my password. I don't have any stickers
<gchristensen> print out the map. you'll figure it out. SLOWLY, at first, but you'll figure it out.
<jD91mZM2> joepie91: I see, thanks, will have a look
<joepie91> jD91mZM2: make sure you get a sticker sheet that looks vaguely glossy, not normal-paper-y
<joepie91> otherwise it won't last longer than a week :D
* infinisil can't remember how he learned dvorak
<jD91mZM2> How important would you guys say it is to rest your fingers on the home row? Even with QWERTY I am not that rested when typing. It's bad but I make more mistakes when using my ring/pinky finger
<jD91mZM2> s/finger/fingers
<infinisil> What do you mean by using rink/pinky?
<infinisil> You're not using them normally?
<gchristensen> imo quite
<jD91mZM2> Not that much. I know it sucks, but I just never got used to it
<gchristensen> anyone want to do nix + haskell at iohk https://twitter.com/jb9i/status/1096076821777526784
<averell> why are you learning dvorak? i don't think it increased my speed, only comfort, and that means staying on the home row all day
<jD91mZM2> I want to try something new (although I suck at it)
infinisil has quit [Quit: Configuring ZNC, sorry for the joins/quits!]
<gchristensen> crippled-by-rsi here, not sure dvorak really helped
infinisil has joined #nixos-chat
<averell> i wonder if i should have gone for programmer-dvorak
<cransom> i realized earlier this week when trying out a non standard (ergodox) keyboard i have some really interesting brain damage. probably 10-15 years ago i tried a very exotic keyboard (datahand) and also switch to dvorak. I got to a point where i could kind of touch type but i gave it up. i tried typing on this other keyboard and my brain completely forgot how everything worked and it started reaching for
<cransom> dvorak keys.
<gchristensen> huh!
<gchristensen> ps, still have the datahands? :)
<cransom> no, someone coveted them way before you (because they already wore out theirs)
<gchristensen> awww
<jD91mZM2> In order to avoid stickers, and being a cool pure touch typer, would it be worth having a keybind to toggle dvorak so I can use it most of the time except for when I for some reason just need to type fast
<averell> sure, that's useful anyway. for example when you vnc or some other program that just maps directly and ignores your keymappings
<gchristensen> imo, no
<gchristensen> if you want to learn, commit
<averell> ok, that i agree with
<gchristensen> it is the moments you need to type fast that you learn the most
<jD91mZM2> I'm just scared of being unable to type my password heh
<jD91mZM2> I can't commit until I learn the whole keyboard, not just the home row
<gchristensen> you won't learn it that way, is what I'm saying.
<gchristensen> print out a map, switch to dvorak, and don't look back until you know dvorak
<jD91mZM2> Gotcha, thanks!
<gchristensen> it'll suck
<gchristensen> but you're training your mind, and immersion is the fastest and least painful way between here and there
<averell> especially if you spend hours logging in :)
<jD91mZM2> Haha, thanks
<gchristensen> even on my one-handed keyboard it doesn't take me more than 10min to log in... :)
<joepie91> lol
<averell> is it one-handed dvorak?
<gchristensen> no, it is right-handed maltron
<jD91mZM2> I'm wondering if I can blame my Asperger's on having a hard time learning this. Apparently less gets stored in the automatic memory, I learned in school
<gchristensen> maybe, but blame isn't going to help you learn it either :P
<jD91mZM2> No but it can help my self esteem :))
<averell> oh man that maltron looks ridiculous. but you should get another and dual-wield.
<gchristensen> definitely don't feel _bad_ about it, jD91mZM2
<joepie91> averell: kinda like the inverse of that NCIS(?) clip where they share a keyboard?
<joepie91> on a single computer
<gchristensen> hahaha
<gchristensen> averell: tragically I can't use it :( my right hand is the one with worse RSI
<joepie91> gchristensen: I don't recall if I've mentioned this before, but my RSI-y issues have significantly decreased since I switched to a keyboard with obscenely sensitive switches (MX Speed) for this reason
<joepie91> they're not the most satisfying switches to type on, but they certainly reduce the pressure needed
<gchristensen> hmm like reds
<gchristensen> mine are browns
<joepie91> yeah, they're similar to reds, except more sensitive
<joepie91> lol
<gchristensen> I wonder if I can convince Kinesis to build one for me
<infinisil> jD91mZM2: Well, just as another datapoint, I didn't really commit to dvorak at first but still learned it in the end :)
<joepie91> gchristensen: I do kind of miss the clicky thing though
<gchristensen> I like my keyboard to be as quiet as possible, becuase it is already annoying to be the guy with the kinesis :P
<gchristensen> thanks for the tip, I'll check it out! (if nothing else, I could hack one of my spares)
* joepie91 has heard of there supposedly being some chinese switches that are both extremely sensitive and clicky, still needs to look into that
<averell> not if you convert the rest of the office
<joepie91> gchristensen: mind that corsair previously had an exclusive license to use them, dunno if that's expired yet
* cransom imagines a cube farm of clicky keyboards and thousand yard stares.
<joepie91> if not, your only option is a rather overpriced corsair keyboard :p
<joepie91> I know it was a time-limited license but I don't recall for how long
<cransom> i don't have any one to annoy with a clicky keyboard, and i did have one that clicked mightily at one point in time but gave it up when ps/2 went away. i'm gonna fix that.
<joepie91> I work from home, so ¯\_(ツ)_/¯
<joepie91> people are more likely to complain about my music
<joepie91> and I have very noise-tolerant neighbours, apparently :P
<infinisil> joepie91: You're listening to music full blast when working?
<joepie91> infinisil: for some definition of "full blast", yes, but probably less loud than you're thinking :P
<joepie91> noise isolation is very poor here
<joepie91> so it doesn't take a lot
<gchristensen> I used to wear open-backed headphones at work
<gchristensen> what a mistake, I feel so bad about those years
endformationage has joined #nixos-chat
<gchristensen> oh that one has always been dreamy
<cransom> i'm contemplating on it. hand wiring is probably tedious in ways i might enjoy.
<gchristensen> cransom: can you send me any info on the magical ssh-agent pam auth?
<cransom> any magic i wield is in `security.pam.enableSSHAgentAuth`
<gchristensen> mind a PM?
<cransom> by all means.
<gchristensen> anyone want a cute fixer-upper in the same county I live? https://www.zillow.com/homedetails/60-Crofut-St-Pittsfield-MA-01201/55944121_zpid/
<cransom> a bargain at twice the price.
lassulus has quit [Ping timeout: 250 seconds]
lassulus has joined #nixos-chat
<infinisil> joepie91: You might want to give riot another chance now: "[...] and we’ve got dozens and dozens of stability and performance enhancements!" from https://medium.com/@RiotChat/the-big-1-0-68fa7c6050be
<joepie91> infinisil: yep, I've been getting live updates from a friend :) apparently it is genuinely faster
<tilpner> infinisil: #55775
<{^_^}> https://github.com/NixOS/nixpkgs/pull/55775 (by tilpner, 1 hour ago, open): riot-web: 0.17.9 -> 1.0.0
<tilpner> It's just a bump, there shouldn't be anything controversial
<infinisil> Oh nice
<tilpner> I tested it. Want to hit the button?
<infinisil> I'm gonna check it out myself quickly
<tilpner> python3 -m http.server works for testing
<infinisil> Ah right it's a web app
<tilpner> I plug that into nginx with a custom config.json, and then run it locally with chromium --app
<elvishjerricco> Anyone have an example of HTML that isn't valid XML? Trying to figure out any kind of precise reason that HTML isn't a subset of XML. So far all I've found is "HTML is for the web, XML is for data" but no actual technical description of the difference.
<cransom> i didn't think that was possible.
<gchristensen> HTML doesn't require tags to close
<cransom> sigh. thats why we can't have nice things.
<tilpner> Browser HTML parsers do horrible things to pretend your input is well-formed
<gchristensen> by-the-spec HTML doesn't require tags to close ;)
<elvishjerricco> gchristensen: Ah. You think it's mostly stuff like that then, such that writing XML using only valid HTML tags and attributes would be valid HTML?
<gchristensen> pretty much certain yeah
<elvishjerricco> Neat
<gchristensen> it'd be a real shame if they made it so an XML library couldn't emit HTML
<elvishjerricco> So in theory one could write a static site generator in Nix with builtins.toXML :P
<tilpner> D:
<gchristensen> dear god
<elvishjerricco> lol
<gchristensen> no I don't think so
<gchristensen> toXML can't emit arbitrary XML
<elvishjerricco> ah
<elvishjerricco> mostly joking anyway... mostly.
<infinisil> tilpner: Looking good :D
<tilpner> infinisil++
<{^_^}> infinisil's karma got increased to 53
<infinisil> I can't actually send anything because I can't join the channel for some reason, but that's probably an unrelated problem
<tilpner> Which channel? Did you login?
<joepie91> elvishjerricco: for the specifics - which I don't immediately recall - you should investigate HTML's origins in SGML and how /that/ is different from XML :)
<samueldr> elvishjerricco: from memory, a reason to shy away from XHTML was to ensure a big page being loaded could be eagerly rendered; you can't be sure an xml document is well-formed until the end
<samueldr> and it would have been entirely plausible to ask to not render an invalid xml document
<samueldr> I'm not saying here if it's right or wrong though, just something to keep in mind
<samueldr> (and uh, s l o w connections also benefit from eagerly rendering)
<elvishjerricco> samueldr: I guess that makes sense. I'm surprised it's that bad to optimistically eagerly render xhtml and error or backtrack when you find out you're wrong
<elvishjerricco> TIL changing perl requires rebuilding like all of nixpkgs. Why?
<samueldr> because of how many things near the root of stdenv having perl as dependency
<elvishjerricco> samueldr: does stdenv itself require perl to bootstrap?
<elvishjerricco> If so, that sounds like a bad thing
* samueldr actually doesn't know
<samueldr> not sure why it would be a bad thing per se, but can see how reducing deps is good
<elvishjerricco> samueldr: The fewer things that require stdenv rebuilds, the better. In an ideal world, there'd just be the C toolchain and bash
drakonis has joined #nixos-chat
<sphalerite> elvishjerricco: you think stdenv would still be using bash in an ideal world??
<sphalerite> :p
<elvishjerricco> Fair point :P
<elvishjerricco> however perl's not really better
jackdk has joined #nixos-chat
jasongrossman has joined #nixos-chat
<joepie91> help, I'm writing my JS like Nix code now
<gchristensen> oh?
<joepie91> tjere
<joepie91> oops
<joepie91> there's some distinct Nix-ness to this*
<joepie91> :P
<gchristensen> you nix2js'd the module system? :P
<joepie91> gchristensen: nah, this is a module system for a project I'm working on
<joepie91> though it does show suspicious similarities to that of nixpkgs
<joepie91> lol
<joepie91> gchristensen: basically, I'm trying to roll an application with Redux, and I was unhappy with the degree of tooling available
<joepie91> so I'm rolling my own abstractions now <.<
<joepie91> all this to create a chat application...
<gchristensen> gotta invent the universe
<joepie91> yep!
<joepie91> it does work quite well though
<joepie91> aside from the little bug I'm currently dealing with, that is
<joepie91> gchristensen: all of this is totally fake and not talking to a real server, but https://black-vampirebat-67.localtunnel.me
<joepie91> what I'm using the module system for right now is for implementing discrete bits of logic, mostly form handling logic for now
<gchristensen> hmm ublock didn't block anything butnothing shows up
<joepie91> like the 'add friend' form there
<joepie91> gchristensen: takes a while, localtunnel is slow
<gchristensen> ah :)
<joepie91> but yeah, enter some nonsense and invalid/existing values etc. and you'll see what I mean :P
<joepie91> bonus points if you have redux devtools
<joepie91> then you can see the underlying events it produces
<tilpner> Blocked loading mixed active content “http://localhost:3123/socket.io/?EIO=3&transport=polling&t=MZk7qkP
<joepie91> yeah, you can ignore that
<joepie91> that's just the livereload
<joepie91> it won't affect the workingness of the application
<joepie91> (basically, auto-refresh thingem when I change code)
<gchristensen> boy localtunnel is quite slow
<joepie91> yeah, it is, unfortunately
<joepie91> I need to set up my own lt server some time
<joepie91> or if you're trying to submit that form, that's a fake delay ;)
<gchristensen> I don't see any forms
<joepie91> it's still loading?
<gchristensen> you said it was, but the browser doesn't think so :)
<tilpner> Nothing here either
<joepie91> huh.
* joepie91 tries here
<joepie91> works here, after like 10 seconds
<joepie91> you're not blocking JS, right?
<tilpner> But you probably have the thing runnning on localhost
<gchristensen> nope, no blocked js
<joepie91> tilpner: all assets come from the localtunnel host, only the livereload tries to access localhost
<joepie91> and it worked for a friend of mine :P
<joepie91> so I wonder why it isn't working now
<gchristensen> I'm on FF if that helps
<joepie91> as am I
<joepie91> does bundle.js load in your network tab (devtools)?
<gchristensen> yeah
<tilpner> Yes
<tilpner> But the console has a bunch of errors
<joepie91> gchristensen: that... is a very strange error
<joepie91> hold on
<joepie91> gchristensen: can you screenshot the full stacktrace for that "b is undefined" error?
<joepie91> thanks
<joepie91> one moment...
<joepie91> gchristensen: ah, hold on, found the cause
<gchristensen> we hit an IRL case of a hard distributed computing problem
<gchristensen> "is it broken or still loading"
<joepie91> :)
<joepie91> gchristensen: the best part is that I had a FIXME about this very problem already, lol
<joepie91> gchristensen: tilpner: refresh
<joepie91> should work now
<joepie91> (the difference was that I have redux devtools and you do not :P)
<joepie91> (and my devtools injection code was wrong)
<tilpner> Still has the "The above error occurred in the <App> component:"
<joepie91> tilpner: what's the error it (is supposed to) point at?
<joepie91> may not necessarily be above
<joepie91> oh doh
<joepie91> now it should /really/ be fixed :P
<gchristensen> can you reproduce the breakage in dev tools?
<gchristensen> erm
<gchristensen> in private browsing
<emily> gchristensen: no https :'(
<joepie91> nope, firefox doesn't disable extensions in private browsing unfortunately
<joepie91> you're hitting a different code path because you have no devtools
<tilpner> Error: Expected the enhancer to be a function.
<joepie91> hm, hold on
* joepie91 just disables the devtools check
<gchristensen> emily: you'll love(hate) the reason why!
<joepie91> there we go, fixed
<joepie91> for real now, tested with devtools stuff disabled
<joepie91> for realsies real
<joepie91> :P
<tilpner> Oh, content!
<joepie91> (I should not be debugging isssues late at night, sorry!)
<gchristensen> neat!
<joepie91> but yeah, the 'add a friend' form totally lies about anything it says or does but it *does* do stuff!
* tilpner is Sven Slootweg
<joepie91> lol
gchristensen is now known as SvenSlootweg
<joepie91> excellent, that component has passed UX testing then
<tilpner> It says so. The text isn't selectable for some reason
<joepie91> selection is default-off
<SvenSlootweg> looks perfect to me!
<joepie91> still need to make some specific elements selectable
<elvishjerricco> Perl is a wopping 28M. Is there any way to make it smaller?
<joepie91> tilpner: need to disable selection for future drag-and-drop interactions; and "default selectable, specific things unselectable" makes for some really fun browser bugs, so instead I go for "default unselectable, specific things selectable"
<tilpner> elvishjerricco: Just 28? It says 57 here
SvenSlootweg is now known as gchristensen
<elvishjerricco> tilpner: I get 54 with `nix path-info -s`, but 28 with `du`
<jackdk> isn't that a modest webpage these days?
<tilpner> I remember using pkgsMusl.perl for lower closure size
<joepie91> gchristensen: anyway, the module system is behind the form doing things :P so it is inventing a universe indeed
jasongrossman has quit [Ping timeout: 250 seconds]
<elvishjerricco> On ZFS with compression, does `du` measure before or after ZFS's compression?
<gchristensen> nice, recursion-scheme-based frontend
<gchristensen> after
<elvishjerricco> oh
<gchristensen> use du --apparent-size
<elvishjerricco> that explains a lot :P
<tilpner> Yeah, this is still on ext4
<tilpner> Haven't gotten around to reinstalling this laptop yet
<gchristensen> ext4 is pretty good anyway
<tilpner> But compression is nice too
<tilpner> My rpool/var has compressratio 2.99x
<gchristensen> oh wow
<elvishjerricco> Man NixOS's use of perl may be the death of this fun little initrd project. Seems impossible to get a reasonable size with that in the mix :/
<gchristensen> rpool/root@garbage compressratio 4.20x -- nice
<tilpner> @garbage? Is that pre-wipe-on-boot?
<gchristensen> yeah
<tilpner> Wonder why it compresses so well
<tilpner> lz4?
<gchristensen> yep
<gchristensen> this one is good too: rpool/graham/deeply-compressed compressratio 3.56x --- but its gzip-9, so very slow to write
<tilpner> What do you store there?
<gchristensen> right now, just a dump from hydra's database
<tilpner> Ahh, a text SQL dump would compress well
<tilpner> Although for single files that you don't need to process it might be even better to compress the files manually
<gchristensen> yeah... mostly I was wanting to play with compression options :P
<joepie91> hm. I just made a significant change to my module loader, and... it seemed to work right away.
* joepie91 is supicious now
<cransom> my compressratios are not nearly that attractive. but 1.31x on a 2.8T share that's just full of mac backups is still some space savings.
<joepie91> suspicious, even
<gchristensen> cransom: most of my compression ratios are 1.00-1.01:P
<elvishjerricco> 1.58s for my root drive
<elvishjerricco> s/s/x/
<cransom> i have a dataset that is predominantly nars, has a great 1.00x record.
<gchristensen> stellar
<joepie91> gchristensen: have a stacktrace from hell: https://i.imgur.com/jXv8sqQ.png
<joepie91> :P
<tilpner> Already compressed NARs, right?
<cransom> yeah. all the nars are xz'd.
<gchristensen> joepie91: what is this, C++?
<tilpner> No, that would just segfault. If you're lucky
<joepie91> ^
<joepie91> gchristensen: admittedly part of the fault here lies with my sourcemaps being a bit jank for some reason
<joepie91> but there's some RxJs involved in one of my dependencies
<joepie91> and that always produces... interesting... stacktraces
<tilpner> Although it is appropriate to link this: https://tgceec.tumblr.com/post/107429634033/the-results-thus-far
<tilpner> "In the oneshot category the leading submission manages to achieve over 1.5 gigabytes of error. This is remarkable especially given that the source size is limited to 256 bytes."
<joepie91> hah
<gchristensen> hahaha
<gchristensen> we've proved C++ templates are turing complete, can we compute where the results are in the type error
<joepie91> "There were several interesting cheat attempts in this competition. For example did you know that in C++ digraph expansion happens after line continuation expansion? We sure did not."
<joepie91> lol
<joepie91> the things you can learn from these kind of competitioins...
<joepie91> "The best cheat went in a completely different direction, however. [...] When passed to the C++ compiler invocation line, this allows the shell code to escape the test harness sandbox. Extra credit for using Perl, which is the only language less readable than C++ templates."
<joepie91> yeah, there's some interesting approaches in there :P