egg|nomz|egg changed the topic of #kspacademia to: https://gist.github.com/pdn4kd/164b9b85435d87afbec0c3a7e69d3e6d | Dogs are cats. Spiders are cat interferometers. | Космизм сегодня! | Document well, for tomorrow you may get mauled by a ネコバス. | <UmbralRaptor> egg|nomz|egg: generally if your eyes are dewing over, that's not the weather. | <ferram4> I shall beat my problems to death with an engineer.
<egg|zzz|egg>
C WHAT IS WRONG WITH THE FORMAT STATEMENT
<awang>
Just by the title, the backdoor part sounds FUD-y
<awang>
Heh, flagged on HN
<awang>
Apparently it's super sketchy?
<SnoopJeDi>
yea I got a weird whiff off of it, but OTOH architecture is a dumpster fire?
<awang>
Aren't chipsets things normally made by motherboard vendors, not CPU manufacturers
<awang>
"architecture is a dumpster fire" -> AMD's chips' arch, or this security thing?
<awang>
Stock down by ~1.39%
<awang>
idk if that's a lot
<awang>
White paper is very different from the Meltdown/Spectre ones
<SnoopJeDi>
awang, all CPUs
<SnoopJeDi>
and not-CPUs
<SnoopJeDi>
*particularly* not-CPUs actually
<awang>
o_O
<awang>
SnoopJeDi: Do you mind explaining more? You've piqued my interest
<awang>
I didn't know CPU/not-CPU designs are that bad
<awang>
I just knew they were absurdly complicated
<awang>
Or at least can be
<awang>
Also backwards compatibility messing with things
<SnoopJeDi>
oh I don't know what I'm talking about
<SnoopJeDi>
in any technical sense
<SnoopJeDi>
but like, GPUs are an apocalyptic wasteland in most senses AFICT
<SnoopJeDi>
AFAICT*
<awang>
Hey, it's better than nothing, since I probably know even less :P
<awang>
GPUs are worse than CPUs? That seems fun
<awang>
Especially given the shift towards trying to put more workloads on them
<SnoopJeDi>
well, drivers are the thing I've gotten the most exposure to from a very high-up view
<SnoopJeDi>
and they're just a rat's nest of special case kludges and all sorts of True Evil
<SnoopJeDi>
the hardware might well be a lot saner
<UmbralRaptop>
awang: customized phone keyboard.
<awang>
SnoopJeDi: Ouch, that's unfortunate :(
<awang>
I mean, if those special cases are necessary, I'd guess the hardware isn't too much better
<awang>
UmbralRaptop: What about when you're UmbralRaptop? (assuming you're actually on a laptop)
<SnoopJeDi>
IIRC Fiora has quite a bit of experience with shader compilation and other things that go bump in the night
<iximeow>
SnoopJeDi: i'm not the only one that noticed the "AMD CHIPSET Promontory" image is... almost exactly an intel heat spreader, right
<iximeow>
not that it means anything, just kinda funny ~branding~
<iximeow>
oh it *is*:https://www.bhphotovideo.com/images/images2500x2500/intel_cd8067303734802_core_i9_7960x_hexadeca_core_16_core_1368611.jpg
<UmbralRaptop>
awang: then I don't. Though I've been entirely IRCing through my phone since Keldysh's Linux partition died.
<iximeow>
didn't realize i9s had the notched corner
<SnoopJeDi>
awang, UmbralRaptop .XCompose is lovely, and WinCompose works well enough on Windoze machines
tawny has quit [Ping timeout: 190 seconds]
<SnoopJeDi>
(why the crap are compose keys not universal?!)
<UmbralRaptop>
¯\_(ツ)_/¯
<awang>
SnoopJeDi: idk if I want to make Fiora relive those memories
* UmbralRaptop
hugs vim digraphs.
<awang>
Fair enough
<awang>
s/$/UmbralRaptop: /
<Qboid>
awang meant to say: Fair enoughUmbralRaptop:
<SnoopJeDi>
I kind of assume she's living the life of the vampire characters from the Laundry. Once infected by the visual representations of Old Enochian, there's no going back.
<awang>
Dangit, wrong anchor
<awang>
SnoopJeDi: TIL about .XCompose
<awang>
As if I didn't already have enough things to customize
<SnoopJeDi>
you can find some pretty solid ones on github
<SnoopJeDi>
it'd be kind of nice if :codepointname: becomes standard(ish)
<awang>
SnoopJeDi: Unfortunately, I'm one of those people that HAS to read through documentation to ensure that every option is Just Right
<SnoopJeDi>
cosmic brain: build Python ASTs at the OS input level to parse for u"\N{PILE OF POO}"
<SnoopJeDi>
or just run an interpreter and naively eval() everything, considering how OSes usually get designed
<bofh>
Okay the latter of those is a horrifying idea.
<awang>
SnoopJeDi: Can you explain to me how OSs usually get designed? :P
<SnoopJeDi>
poorly?
<awang>
You're raising so many qustions about things I have no clue about
<SnoopJeDi>
(I once again don't know what I'm talking about)
<awang>
You know more than me, so that's fine
<awang>
And there's always OS people here to correct you if you're wrong
<awang>
Because nothing on the internet is allowed to be false
<SnoopJeDi>
but uh, there's just a lot of surface area to modern OSes, and they generally grow by accretion AIUI
<awang>
Makes sense
<SnoopJeDi>
someone (perhaps several hundred thousand someones with adequately deep pockets to justify the development) needs feature X, feature X gets bolted on
<awang>
Growing bit by bit don't mix well with clean code
<awang>
Or at least not without lots of planning ahead
<SnoopJeDi>
it's...complicated I guess? I wouldn't want to throw shade on the Linux kernel, for example.
<SnoopJeDi>
but that might just mean that I don't know where the bodies are buried
<SnoopJeDi>
aside from "Linus is kernel-land Cerberus so tread carefully"
<awang>
Aren't most of those lines for drivers or other low-level stuff that is optional?
<awang>
soundnfury: Any comments? ^
<SnoopJeDi>
file also under the ongoing complaints about systemd, Linux certainly isn't immune to design pains
<iximeow>
tbf kernel space is usually sane aiui... at least linux/windows kernel space
<SnoopJeDi>
yea that was my original point, that even though it's bit-by-bit it's pretty clean compared to how userland gets in most distros
* SnoopJeDi
glances uncomfortably at Portage
<iximeow>
oh yeah
<SnoopJeDi>
also see: literally every single thing about Android
<iximeow>
userland... :upside_down_face:
<awang>
The worst thing I've heard about Android code is that Dalvik isn't really good
<awang>
That and Facebook had to do some horrifying hack to get their app to work
<awang>
since it had too many classes
<egg|work|egg>
!wpn bofh
* Qboid
gives bofh a fractal ham radio
<awang>
Oh, and that cell companies' "improvements" are garbage
<kmath>
<✔pomeranian99> Memory leaks on missiles don't matter, so long as the missile explodes before too much leaks. A 1995 memo:… https://t.co/jZSQcbmXRK
<iximeow>
ugh i forgot about that
<iximeow>
i'd like to forget again
<bofh>
tbh I don't see that as being that bad, anything that is set to execute for a short time and then exit might as well not free memory upon exit since the OS'll free it anyway.
<SnoopJeDi>
def __explode__(self, target):
<SnoopJeDi>
I think that's the rub though bofh: you can design robustly against an edge and then oops suddenly a decade later the edge moved
<bofh>
bringing new meaning to the phrase "dead reckoning"
<awang>
SnoopJeDi: I'm both horrified and unsurprised at that message
<SnoopJeDi>
of course that hopefully happens a BIT less in defense (HAH!) but in something as massive as an OS it's just some kind of weird entropy law
<bofh>
egg|work|egg: ooh, a fractal ham radio. I could use one of those. :P
<SnoopJeDi>
seems like the best you can hope for is loose coupling and a predisposition to early errors and well...I guess that's why OSes are the way they are?
StCypher has joined #kspacademia
<awang>
bofh: I'd imagine someone would manage to find a way to run that short-lived executable for a slightly longer definitions of short
<awang>
End users are the best at breaking things
<SnoopJeDi>
the thing about foolproof systems is that there's always a new version of the fool
APlayer has quit [Ping timeout: 383 seconds]
egg|phone|egg has joined #kspacademia
egg|mobile|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
tawny has joined #kspacademia
egg|phone|egg has joined #kspacademia
egg|cell|egg has quit [Ping timeout: 186 seconds]
APlayer has joined #kspacademia
<egg|phone|egg>
!Wpn whitequark
* Qboid
gives whitequark a garlic disassembler
<bofh>
I wonder what the garlic ISA is like (lazy answer: Voronoi tesselations).
<whitequark>
bofh: very early rust compiler had a gc. specifically, a null gc.
<whitequark>
since it ran to completion and quit, that worked for many years
<bofh>
whitequark: like that makes perfect sense, "compiler" was actually exactly the program I was thinking of earlier.
<bofh>
SnoopJeDi: yep
<bofh>
(I'm curious what they shifted to now and why)
<awang>
Is there a real name for an unordered cartesian product?
<bofh>
I'm still not quite sure where you're coming across unordered cartesian products, but I don't think there's a name for them at this point?
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
<awang>
bofh: I want to find distances between all pairs of points
<awang>
So cartesian_product is more work than technically required
<bofh>
do you actually need the full set of all distances, or are those for a subsequent problem?
<bofh>
(since the latter problem is often even simpler than the former)
<awang>
Uh
<awang>
The complete problem is something like "find the connected components of this graph, where edges are created if f(p1, p2) == true"
<awang>
The current strategy is to compare all pairs for their distance and add edges as necessary
<awang>
I want to say there's a better way, but I'm not entirely sure
<awang>
I'd guess some form of quadtree-ish thing would work, but I currently don't have the time to swap data structures
<awang>
I'm not that familiar with graph theory, so I wouldn't be surprised if there is an algorithm to do this in less than O(n^2)
<bofh>
start from a vertex, do depth-first search on that vertex marking each connected component to that vertex as visited. loop over all vertices, starting a new DFS whenever you find a vertex that doesn't exist in any previously-found connected component.
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #kspacademia
<SnoopJeDi>
hmm, if it's distances along all edges (which I think is what awang meant by distances between all pairs?), then that wouldn't resolve enough internal structure, no?
<SnoopJeDi>
(disclaimer: my graph theory knowledge is 100% ad-hoc)
<bofh>
SnoopJeDi: so if I'm reading it right it's "find all connected components given edge creation/deletion under some constraint" (the trick to making it fast is to use union-find for keeping track of edge additions/deletions), which is a simpler problem than "find all distances between vertices".
<awang>
bofh: That would require me to change the data structure I'm using, since I'm currently using boost.Graph's connected_components. It's worth the switch if that works though
<awang>
bofh: Well, the naive way is to find distances between all vertices and filtering on those
<SnoopJeDi>
bofh, oh yes I get what you're saying, I was just broaching whether that was awang's ultimate goal, or if some later step would want all internal edges resolved
<SnoopJeDi>
step #0 always being the hardest step in any problem :|
<awang>
I guess my next question is how do I do a depth-first search if I don't start with any edges?
<awang>
I probably should have said that this graph starts with no edges first
<awang>
I wasn't clear enough in the original problem statement
<SnoopJeDi>
awang, the very first point you select will have to look at every other point, but once you're done with that first scan, you have its component. For every other trial point you select, if it's in that component (or any of the others you'll build), you can skip it.
<bofh>
There is an algorithm to do this online in the manner you want, but I forget the details of it (it's been almost a decade since I last did any graph theory, heh), I'll see if I can find the paper it's from.
<awang>
SnoopJeDi: Ah, that makes sense
<awang>
Do you want to hear another complicating factor?
<awang>
:P
<awang>
I'm not entirely sure that this is related, but this is way out of my league knowledge-wise
<awang>
Each vertex may be a line, multiline, polygon, or multipolygon
<awang>
So distance isn't O(1)
<awang>
Does the same strategy work?
<awang>
Or a similar one
<bofh>
each vertex can be a *multipolygon*? what the heck is this system
<SnoopJeDi>
uh so wait
<SnoopJeDi>
are you talking about the abstract graph where each vertex is a primitive
<bofh>
so I *think* but this is well out of my knowledge background at this point (I think it's starting to enter computational geometry land at this point).
<SnoopJeDi>
or are you working in realspace doing nearest distances and stuff
<SnoopJeDi>
because yea if the latter you probably want the more sophisticated stuff bofh alluded to
<SnoopJeDi>
also something something self-intersection?
<awang>
Uh
<awang>
So it's something where I need to group features on a 2D surface
<awang>
I'm using image recognition, unfortunately, so each feature is a polygon by default
<awang>
And "corrections" to whatever was recognized may be made by the user
<awang>
So when image recognition ends up splitting something, that can be fixed
<awang>
Of course, I could improve the image recognition part
<awang>
But the images are pretty low quality, and I know even less about computer vision than graph theory
<awang>
SnoopJeDi: The unordered cartesian product was more about the abstract graph thing
<SnoopJeDi>
okay then it probably doesn't matter as long as your "is this thing connected to that thing" function isn't tripped up by that property
<awang>
Since I was mostly focused on seeing if something that gets me all pairs existed
<awang>
Something like
<awang>
auto pairs = cartesian_product(features, features)
<awang>
for (auto [feat1, feat2] : pair) { if (edge_valid(feat1, feat2)) { graph.connect(feat1, feat2); }}
<awang>
Then boost::connected_components(graph)
<awang>
Then extract and process, etc.
<awang>
bofh: I was afraid of this becoming computational geometry...
<awang>
Started looking at libraries to find distances between things that aren't points and quickly learned that those libraries are quite complicated
<awang>
And most of the google search hits were for the GIS stack exchange
<awang>
Figured I would try to limit the geometry part to the smallest bit of code possible, and treat the rest like a graph problem
<bofh>
That sounds reasonable, honestly (and would be what I'd do but again, lack of knowledge).
<awang>
I mean, the depth-first search sounds promising
<awang>
Since it doesn't require walking over vertices multiple times
<bofh>
it's the standard connected components algorithm, I do suspect it can be modified for this case. just not sure how, offhand.
<egg>
!wpn whitequark
* Qboid
gives whitequark an oscillator
<egg>
!wpn bofh
* Qboid
gives bofh an up spinlock
* bofh
atomically decrements it
<awang>
bofh: Makes sense
<awang>
Thank you for your help!
<awang>
SnoopJeDi: You too!
APlayer has quit [Read error: Connection reset by peer]
<SnoopJeDi>
it's true, alcohol moderates the personalities of academics
<SnoopJeDi>
(boy I wish it wasn't though)
<awang>
Especially since there are so many of you
<awang>
Hmmm
<awang>
Should that be parsed (drunk) (moderator-like)?
<awang>
Or (drunk moderator)-like?
<SnoopJeDi>
I think your joke works both ways
<awang>
:D
<bofh>
It's funnier if you interpret (moderator-like) to be in the context of a neutron moderator
<SnoopJeDi>
my brain definitely ran that direction for a bit
<UmbralRaptop>
SnoopJeDi: So those of us that (mis)use stimulants but not depressants have a fast spectrum instead of a thermal one?
<SnoopJeDi>
suppose so! it certainly causes fission more often
<bofh>
UmbralRaptop: LOL
* awang
🔪 🔪 🔪 🔪 🔪 🔪 🔪 🔪 Visual Studio
<soundnfury>
awang: the Linux kernel is generally some of the best code around. The core kernel is a model of good C practice, and the drivers, while not generally as good, still tend not to get away with anything really terrible
<soundnfury>
because it's not just Linus-Cerberus you have to pass
<soundnfury>
for instance, a networking driver has to get past the eagle eye of Dave Miller
<soundnfury>
a file system must run the Al Viro gauntlet
<soundnfury>
etc. etc.
<soundnfury>
(also, it just takes one person on the relevant mailing list to (accurately) point out "this is excrement" to prevent a patch from being merged)
<awang>
soundnfury: I need time to study linux code now :(
<awang>
Too many things to learn, too little time
<soundnfury>
yeah, I had the good fortune to work for a company that needed more kernel devs, so I got to learn it on the job
<kmath>
<bofh453> That moment when the Fortran code you need to integrate has detailed comments in Italian & you're happy since it *h… https://t.co/vu1jwDYXao
<kmath>
<bofh453> Vec() in this codebase gives *unnormalized* R^3 cross product & warns of underflow in *English*, VecP() normalized one & warns in *Italian*.
APlayer has quit [Ping timeout: 383 seconds]
<SnoopJeDi>
the joys of international collaboration?
<kmath>
<bofh453> (Sadly, none that compute R^7 cross-product w/corresponding warning in Ancient Sumerian, but I feel like I'll come across that eventually).
<bofh>
the Vec()/VecP() one? compuational chemistry geometry optimization
<bofh>
it was in a ham radio I was asked to fix with the issue of "frequency drifts a lot"
<bofh>
I took one look at that, which was the core freq gen module and basically went "no fucking shit"
<bofh>
I mean it did allow me to ask the question of "what's the slew-rate of a quad 2-input NAND gate?", which is one of those things I never thought I'd say in my life.
<bofh>
also yes it uses divide-by-10 display counters as a frequency divider, which works very poorly as those tend to not be spec'd for things like freq stability, matching or low jitter, b/c no shit.
<whitequark>
eww
<egg>
!wpn whitequark
* Qboid
gives whitequark an electromagnetic Alakazam
<soundnfury>
some of that looks sensible... but AS is _not_ a disability, and calling evil people "crazy" is semantically correct.
<soundnfury>
if you're not doing bad things, then you're not crazy, even if you're weird.
<whitequark>
soundnfury: the dictionary disagrees with you.
<whitequark>
"not mentally sound : marked by thought or action that lacks reason"; nothing about being evil there
<soundnfury>
whitequark: "lacking reason" is bad (though not evil)
<soundnfury>
evil is a subset of crazy
<whitequark>
that's obviously false, most evil people do not lack reason
<bofh>
^
<UmbralRaptop>
^
<soundnfury>
evil is evil because it's stupid; morality can be derived from purely selfish considerations
ferram4 has quit [Ping timeout: 190 seconds]
<whitequark>
but usually isn't.
<soundnfury>
well, people don't usually examine the game theory explicitly
<whitequark>
history shows that "fuck you, got mine" is a perfectly sound strategy
<soundnfury>
but (GAZP) the game theory still drives whatever process produces that morality, even if that process doesn't occur inside their head
<whitequark>
just look at american republicans
<whitequark>
also lol @ "time for some game theory"; I wonder whether you're on meth too
<soundnfury>
whitequark: you're... really not disproving my "evil is stupid" thesis here
<soundnfury>
whitequark: why would I be on meth? I value clarity of thought; I don't even drink.
<whitequark>
if you aim for clarity of thought you're not really succeeding
<soundnfury>
I might be failing at clarity of expression
<soundnfury>
but I don't see how you can be in a position to judge my thought
<soundnfury>
this interface has a rather narrow bandwidth :P
<whitequark>
meh, there is no thought separate from expression
<soundnfury>
now you're just talking rubbish.
* soundnfury
assumes you are deliberately pushing his buttons
* soundnfury
feels he took rather too long to wise up to this
<whitequark>
nope
<soundnfury>
oh, ok.
<soundnfury>
'cos "people who don't understand the economics-and-game-theory idea cluster" is one of my pet peeves, that's all
<soundnfury>
also bringing politics into it was unnecessary, why did you do that?
<whitequark>
you started it
<whitequark>
the question of whether mentally ill people "are evil" is political
<soundnfury>
uhh, what?
<soundnfury>
I never stated that mentally ill people are evil. I claimed that evil is a mental deficiency, but that's an arrow in the _other_ direction
ferram4 has joined #kspacademia
<soundnfury>
(_most_ evil people are sociopaths, and that's quite clearly a mental disorder. I think it even has some known neurological correlates? idk for sure though)
whitequark has quit [Quit: leaving]
<soundnfury>
oh, he got bored of trolling me
soundnfury was kicked from #kspacademia by egg [soundnfury]
<tawny>
god I'd kill for a study that can prove that most evil people are sociopaths
<tawny>
first it'd have to have a complete and thorough definition of "evil"
<tawny>
and then it'd have to have some very impressive data
awang has quit [Ping timeout: 190 seconds]
* UmbralRaptop
feels bad about losing the fermion.