<infinisil>
Oh yeah, but like, arbitrary composition
<immae>
(maybe not sparkle + unicorn, sure)
<cole-h>
Upside of GitHub being busted: I fixed alerting for when stuff goes wrong in ofborg!
<cole-h>
(because I was able to actually test it with all those new purple labels)
<gchristensen>
<3
<cole-h>
Downside is: it uses Discord notifications because it was the easiest for me to setup... :P
<cole-h>
But I had to disable the fancy graphs, because Grafana would timeout uploading those it seems ;d
cole-h has quit [Quit: Goodbye]
cole-h has joined #nixos-chat
slack1256 has quit [Remote host closed the connection]
<LnL>
urgh, just got a reminder to go to the dojo :(
<gchristensen>
oh I didn't know you practiced!
<LnL>
guess I'll delete another month...
<gchristensen>
LnL: if it were my own calendar entry, I'd just delete it from all future months with the idea that once I can go, I'll be really excited to add it back
<gchristensen>
and in the mean time it isn't torturing me :(
<LnL>
yeah maybe I should
<LnL>
it's probably going to be about the last thing to resume
<cole-h>
Man, I have this plastic chair mat, but it has a fairly large dip in it, so my chair keeps sliding back :(
<gchristensen>
ouch
<cole-h>
So my posture gets progressively worse as I stop fighting against it
<gchristensen>
yeah that is real hard
<cole-h>
And then I notice pain in my back and sit back up for a few minutes...
<__monty__>
Can you move the mat closer to the desk?
<__monty__>
Rotate it 180° maybe?
<cole-h>
I do, every so often. And then somehow it slides back to where it's out of alignment
<cole-h>
And I can't rotate because it has a little tongue thing that goes under the desk (my desk is kinda angled, so that's the only way it fits)
<__monty__>
Can you put another mat on top, behind the chair so it won't roll over? Or a box or something so you physically can't roll backwards?
<cole-h>
Maybe I should just buy another mat... I don't have enough space to try putting something heavy enough on the spot, since it's basically right in the center
thibm has quit [Quit: WeeChat 2.6]
<__monty__>
No mat you can overlap? That'll at least give you a cue if not outright stop you.
<cole-h>
Mm, smart. I'll look for one.
<cole-h>
__monty__++
<{^_^}>
__monty__'s karma got increased to 14
waleee-cl has joined #nixos-chat
<gchristensen>
it is snowing
<cole-h>
What is this "snow" you speak of?
<pie_[bnc]>
apparently some fireworks jsut started here
<pie_[bnc]>
the flat is facing the wrong way to see anything though
<gchristensen>
snowing up there for you, samueldr?
<eyJhb>
Anyone used K6 before? Trying to use it with WS, but it will always show the duration te be 2s, even if it DC instantly
<gchristensen>
K6, WS, DC...
<samueldr>
gchristensen: rain
<eyJhb>
K6 -> load testing framework (the name), ws -> websockets, dc -> disconnect
<eyJhb>
sorry
<eyJhb>
gchristensen: if you have never heard of k6, I recommend you try it. Really nice
<gchristensen>
nice, cool
<gchristensen>
last I did load testing I think I used bees with machine guns
<cole-h>
Hahahaha
parsley936 has quit [Remote host closed the connection]
<MichaelRaskin>
Loading a machine gun is indeed quite a test for a bee!
<samueldr>
genuinely curious: what more would it give us, other than showing we can host it?
<samueldr>
are there considerations with point of presence on different continents we'd have to think about?
<__monty__>
Wouldn't it be like having an irc channel?
<__monty__>
An official place to rendezvous?
<joepie91>
__monty__: no, it's more like running an IRC network
<yorick>
possibly less lag
<samueldr>
yeah, I was more curious about the overall admin of a jitsi instance, I know what it means socially :)
<samueldr>
though jitsi AFAIUI doesn't have a concept of long-running rooms or anything like that
<MichaelRaskin>
I think as long as there is no private fiber, PoPs won't help much as they still need to be connected?
<samueldr>
so I don't know that there are advantages socially other than branding
<samueldr>
MichaelRaskin: no idea, that's why I'm asking
<samueldr>
I don't even know if jitsi's main instance has
<MichaelRaskin>
There is also BBB
<samueldr>
that one is more interesting for "show and tell" type things imo
<MichaelRaskin>
So nice to have a recording of voice + slides as you know, voice + slides (and not a huge video)
<samueldr>
I do have some problems with the main jitsi instance, where screen sharing stops working well the more people are on
<samueldr>
I'm thinking it can't carry packets in time to my connection, and they just stop updating the display instead of updating late, or something like that
<samueldr>
at least that's what's observable as a symptom
<MichaelRaskin>
videocall screensharing: a collective effort to forget the lessons from 50 years of netwroked X / VNC / etc.
<qyliss>
The official jitsi instance is extremely overloaded at the moment, as far as I can tell
<qyliss>
I have all sorts of problems with it I don't have on a smaller instance
<MichaelRaskin>
OK, now I need to stop dreaming of NixOS Official VNC demo box (if you want to show slides — upload to BBB; if you want to show some software in action — ofborg the Nix expressions, then you get to run it for some time and shared-VNC in)
<samueldr>
qyliss: though I verified with other callers and I was the only one with issues
<samueldr>
(and the only one in my geographic/internet region)
<MichaelRaskin>
At Munich the local «science» Jitsi instance got overloaded to unusability, then got some more hardware and it got better. But we have an upper bound on the amount of people who get to start meetings
<__monty__>
samueldr: Geographical factors?
<__monty__>
Well, maybe I should read all the sentences before saying stuff...
<samueldr>
__monty__: speed of light and transmitting bits farther through more fiber
<samueldr>
in addition to, plausibly, more hardware to impact the rate in-between
<cole-h>
Anybody else experience a random wave of tiredness wash over them? I was going strong until just about 5 minutes ago and now I wanna take a nap...
<colemickens>
nice
<drakonis>
don't have the 'rona m8
<colemickens>
cole-h: it's the 5G waves probably.
<cole-h>
Heh
<worldofpeace>
Cole Mickens: our theme game in nixpkgs could be better, but it seems to be a hard time for them currently
<colemickens>
I mean, no complaints about nixpkgs here, just seems to be the state of gtk.
<colemickens>
If it weren't for one problem with Adwaita, I'd just use it and ignore themes altogether.
<worldofpeace>
Cole Mickens: gtk.css to the rescue :D
<cole-h>
joepie91: Cool, it's not just me. I have to shake it off in 1.25 hours because I still have another lecture...
<joepie91>
cole-h: I've had this semi-frequently. most important thing is to not try and 'shake it off' but just go do something else, at a leisurely pace, and forget about your schedule for a bit
<joepie91>
likely you are just too stressed
<joepie91>
if so, it'll solve itself when you remove the stress factor :)
<cole-h>
Guess I'll start learning nixops, then. This lecture on sweatshops probably isn't doing me any good hah
<joepie91>
drakonis: electronic chill tends to give me a headache due to low drones
<colemickens>
worldofpeace: on the one hand, it's a name-less, activity-less account on GitHub. on the other, it seems to be packaged for a future debian version as "arc-theme", so...
<worldofpeace>
Cole Mickens: it has some buzz from an article too
<colemickens>
mmm I see. I thought I'd read about the other also now defunct one, but yes, I see.
<worldofpeace>
that's weird
<worldofpeace>
there's tons of commits but they have no activity
<worldofpeace>
also, isn't half of github name-less activity-less accounts?
<colemickens>
yeah, maybe, that felt unfair as I was typing it.
<colemickens>
I guess I feel like I have some obligation to "vet" if I'm going to switch forks for projects in nixpkgs, but debian seems like some sort of a bar to clear :)
<MichaelRaskin>
worldofpeace: I guess recognising the fork as the new upstream is a context for more caution
<worldofpeace>
Cole Mickens: 😹
<worldofpeace>
MichaelRaskin: Same, anytime someone changes the upstream to a package in nixpkgs I put on my scrutiny glasses
<MichaelRaskin>
So if a new package is from nameless and otherwise activityless account, that's of course fine, but for a fork people start worrying
<MichaelRaskin>
(At least for an unrecognised fork)
<ldlework>
This is just an idea, excuse me if it is idiotic; but in a sufficiently formalized language, do you think it would be possible to analyze a long function for the causally independent parts and to automatically perform a refactor of that function, probably prompting the user for new function names along the way, etc?
<MichaelRaskin>
ldlework: it's not about sufficient formalisation, more about sufficient side-effect restriction
<ldlework>
I suppose it would only be possible with a pure - yeah
<MichaelRaskin>
Not always, actually
<ldlework>
But if we only considered inputs, and orders of computations
<MichaelRaskin>
Sure, possible (but expensive)
<ldlework>
why is it expensive?
<ldlework>
i feel like i'm doing trivial refactors on open-source code all the damned time
andi- has quit [Ping timeout: 252 seconds]
<MichaelRaskin>
Well, depending on what you want to actually do
<ldlework>
and i just wonder if bread and butter code could just be automatically refactored if you just go based off required inputs
<worldofpeace>
MichaelRaskin: I see they're planning an official release https://github.com/jnsh/arc-theme/issues/18, so more points. also granted, arc theme has been inactive for soo long
<MichaelRaskin>
Automatic refactoring is like automated formatting… it can easily destroy some important hints
<ldlework>
these 9 lines all work to compute various values, but only the last is used, and used in the line that calls this or that function
<ldlework>
so we can encapsulate these 9 lines in a function, and replace it with a call to that function
<ldlework>
and we store the return value and use that instead
<ldlework>
that kind of thing
<ldlework>
maybe a few of the lines in that block are not causally involved, they just happen to be interleaved there
<ldlework>
so we don't include those lines in the extraction
<ldlework>
etc
<MichaelRaskin>
The result will be one more codebase where «everything is always happenning somewhere else»
<ldlework>
going purely on variable names, presence in expressions, and parameter passing
<ldlework>
MichaelRaskin: what if the tools simply helped you do this kind of thing
<ldlework>
rather than it maximizing it across a codebase
<MichaelRaskin>
I mean, on some level even Lazarus does support function splitting
<MichaelRaskin>
I guess some Java IDE should support more of it
<ldlework>
when you got a 800 line function sometimes it is easier to understand what it does, if it is expressed as a bunch of simple transformations across high level function calls with self documenting names, i dunno
<ldlework>
huh i wonder if they're useful
<joepie91>
<MichaelRaskin> Automatic refactoring is like automated formatting… it can easily destroy some important hints
<joepie91>
finally, I am not the only one saying this
<joepie91>
MichaelRaskin++
<{^_^}>
MichaelRaskin's karma got increased to 29
<MichaelRaskin>
ldlework: for this to be helpful these tranformations have to make sense
<MichaelRaskin>
And they won't
<MichaelRaskin>
Because when you onboard new people, you already have notions that make sense and you now need to explain why they make sense to the new people
<MichaelRaskin>
Here the same, except there is not even an initial person to whom the notion makes sense
<ldlework>
i am already making this transformation myself
<ldlework>
and all i'm doing is looking at the parts which indeed can be encapsulated in some step, which is well reflected by the new function name
<ldlework>
so that the resulting function is 12 lines and i can see it's overall structure
<MichaelRaskin>
ldlework: right, you are a human able to express the point to other humans
<ldlework>
i don't know, i feel like encapsulation is real thing
<ldlework>
MichaelRaskin: that's what I said, a tool, that helped you do this thing
<ldlework>
rather than automatically maximizing this property across a codebase
<MichaelRaskin>
Approximately any IDE already does this
<MichaelRaskin>
Not sure about details, I prefer Vim _and_ avoid too powerful IDE-ish plugins
<ldlework>
i guess i've never run into the such a feature myself. i will look at rider and vs code next time i'm using them
<ldlework>
Like even a tool to visualize the causally independent parts of a long function
<MichaelRaskin>
I mean, it is a human who will have to pick the part to break away
<ldlework>
would be helpful
<MichaelRaskin>
Otherwise it won't make sense
<ldlework>
even if you didn't intend to refactor it
<MichaelRaskin>
Nope, that part is useless
<ldlework>
i don't see why causal independence isn't a rational heurstic that would lead to understanding
<ldlework>
you make it seem like it's totally untennable but i'm not as confident
<MichaelRaskin>
Well…
<ldlework>
if you remove just one causally disjoint sub-graph of the function, and replace it with a function call with a good name, it seems like in general this would work out
<MichaelRaskin>
Because I imagine quite a few _frequent_ tasks where it will go really wrong
<ldlework>
sure it will go wrong if you try to just update a whole codebase
<ldlework>
i don't think that's a good idea
<MichaelRaskin>
Half the button-drawing of whatever will have the tool trying to separate handling of X and handling of Y
<ldlework>
i mean
<ldlework>
i just refactored this long routine in jgo
<ldlework>
into functions like DrawGrid, DrawVerticalLines, DrawHorizontalLines, DrawVerticalLine, DrawHorizontalLine
<ldlework>
I think it's better for it.
<MichaelRaskin>
Because you already have a general model of the world and now you break the function down according to it
<ldlework>
Yes, but those are the kinds of causally independent things
<ldlework>
imagine you could pick a line
<ldlework>
and it would highlight all the lines that line depends on
<ldlework>
and then you could pick one of those lines
<ldlework>
and it would highlight the lines THAT line depends on
<ldlework>
you could selectively build up a causal sub-graph to extract into a function
<joepie91>
ldlework: what VS Code does (and Brackets did many years ago) with its 'peek' functionality is pretty close to that already
<ldlework>
i'll check it out
<joepie91>
it's not quite the same, but will show you the definition of a thing inline
<ldlework>
oh yeah, i know that feature
<joepie91>
perhaps closer is Theseus, the experimental Brackets thing
<ldlework>
yeah not quite the same
<joepie91>
which tracks call flows at runtime
<joepie91>
and shows them as a tree
<ldlework>
neat
<MichaelRaskin>
I have a feeling that just the name hash highlighing will make that stuff quite visible without extra clicks
<joepie91>
one moment
<ldlework>
Yeah if you just care about the dependency on one variable
andi- has joined #nixos-chat
<ldlework>
if there is a previous line that includes your variable, but some other variable
<ldlework>
then extracting just the lines that involve your variable wont do it
<MichaelRaskin>
I guess you can track more than one colour!
<ldlework>
i feel like it shouldn't be a Hard Problem to do this kind of variable dependency thing within a single function block