gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
<lovesegfault> jeebus
<lovesegfault> lol
<lovesegfault> let's split it between nixos committers
<lovesegfault> as a christmas favor
<gchristensen> honestly just look at this page https://www.costco.com/fresh-food.html (
* lovesegfault salivates
<lovesegfault> I wish my wife allowed me to eat beef at home
<lovesegfault> or chicken
supersandro2000 has quit [Disconnected by services]
supersandro2000 has joined #nixos-chat
<gchristensen> ehh its better that way probably
kalbasit has joined #nixos-chat
<jtojnar> lovesegfault: missing wrapGAppsHook?
<jtojnar> though is it really using GTK3?
<jtojnar> no, it looks like it uses GTK 2
<jtojnar> through WxWidgets
<jtojnar> (the 31 in wxGTK31 refers to WxWidgets version, not GTK version)
<lovesegfault> jtojnar: Oh, so it's gtk2?
<jtojnar> yeah, I do not think we wxGTK defaults to GTK 3 yet
<jtojnar> (there was a stale PR but it was closed with advice to port individual packages IIRC)
<lovesegfault> giving it a shot by using wxGTK31-gtk3
<lovesegfault> let's see if it builds
<jtojnar> you will also likely want wrapGAppsHook
<lovesegfault> ah
<lovesegfault> unfortunate
<jtojnar> the Adwaita theme is built into GTK 3 these days but you still need librsvg for rendering icons in GTK interface and settings schemas for file dialogues (if wxGTK uses file dialogues from GTK)
<jtojnar> try to patch that line 😛
<lovesegfault> yup
__monty__ has quit [Quit: leaving]
<lovesegfault> it's building
<lovesegfault> let's see
<lovesegfault> jtojnar: it works! :D
<lovesegfault> trying super-slicer to make sure
rajivr has joined #nixos-chat
kalbasit has quit [Ping timeout: 256 seconds]
dada_da has quit [Ping timeout: 256 seconds]
dada_da has joined #nixos-chat
<gchristensen> re the `command` stuff in #Nixos ...
<gchristensen> it is fun to know you can define your own function called command and override it: (command() (echo "$@" | rev); command time) -> emit ... fixable, by calling `builtin command time1
<gchristensen> (command() (echo "$@" | rev); builtin command time) -> time: missing program to run
<gchristensen> ....unless......... (builtin() (echo "$@" | rev); command() (echo "$@" | rev); builtin command time) -> emit dnammoc
<samueldr> shoot, you got there faster
<samueldr> you could use `env time`
<samueldr> unless `env() { ...; }`
<samueldr> but since /usr/bin/env is a known stable interface
<samueldr> ~ ⬤ /usr/bin/env echo oh no
<samueldr> lol
<gchristensen> ...unless.................
<samueldr> /usr/bin/env() { echo lol; }
<gchristensen> shell is so beautiful
<samueldr> to be clear, the `lol` was the output of the command
<infinisil> Defining builtins is also the weakness of nixbot :(
<infinisil> Or nix in general
<samueldr> namespacing is hard
<infinisil> Maybe Nix should just not let people define builtins
<samueldr> it's not specific to any language
tilpner_ has joined #nixos-chat
tilpner has quit [Ping timeout: 246 seconds]
tilpner_ is now known as tilpner
<abathur> I suspect some people think I'm being like, "well, ackshually", but the shell intros I've written cover the concept of command types (at least builtin and external) pretty early
<abathur> mostly because, especially for the builtins that shadow standalone commands, not even knowing the distinction exists just sets you up to be confused and frustrated when behavior doesn't match the manpage or examples you find online
<abathur> and makes it impossible for you to actually find the correct documentation
<abathur> speaking of shell, and risking samueldr's scorn, I could use a little narrow feedback on the grokkability of 3 small bash PR review suggestions (details in #nixos-dev)
<samueldr> meh lol, it's fine to ask like that
<abathur> <3 samueldr
<{^_^}> samueldr's karma got increased to 300
<samueldr> what's important is that the on-topic discussions don't happen here
<gchristensen> and that it not become a secret support channel
<abathur> nod
Emantor has quit [Quit: ZNC - http://znc.in]
<drakonis> isnt this the cool kids club already?
<abathur> RiiR: rewrite it in roff?
Emantor has joined #nixos-chat
<abathur> not sure if it is the cool-kids club; I think I just use it like I'm probably supposed to use Twitter
<abathur> (and meanwhile find it impossible to figure out what to tweet)
<abathur> gchristensen: mulling your report on resholve giving you a dynamic command (first-word variable) warning for "$newsyspath/sw/bin/nixos-version"
<abathur> I imagined something like "$newsyspath arg1 arg2" when I wrote the warning, and had been planning to turn it into an error you could ignore with "--keep '$newsyspath'", but I haven't decided what to do about your partial-first-word-variable case...
cole-h has joined #nixos-chat
<abathur> I could just expand the semantic a bit, "allow $variable anywhere in a first-word (and do not resolve it)"
<abathur> but it could be a fairly broad exemption... for example if someone declares busybox=/path/to/busybox/bin and then invokes a few dozen executables as $busybox/blah
<abathur> "--keep '$newsyspath/sw/bin/nixos-version'" might be doable, but it'd make the busybox example very naggy
red[evilred] has quit [Quit: Idle timeout reached: 10800s]
rnea has quit [Ping timeout: 246 seconds]
ekleog has quit [Ping timeout: 244 seconds]
ekleog_ has joined #nixos-chat
<lovesegfault> Somehow every time I sit down to write Rust for fun I need either const generics or GATs
<lovesegfault> :(
leonardp has quit [*.net *.split]
worldofpeace has quit [*.net *.split]
philipp[m] has quit [*.net *.split]
betawaffle has quit [*.net *.split]
cbarrett has quit [*.net *.split]
ghuntley has quit [*.net *.split]
taktoa[c] has quit [*.net *.split]
f0x has quit [*.net *.split]
etu has quit [*.net *.split]
Shados has quit [*.net *.split]
tazjin has quit [*.net *.split]
<insep_> write d
taktoa[c] has joined #nixos-chat
ghuntley has joined #nixos-chat
cbarrett has joined #nixos-chat
betawaffle has joined #nixos-chat
worldofpeace has joined #nixos-chat
leonardp has joined #nixos-chat
philipp[m] has joined #nixos-chat
Shados has joined #nixos-chat
tazjin has joined #nixos-chat
etu has joined #nixos-chat
f0x has joined #nixos-chat
betawaffle has quit [Ping timeout: 244 seconds]
betawaffle has joined #nixos-chat
MichaelRaskin has quit [Ping timeout: 240 seconds]
waleee-cl has quit [Quit: Connection closed for inactivity]
<bbigras> are const generics in rust nightly yet?
clever_ has joined #nixos-chat
<lovesegfault> Still feature gated
clever has quit [Ping timeout: 240 seconds]
<bbigras> with `#![feature(async_closure, drain_filter)]`? I use those in prod all the time.
<bbigras> I mean with the `feature` thing.
endformationage has quit [Quit: WeeChat 2.9]
<lovesegfault> No, it's gated behind min_const_generics
<lovesegfault> We use those in prod too, lol
<bbigras> hehe
<insep_> etu: so how was this day's task?
spudly1 has quit [Ping timeout: 260 seconds]
spudly has quit [Ping timeout: 246 seconds]
spudly has joined #nixos-chat
<etu> insep_: It was fun!
<etu> insep_: I much preffered todays to yesterdays
<insep_> same
<insep_> but mainly because i did similar task before
<insep_> where you have input and you have to binary search the answer
spudly1 has joined #nixos-chat
cole-h has quit [Ping timeout: 264 seconds]
supersandro2000 has quit [Quit: The Lounge - https://thelounge.chat]
supersandro2000 has joined #nixos-chat
spudly has joined #nixos-chat
spudly has quit [Changing host]
risson has quit [Quit: pouet]
risson has joined #nixos-chat
MichaelRaskin has joined #nixos-chat
tilpner_ has joined #nixos-chat
tilpner has quit [Ping timeout: 260 seconds]
tilpner_ is now known as tilpner
Armin[m] has left #nixos-chat ["User left"]
balsoft has quit [Quit: Idle for 30+ days]
clever_ has joined #nixos-chat
clever_ has quit [Changing host]
clever_ is now known as clever
clever_ has joined #nixos-chat
clever_ has quit [Changing host]
clever_ has joined #nixos-chat
clever has quit [Disconnected by services]
clever_ is now known as clever
waleee-cl has joined #nixos-chat
__monty__ has joined #nixos-chat
<srhb> Has anyone tried out zstd vs lz4 on zfs yet? Any verdict on /nix/store performance/capacity differences?
<pie_> so it turns out the grant is actually not that great...
<pie_> fml and here it thought we can pull off some good stuff
<pie_> the money has to be spent through the university and you cant buy IT hardware because government administrative reasons
ashkitten has quit [Ping timeout: 272 seconds]
<Mic92> srhb: compression ratio 1.86x zroot/root/nixos for lz4
liff has quit [Ping timeout: 272 seconds]
ashkitte1 has joined #nixos-chat
liff has joined #nixos-chat
cirno-999 has quit [Ping timeout: 272 seconds]
<srhb> Yeah, I'm about the same for lz4. I think zstd is probably not worth it for the store, since I'm limited by other facts in write speed, and want the faster read from lz4. So probably sticking to it :)
cirno-999 has joined #nixos-chat
<tilpner> How fast is your storage device, that lz4 would read faster than zstd?
<__monty__> srhb: Can't you switch temporarily? New stuff would be compressed with zstd and old stuff only recompressed when written again? Not like you have to recompress everything in advance.
<srhb> __monty__: Yes, indeed.
<__monty__> Do it, do it! \o/
<srhb> tilpner: Good point, I may have the cycles to spare.. Maybe I should just test this instead of being lazy :P
<tilpner> zstd-2 supposedly decompresses at 550MB/s
<__monty__> Come on people, join in on the group pressure!
<__monty__> *Peer* pressure's the word I was looking for.
<tilpner> (Single benchmark, different data, YMMV, blah blah blah)
<srhb> Sunday project probably then. ;-) I just did my bi-yearly garbage collect, so now was a good time to make changes.
<tilpner> Also, that was the compression speed chart
<tilpner> These are probably somewhat better: https://github.com/openzfs/zfs/pull/9735#issuecomment-570082078
<omnd> So yubikey gpg seems to still be a no go with apple NFC.. fking apple open up NFC access so people can develop good solutions, geez.
<MichaelRaskin> Can any non-Apple people develop solutions that Apple would admit are good, though?
<infinisil> Wow, I somehow managed to pretty much throw everything on my nightstand on the ground this night
red[evilred] has joined #nixos-chat
<red[evilred]> flailing in the middle of the night?
<infinisil> I have no recollection of any of this happening
<infinisil> Included was a ~1 liter jug of water
<red[evilred]> ooh
<red[evilred]> jug implies not sealed :-/
<infinisil> Yup!
<infinisil> Fortunately pretty much all the water was absorbed into a bag that was lying on the ground
<red[evilred]> yeah - that is lucky
<bbigras> damn
<red[evilred]> thjere isn't a single day that goes by that I don't knock over a drink on my work desk
<infinisil> That's rough, gotta improve your drink placement!
<red[evilred]> it's reached the point where now I want to drill a hole in the desk to slide my cup onto
<infinisil> Or to have a fluid-absorbent desk!
<infinisil> Imagine being able to spill and it would just sink in
<bbigras> and you could wash your desk with a water hose
<red[evilred]> See - that's what makes you such a great developer. Thinkiing outside the box.
<infinisil> lol
<red[evilred]> also - I just bought an IBM Wheelwriter 6
<red[evilred]> so I don't have much of a desk left
<infinisil> Whoa, looking that up, why would you want to get that?
<bbigras> hispters
<red[evilred]> I want to convert it to a teletype to run some of my older machines
<bbigras> oh cool
<red[evilred]> I chose that specific range because its keyboard is literally an IBM Model M
<patagonicus> red[evilred]: Nice <- typed on a Model M :D
<omnd> MichaelRaskin, heh.. when the iphone was released it didnt even come with a manual.. which is cool af
<omnd> pretty self explanatory, and the other things are easy for anyone to learn/use
<joepie91> red[evilred]: my desk actually came with cup holders lol
<red[evilred]> patagonicus (IRC): I have a think for old keyboards
<red[evilred]> thing
<red[evilred]> even
<red[evilred]> but I confess, this is the only Model M I have
<red[evilred]> I have standardized on the Model F
<patagonicus> I don't, that much, but this Model M used to be my father's and I really like the typing feel, so I use it at home (which, now, also means for work). Plus I like that it's older than me.
<red[evilred]> (which was its predecessor)
<bbigras> I would like to try a modern non-loud mechanical keyboard one day.
<patagonicus> We used to have one of the electronic IBM typewriters in the office, I had some fun playing around with that and figuring out how the form templates work and stuff. I wanted to write an actual letter on it, but then corona hit.
<red[evilred]> there is a website that collects Model Ms so they can sell ones that were manufactured on the buyer's birthday
<patagonicus> The letter was to unsubscribe from an IBM email newsletter, fittingly. They did specify in the email that you could unsubscribe sending a letter to their office in the US.
<patagonicus> red[evilred]: Oh, nice. A friend of mine bought a Model M off of ebay because it was one day off of his birthday. Was close enough for him.
<red[evilred]> Oh - that would have been hillarious
<patagonicus> Yeah. Although, for some reason, I don't seem to get the newsletter anymore, even though I didn't unsubscribe.
<red[evilred]> Well, I was born pre-IBM... so... can't do that
<red[evilred]> the oldest keyboard I have is the BeamDesk[tm]
<red[evilred]> (minus the desk)
<patagonicus> Wow
<MichaelRaskin> omnd: Apple products are really horrible at one step off the exact expected environment, for the same reason…
<red[evilred]> that machine was between punchcards and tape/disk
<red[evilred]> it took an 8" floppy disk
<red[evilred]> each sector on a floppy was equivalent to one punchcard
<red[evilred]> and what that station did was let you binary edit individual sectors on a said floppy disk
<red[evilred]> no concept of filesystem
<red[evilred]> you'd skip sector to sector
<bbigras> It's me or flakes fail to build randomly with "unexpected end-of-file" sometimes?
<tilpner> bbigras: During substitution?
<bbigras> tilpner: oh I lost the job since I restarted the github workflow run. Not sure what "substitution" means. and I don't remember where it failed. but it seems to be working on the 2nd run. I also had this on my desktop in the past (didn't build on 1st run).
<tilpner> I've seen that error while fetching inputs on flaky networks, though I would hope GH actions has a better connection than I did
<bbigras> gotcha. thanks
rnea has joined #nixos-chat
cole-h has joined #nixos-chat
kalbasit has joined #nixos-chat
cole-h has quit [Ping timeout: 260 seconds]
<MichaelRaskin> Take: vcs diff is not selv-evidently an always-read-only operation
kalbasit has quit [Ping timeout: 240 seconds]
red[evilred] has quit [Quit: Idle timeout reached: 10800s]
<viric> MichaelRaskin: any advice for a simple CI solution? Keep logs, spawn tasks to remote computers, ... I'll try to build something adhoc with makefiles and some simple golang webserver
<MichaelRaskin> I think that logs and task offloading are there in Nix?
<MichaelRaskin> I don't use any full-cycle CI, no
<viric> it's a terrible world in a terrible state, that of CI
<viric> (or, at least, very unfit to what I want)
<MichaelRaskin> All VCSes are going in all the wrong directions
<__monty__> MichaelRaskin: Is that comment prompted by any recent developments?
<viric> MichaelRaskin: agreed
<MichaelRaskin> __monty__: nope
<viric> MichaelRaskin: they generate dependency on mess that someone else will service to solve
<viric> VCS economy
<MichaelRaskin> The problem is deeper
<MichaelRaskin> Their model of the world is insufficient to be a robust foundation
<__monty__> Wait, do you mean VPS? Or version-control software?
<MichaelRaskin> Version control systems
<viric> but monotone was not much better, was it?
<MichaelRaskin> Significantly better, actually. But of course not the full way
ashkitte1 is now known as ashkitten
rajivr has quit [Quit: Connection closed for inactivity]
<__monty__> Is there anything specific monotone did better?
<MichaelRaskin> Proper layering
<MichaelRaskin> There are states of files, there are revisions built of files and then there are signed claims about revisions
<MichaelRaskin> Which are also extensible
<viric> yes, quite good
<viric> now, where I store the claims is my problem. But I need a CI as in "trigger build & tests for multiple archs using, likely, remote computers"
<viric> I wrote a tool I couldn't find... that I wanted to use with ssh.
<viric> I have it but maybe you can tell me if this existed.
<viric> Can you figure out how it works by this example?
<viric> $ (./pmux -c TEXT ls ; ./pmux -c ZIP gzip -c pmux) | ./pmux -d TEXT 1 ZIP 4 4> x.gz
lopsided98 has quit [Ping timeout: 260 seconds]
lopsided98 has joined #nixos-chat
<MichaelRaskin> Distributing work does sound like something Nix would do fine, even though it is not too lightweight
<viric> I think that I can do enough with a Makefile (make -j) calling ssh... I have yet to reach a wall. :)
<__monty__> Sounds like reinventing ansible.
<viric> I have the belief that something adhoc for the case will be easier to understand than adopting a big tool
<viric> sometimes I have to give it a try and then compare.
<{^_^}> radareorg/radare2#17980 (by FFY00, 1 week ago, merged): fortunes: remove nsfw and creepy fortunes
<joepie91> that's another project to avoid I guess
<viric> because of the removal or because of having them? :)
<joepie91> neither
<joepie91> because of the way thestr4ng3r appraoched the issue
<joepie91> approached*
<joepie91> "I won't remove this thing unless someone can prove to me that OpenCollective disallows it" is, uh... yeah
<joepie91> a flag of the color red :P
<viric> I never heard of opencollective
<joepie91> fundraising thingem
<viric> ahh
<viric> how did you get to that?
<viric> to radare I mean
<joepie91> viric: thread was linked elsewhere
<joepie91> but also I'd been keeping a distant eye on radare in the hopes that it would become useful at some point
<viric> I'm close to trufae; I'll ask what happened - maybe he got into some hall of fame
<gchristensen> adisbladis: did that question make any sense or not really?
emily has quit [Ping timeout: 240 seconds]
leons has quit [Ping timeout: 244 seconds]
aterius has quit [Ping timeout: 244 seconds]
arcnmx has quit [Ping timeout: 244 seconds]
kraem has quit [Ping timeout: 244 seconds]
siraben has quit [Ping timeout: 244 seconds]
jtojnar has quit [Ping timeout: 244 seconds]
LinuxHackerman has quit [Ping timeout: 246 seconds]
ma27[m] has quit [Ping timeout: 246 seconds]
lovesegfault[m] has quit [Ping timeout: 246 seconds]
worldofpeace has quit [Ping timeout: 244 seconds]
philipp[m] has quit [Ping timeout: 244 seconds]
crazazy[m] has quit [Ping timeout: 240 seconds]
vaibhavsagar has quit [Ping timeout: 240 seconds]
rycee has quit [Ping timeout: 240 seconds]
CRTified[m] has quit [Ping timeout: 264 seconds]
Ox4A6F has quit [Ping timeout: 264 seconds]
Irenes[m] has quit [Ping timeout: 244 seconds]
jdnixx-M1 has quit [Ping timeout: 244 seconds]
leonardp has quit [Ping timeout: 244 seconds]
danielrf[m] has quit [Ping timeout: 260 seconds]
colemickens has quit [Ping timeout: 260 seconds]
thefloweringash has quit [Ping timeout: 268 seconds]
bbigras has quit [Ping timeout: 268 seconds]
nicolas[m] has quit [Ping timeout: 268 seconds]
pinage404[m] has quit [Ping timeout: 268 seconds]
manveru[m] has quit [Ping timeout: 260 seconds]
ky0ko1 has quit [Ping timeout: 260 seconds]
aaronjanse has quit [Ping timeout: 246 seconds]
puzzlewolf has quit [Ping timeout: 246 seconds]
insep_ has quit [Ping timeout: 246 seconds]
artturin has quit [Ping timeout: 246 seconds]
aanderse has quit [Ping timeout: 268 seconds]
DavHau[m] has quit [Ping timeout: 246 seconds]
Hm7000 has quit [Ping timeout: 260 seconds]
danderson[m] has quit [Ping timeout: 244 seconds]
JJJollyjim has quit [Ping timeout: 244 seconds]
lopsided98 has quit [Ping timeout: 264 seconds]
lopsided98 has joined #nixos-chat
lopsided98 has quit [Read error: Connection timed out]
lopsided98 has joined #nixos-chat
<MichaelRaskin> gchristensen : I wonder what your opinion is on the vcs-diff-not-always-readonly take. On one hand, state, on the other, you want VCSes to understand what people want from patches…
LinuxHackerman has joined #nixos-chat
artturin has joined #nixos-chat
DavHau[m] has joined #nixos-chat
jdnixx-M1 has joined #nixos-chat
kraem has joined #nixos-chat
leonardp has joined #nixos-chat
philipp[m] has joined #nixos-chat
crazazy[m] has joined #nixos-chat
ma27[m] has joined #nixos-chat
worldofpeace has joined #nixos-chat
lovesegfault[m] has joined #nixos-chat
jtojnar has joined #nixos-chat
leons has joined #nixos-chat
emily has joined #nixos-chat
vaibhavsagar has joined #nixos-chat
CRTified[m] has joined #nixos-chat
insep_ has joined #nixos-chat
pinage404[m] has joined #nixos-chat
Ox4A6F has joined #nixos-chat
puzzlewolf has joined #nixos-chat
aterius has joined #nixos-chat
ky0ko1 has joined #nixos-chat
siraben has joined #nixos-chat
arcnmx has joined #nixos-chat
Irenes[m] has joined #nixos-chat
rycee has joined #nixos-chat
nicolas[m] has joined #nixos-chat
thefloweringash has joined #nixos-chat
evanjs has quit [Quit: ZNC 1.8.2 - https://znc.in]
danielrf[m] has joined #nixos-chat
bbigras has joined #nixos-chat
danderson[m] has joined #nixos-chat
Hm7000 has joined #nixos-chat
evanjs has joined #nixos-chat
manveru[m] has joined #nixos-chat
colemickens has joined #nixos-chat
aanderse has joined #nixos-chat
aaronjanse has joined #nixos-chat
<{^_^}> dunst-project/dunst#781 (by fwSmit, 1 week ago, open): Add wayland support
<ashkitten> lovesegfault: did you ever figure out your networking issue?
<lovesegfault> ashkitten: never
<lovesegfault> I think I'm just going to get a new router next year or something
<lovesegfault> I really don't know why this thing is acting like this
<ashkitten> :(
omnd has quit [Ping timeout: 256 seconds]
julm has quit [Ping timeout: 256 seconds]
<viric> lovesegfault: what problem? I played with damn routers these days
<viric> MichaelRaskin: what is that about vcs-diff-... ?
<MichaelRaskin> see back log: I said that VCS diff command is not obviously and universally read-only
<viric> my isp wants pppoe over tagged vlan 24, on the ethernet link with the fiber modem. But it seems that it doesn't like vlan-tagged ethernet packets of 64-bytes (the minimum frame). It wants packets of 68-bytes (64-byte minimum ethernet frame + vlan tags). SOME hardware tag that way, but the standard says that 64-bytes is the minimum.
<viric> MichaelRaskin: maybe I was on netsplit?
<viric> 17:51 < MichaelRaskin> Take: vcs diff is not selv-evidently an always-read-only operation
<viric> ahhh
<viric> read-only as on disk file backend of the VCS?
<energizer> MichaelRaskin: do you have a blog or something? i like reading your opinions
<MichaelRaskin> Well, of course backend might end up doing some caching. But not even semantically read-only
<MichaelRaskin> No, I do not have any blog.
<lovesegfault> viric: it's a bit of a long story to explain, I can link you to the logs here where we tried to debug it if you're interested?
<viric> lovesegfault: sure
<lovesegfault> tl;dr: scp from machine A -> B is slow, but if you add a machine in the middle, A -> B -> C, it's fast
<viric> lovesegfault: all in lan?
<viric> what are the numbers of slow/fast?
<lovesegfault> it starts there
julm has joined #nixos-chat
<lovesegfault> Down in the convo there were a bunch of measurements we took while debugging
<viric> aha
evanjs has quit [Read error: Connection reset by peer]
evanjs has joined #nixos-chat
<viric> lovesegfault: 'C' is beyond internet or in the LAN?
<lovesegfault> I wrote it incorrectly above, so the scenario is:
<lovesegfault> A --5GHz-->Router--2.5Gbps-eth--> B is slow
<lovesegfault> BUT
<lovesegfault> A --5GHz-->Router-->VPN-->Router-->2.5Gbps-eth--> B is fast
<viric> the tcp window will go down fast and rise slowly
<lovesegfault> what's a tcp window
<viric> if you have packet loss because of too much ack, let's say, it can kill it
<viric> :)
<lovesegfault> You're going in over my head :P
<lovesegfault> I know very little about networking
<lovesegfault> I really should learn
<viric> 1st, are you using 1500 bytes MTU?
<viric> ifconfig wlan0 says "mtu 1500" in 1st line?
<lovesegfault> YUp
<viric> ok
<lovesegfault> On both A and B
<lovesegfault> Well, eth0 for B but still
<viric> ok let's try this
<viric> hmmm this matches what I'd try: https://wwwx.cs.unc.edu/~sparkst/howto/network_tuning.php
<viric> copy&paste the bottom block
<viric> you can try 16MB instead of 8 also. But you should see a big improvement already
<viric> ^ lovesegfault
* lovesegfault tries
<lovesegfault> on both machines?
<viric> both, yes
<viric> that is not persistent - rebooting will clear this out
<lovesegfault> I'm adding it to boot.sysctl
<viric> "TCP window" is the amount of bytes one system will sent while the other system has not yet acked. If the window is forced with a small max and the link is fast, the other system will send tons of ACK that can cause packet loss
<viric> (in a link that is not full duplex, like may be your wifi)
<viric> lovesegfault: route flush is not a setting, but rather a trigger. No need to have it on boot sysctl I think
<lovesegfault> alright, set on both machines
<lovesegfault> let's try this out
<viric> If it doesn't work I don't have more ideas.
<lovesegfault> viric: nope, it's slow :D
<viric> meh
<lovesegfault> it truly is a mystery
<viric> When the link is slow....
<viric> Can you give the connection data in "ss -t -i" ?
<viric> (during it being slow)
<lovesegfault> Sure, one second
<viric> there is only one ssh with retrans
<viric> is that the receiving side?
<lovesegfault> (the machines are and fwiw)
<lovesegfault> Sender side
<lovesegfault> ( -wifi-> router -eth->
<viric> clear
<viric> many retransmissions
<viric> lovesegfault: if packets are lost, that's detected as "congestion", and TCP drastically reduces speed to avoid saturating the link (& losing packets), and then it slowly increments... until it hits another loss and goes down again. It should, though, stabilise at a pace that works.
<viric> Reducing speed in TCP is equivalent to "Reducing the flying-data window size"
<lovesegfault> I see
<lovesegfault> Hmm
<lovesegfault> Can I configure the kernel to "gotta go fast"
<lovesegfault> and not throttle on retransmission
<__monty__> Sounds like asking for congestion.
<viric> lovesegfault: can you try sysctl -w net.ipv4.tcp_slow_start_after_idle=0
<lovesegfault> testing
<lovesegfault> Still only seeing ~9MB/s
<lovesegfault> vs. 58.2MB/s going through my VPN
<viric> amazing
<viric> in fact increasing the windows we won't stop the remote side from sending acks...
<lovesegfault> Whoever solves this will be crowned king of the networks
<viric> lovesegfault: is this only ssh?
<lovesegfault> so, if I do `ssh cat /dev/urandom | pv > /dev/null` I see the full 60MB/s
<lovesegfault> only scp and rsync slow down
<viric> it may be TCP_NODELAY... I'm checking what ssh does
<viric> lovesegfault: your ssh command is the other direction, .3 sending, right?
<viric> interesting problem - no clue
<lovesegfault> Nope, .7 sending, .3 receiving
<lovesegfault> I can try the other way
<bbigras> I'm guessing you are not using compression with ssh. Which could slow down I think (on a fast link).
<lovesegfault> Nope
<viric> lovesegfault: ssh .3 cat random | pv> /dev/null is 3 sending
<lovesegfault> Oh, yeah, sorry, I had it swapped in my head
<lovesegfault> maybe that's it
<viric> ?
<lovesegfault> let me try to do that in .3
<lovesegfault> so that .7 is sending
<lovesegfault> It's slow!!
<lovesegfault> !!!!!!
<viric> lovesegfault: < /dev/urandom | pv | ssh .3 "cat >/dev/null2
<lovesegfault> so .3 -> .7 is fast
<viric> 2 is "
<lovesegfault> .7 -> .3 is slow
<lovesegfault> Yup, I get around 9MB/s
<lovesegfault> vs ~60MB/s in the other direction
<lovesegfault> the plot thickens!
<viric> maybe you have an asymmetric wifi link?
<MichaelRaskin> So assuming Ethernet is fine, .7 on WiFi is better at receiving than at sending
<lovesegfault> What does that mean?
<viric> I don't know if that exists
<viric> lovesegfault: maybe your router can send through 16 wifi channels and receive through 2
<MichaelRaskin> Every WiFi link is asymmetric if AP just pumps a ton of power without having some magic-level antenna
<lovesegfault> MichaelRaskin: wifi is slower by 10x?
<lovesegfault> sorry, sending is 10x slower than receiving?
<samueldr> "no one uploads anything ever" thinking?
<MichaelRaskin> Not literalluy ten times slower
<MichaelRaskin> Just packet loss
<viric> https://en.wikipedia.org/wiki/IEEE_802.11ac-2013 Downlink multi-user MIMO
<lovesegfault> Should I just disable MU-MIMO?
<viric> you have those settings?
<lovesegfault> Yup
<viric> I guess that will make all slower. Not sending faster.
<viric> So, you were not testing LAN vs Internet, but Sending vs Receiving?
__monty__ has quit [Quit: leaving]
<lovesegfault> I suppose so
<viric> /o\
<lovesegfault> I think none of us thought about it being a directional issue
<viric> you were explicit on the directions I think :)
<viric> A to B
<lovesegfault> Oh MU-MIMO is disabled
<lovesegfault> I have beamforming and AX (OFDMA) enabled though
<MichaelRaskin> Which might make router better at sending but not at receiving
<viric> 9MB/s router receiving is poor though, these days, isn't it?
<lovesegfault> Right, I think it's still subpar
<viric> no idea.
<viric> "In the older WLAN standard (802.11ac) only single-user station is allowed to transmit ..."
<viric> no idea how it is so bad as 9MB/s though
<lovesegfault> FTR this is a tri-band router with wifi-6
<lovesegfault> maybe it's my laptop with it's now-old wifi card
evanjs has quit [Quit: ZNC 1.8.2 - https://znc.in]
evanjs has joined #nixos-chat