UmbralRaptor 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> … one of the other grad students just compared me to nomal O_o | <ferram4> I shall beat my problems to death with an engineer.
<egg>
UmbralRaptor: is that part of ANBO letters :-p
<UmbralRaptor>
Just ANBOL. We're not interested in providing endless new journals to sell, like a certain Dutch company.
<egg>
bofh: so removing most of the traces makes the bug come back, but somehow the traces that are left say that I'm returning an object with is_inertially_fixed = false on one end and getting it as true on the other? Ꙩ_ꙩ
<egg>
it's not even a fancy object, it's just a C struct for interfacing...
<egg>
also the logs that I removed were upstream from that
* egg
is confused
<bofh>
sounds like stack smashing
<bofh>
i.e. some stack variable is getting overwritten due to assuming that another one is larger than it actually is.
<egg>
hm
<egg>
bofh: but why would anterior logs in earlier function calls affect that
<bofh>
presumably by adding more local variables or rerolling the g++ random code generator in a way that more stack space gets allocated that *can* be clobbered.
<egg>
(msvc, not gcc)
<bofh>
(close enough :P)
<egg>
(I like my unicode identifiers :-p)
<egg>
bofh: alternatively, could I be seeing something due to uninitialized read being UB and not a bounded error?
<egg>
I added bools to a couple of classes
<bofh>
egg: oh, that'd possibly also do it, yes.
<bofh>
I was going to say, if it's not a stack overflow then it's an uninitialized read.
* egg
stabs C++ for not having a concept of bounded error
<egg>
bofh: I don't think it's an uninitialized read directly, but maybe the optimizer seeing one, and concluding that 1 = 0 in that code path
<egg>
(which is why Ada 95 introduced bounded error, because this is silly)
<bofh>
(Yes but C++ optimizers instead go full retard)
<egg>
(bounded error basically says that an uninitialized variable has a value of its type)
<egg>
(or maybe the base type because you might have a weird subtype)
* egg
pokes C++ aggregate initialization with an Aggregat-4
<egg>
bofh: somehow either of those words makes me think of the other :-p
<egg>
wow, cppreference has sections that say "since C++20" already
<egg>
then again, when I started principia it was 2014 and there were "since C++17" sections
<bofh>
rofl 'an Aggregat-4'
<bofh>
isn't that just the V2 under a different codename?
<egg>
bofh: the V-2 is the weapon
<egg>
the V-whatever designation including completely different things (e.g. the V-1)
<kmath>
<hikari_no_yume> dear mathematician followers, I hope this hasn't made you scream, I'm probably doing Euler angles wrong: #MGOdev https://t.co/H2OxK5juhv
<egg>
Euler angles are zxz like orbital elements/rotational elements, not zyx like yaw-pitch-roll!
<egg>
*grumble grumble*
<egg>
Fiora: what sound do the bells make if you hit them
<Fiora>
egg: the grate is basically a support container to put in my print polisher so that things that would otherwise fall over can rest on the grate
<Fiora>
rather than falling off the platform
<egg>
Fiora: the sound of the bells reminds me of the local cows
<Fiora>
well, they are roughly the shape of cowbells...
<egg>
Fiora: have I told you about swiss helicoptered cows
<egg>
UmbralRaptor: so amusingly if you're playing KSP at ORNL on the day of the eclipse, you'll get totality within a minute of getting the Principia update reminder
<egg>
hm not a minute, that page has a granularity of 5 min
<whitequark>
bofh: what
<whitequark>
what stack frame wonkiness
<bofh>
00:15 <@egg> bofh: so removing most of the traces makes the bug come back, but somehow the traces that are left say that I'm returning an object with is_inertially_fixed
<bofh>
= false on one end and getting it as true on the other? Ꙩ_ꙩ
<bofh>
00:18 <@egg> it's not even a fancy object, it's just a C struct for interfacing...
<bofh>
^that
<egg>
!wpn bofh, UmbralRaptor, and whitequark
* Qboid
gives bofh, UmbralRaptor, and whitequark a greebled Kerbal
<egg>
also, I should zzz
egg is now known as egg|zzz|egg
* UmbralRaptor
watches the kerbal explode in a cloud of spores.
<kmath>
<TedDennison> @jonnyhtyson @codinghorror Find an Ada couple. We can adopt any indexing range the program naturally is. Arrays sho… https://t.co/MZjQ1JPHe9
<egg|zzz|egg>
!tell bofh I think the eggsplanation is that P/Invoking bools is a right mess
<Qboid>
egg|zzz|egg: I'll redirect this as soon as they are around.
<Qboid>
bofh: egg|zzz|egg left a message for you in #kspacademia [29.07.2017 14:09:21]: "I think the eggsplanation is that P/Invoking bools is a right mess"
<kmath>
<stephentyrone> @bofh453 @kittenpies3 Works everytime, 60% of the time.
APlayer has joined #kspacademia
<bofh>
and it's also accurate as an assessment of Remez Exchange.
<egg|zzz|egg>
bofh: so by default P/Invoke assumes bools passed as arguments are 2 bytes wide, and bools in structs are 4
<egg|zzz|egg>
(I was passing and returning bools, but that wasn't a problem because they were in independent registers/aligned by word on the stack)
<egg|zzz|egg>
even the out bool parameter just meant that 2 bytes got allocated and I wrote only in one
<egg|zzz|egg>
but a bool in a struct screwed things up nicely :-p
<egg|zzz|egg>
bofh: ah Carathéodory will need to be a Principia release (but I think it's a K release really)
<egg|zzz|egg>
Καραθεοδωρή after all
<egg|zzz|egg>
bofh: also I may have liked that entire thread
* egg|zzz|egg
isn't exactly sure how to use twitter :-p
<egg|zzz|egg>
bofh: when the bools were on their own passed as args in registers/on the stack things were fine because they got aligned wide, in structs shit happened :D
<SnoopJeDi>
that's wot
<egg|zzz|egg>
bofh: yeah I know where the thread is, I just pressed like quite a lot :D
<SnoopJeDi>
egg|zzz|egg, I saw a question in a #python the other day about uncertain encoding in text and the person asking said something like "I don't think a company like Google would guess"
<egg|zzz|egg>
(e.g. burns that keep burning prograde)
<lamont>
i’m noodling (a lot) on where to take the existing “PEG” code
<egg|zzz|egg>
lamont: IGM?
<lamont>
i don’t think so
<lamont>
IGM involves a coordinate transformation into the final coordinate system which nothing after that likes to use
<egg|zzz|egg>
lamont: yeah, but it would be neat to have a selection of algorithms :D
<lamont>
i wish we had something better than kOS for rapid prototyping
<lamont>
hah
<egg|zzz|egg>
blarg, kOS is awful
<egg|zzz|egg>
cc whitequark
<egg|zzz|egg>
lamont: also, I would guess eventually if you want to do fancy n-body stuff you'd need coordinate transformations (but then it might live in the principia-lib C++ world anyway, since we have eggstensive libs for that...)
<lamont>
i’m not sure what the really fancy n-body stuff does
<UmbralRaptor>
lamont: kRPC?
<lamont>
yeah i’m thinking i should probably do that
<egg|zzz|egg>
lamont: "it would be neat to have a selection of algorithms" << see also principia's 57 integrators :D
<egg|zzz|egg>
also afknomz
egg|zzz|egg is now known as egg|nomz|egg
<lamont>
yeah you guys are nutso with the integrators
<SnoopJeDi>
Principia 57 ?
<lamont>
thing is that mostly later approaches fully supplant earlier approaches
<lamont>
so if we had real 3-dimensional N-stage real-PEG there would be no need for my current implementation since that implementation would be better in all regards
<APlayer>
Uh, can you round a value to an integer using MM maths?
icefire has joined #kspacademia
<lamont>
so the other useful thing i guess about krpc is that you can update your (other language) code and not have to restart and reload KSP which is hugely helps with rapid prototyping
<Iskierka>
what do you need 57 integrators for?
<lamont>
so i could have actually have a full RO/RSS/RP0 install and iterate on the code i’m throwing at kRPC without a restart
<UmbralRaptor>
We're working on a Heinz sponsorship.
<lamont>
huh and ruby even has Newton’s method, Jacobians and LU decomposition in the standard library…
<APlayer>
That sounds like something python should have.
<APlayer>
#import integrators... Hell, no, #import principia. And everything is already implemented.
<UmbralRaptor>
scipy has a bunch of integrators.
<lamont>
yeah but i don’t know python and “learn a new language” is the opposite of rapid prototyping...
APlayer has quit [Remote host closed the connection]
APlayer has joined #kspacademia
<UmbralRaptor>
SnoopJeDi: that Simpson's paradox gif on Twitter is also a nice demo on the dangers of biased samples. o_O
<UmbralRaptor>
lamont: hah!
<SnoopJeDi>
'spose so, yea
<SnoopJeDi>
I've always liked Anscombe's Quartet, too
APlayer has quit [Ping timeout: 383 seconds]
<egg|nomz|egg>
Iskierka, lamont, UmbralRaptor, et al. sorry was afknomz
<egg|nomz|egg>
!wpn Iskierka, lamont and UmbralRaptor
* Qboid
gives Iskierka, lamont and UmbralRaptor an immersive terminal
<egg|nomz|egg>
<lamont> thing is that mostly later approaches fully supplant earlier approaches << true of our integrators too; no point for NewtonDelambreStørmerVerletLeapfrog really, aside from the lesson in history of mathematics
<SnoopJeDi>
Related the "spherical bastards" story to someone and then realized I wanna learn more about Zwicky so I went looking for a bio
<SnoopJeDi>
egg|nomz|egg, with comments like that you should publish Principia as a historical text :)
<egg|nomz|egg>
lamont: but it's fun to keep the old guidance algorithms! that way you can compare them with the new ones to see how the new ones improve
<SnoopJeDi>
(bonus points for a confusing name)
egg|nomz|egg is now known as egg
<egg>
SnoopJeDi: how is it confusing :-p
<SnoopJeDi>
perhaps confusing isn't quite the right word...referential?
<SnoopJeDi>
it's not confusing at all as a library, mind, but if it library-published-as-book and so named, it'd be a bit cheeky
<egg>
oh you mean Principia, I thought you meant NewtonDelambreStørmerVerletLeapfrog
<SnoopJeDi>
no that may be the antipodal partner of confusing :P
<SnoopJeDi>
I should buy tickets to the Houston BAHFest
<SnoopJeDi>
sounds like a really good time
<bofh>
NewtonDelambreStørmerVerletLeapfrog is still the best name IMO
APlayer has joined #kspacademia
BPlayer has joined #kspacademia
APlayer has quit [Ping timeout: 383 seconds]
<egg>
bofh: :D
<egg>
!wpn UmbralRaptor
* Qboid
gives UmbralRaptor a composite sequence
* UmbralRaptor
x_x
* UmbralRaptor
hopefully actually has housing in Fairfax now.
<SnoopJeDi>
That's a relief to hear UmbralRaptor
<bofh>
Indeed.
<egg>
UmbralRaptor: with a synapsid?
<UmbralRaptor>
Nope
<UmbralRaptor>
(No, I didn't eat them)
<egg>
UmbralRaptor: with a diapsid?
<egg>
UmbralRaptor: could you get a pet synapsid
<egg>
or a pet diapsid I guess
<egg>
UmbralRaptor: a cat
<egg>
failing that, a cat interferometer
* UmbralRaptor
is rather allergic, so meowing cats are a bad idea.
<SnoopJeDi>
egg, Meowchelson interferometry?
<egg>
UmbralRaptor: are you allergic to cats at all scales? are cheetahs ok?
<SnoopJeDi>
"Scale Invariance in UmbralRaptor's Feline Allergy"
<SnoopJeDi>
Quick, before we're scooped! Publish, publish, publish!
<Ellied>
thing I might need to invent: Remote-controlled magnetic bases.
<Ellied>
bonus points if they're strong enough that a normal person can't pry them off without disengaging them.
<SnoopJeDi>
bases for?
<Ellied>
like the ones for optical benches and stuff
<egg>
SnoopJeDi: s/UmbralRaptor's(.*)"/\1 in dromaeosauridae"/
<Ellied>
little lever on the side determines whether they stick down or not
<Qboid>
egg thinks SnoopJeDi meant to say: "Scale Invariance in \1 in dromaeosauridae"
<egg>
uh
<SnoopJeDi>
nailed it
<egg>
SnoopJeDi: s/UmbralRaptor's(.*)"/$1 in dromaeosauridae"/
<Qboid>
egg thinks SnoopJeDi meant to say: "Scale Invariance in Feline Allergy in dromaeosauridae"
<egg>
of probably
<SnoopJeDi>
I could see it either way but I think I'd prefer of as well
<Ellied>
but you could attach them to random stuff, and pull pranks on people with them by having them wired to various other things
<Ellied>
"uh, why can't I pick this book up?" "oh, you have to turn off the oscilloscope to move the book." "..what?" "what do you mean, what?"
<UmbralRaptor>
Ellied: With a good battery and a RasPi?
<Ellied>
or a microcontroller for less power
<Ellied>
"Uh, I can't move this function generator." "well yeah, how do you expect to move it while it's turned off?" "your lab is screwed up." "oh? I guess all the other physics labs you've been to don't care about SAFETY"
<SnoopJeDi>
Raspberry Gaslight
<Ellied>
well, hopefully the common conclusion to draw from that is that *I'm* the crazy one
<Ellied>
chairs with nonskid rubberized wheels that lock whenever the desk lamp is on
<SnoopJeDi>
I want to get on Mr. Bones Wild Ride this sounds like a good time
<SnoopJeDi>
like an Ellied flavored escape room
<Ellied>
oh man, I would design the WORST escape rooms
<egg>
!wpn greening
* Qboid
gives greening a chlorine clowder which strongly resembles a comma
<SnoopJeDi>
that's why they would probably be the best
<bofh>
You mean BEST escape rooms, right.
<SnoopJeDi>
if you don't get angry, it's not fun
<SnoopJeDi>
a bunch of us did a local escape room for the first time and we failed because one of us didn't read the very obvious instructions on the inside of a lid that basically described how to solve a puzzle (and we assumed they had examined it I guess?)
<bofh>
Oops, nice one.
<SnoopJeDi>
the people who ran it were mildly astounded by our disorganization: "you guys *flew* through the x-ray locker combo one, that usually takes people forever, but then you missed the lid...?"
<SnoopJeDi>
we are a herd of cats ¯\_(ツ)_/¯
<Ellied>
haha
<SnoopJeDi>
I think being too "smart" is probably more of a burden than an asset for them. It was a medical themed thing and they buried one of the clues in a medical encyclopedia I think and *wow* a few people got nerd-sniped by that
<SnoopJeDi>
I don't think there was anything you actually needed to really read the encyclopedia for, maybe just a quick look-up and then on to the next thing, but sure enough someone had that thing in hand for every puzzle for the rest of the room. "Wait wait maybe if we look up the page for this thing...okay, and that's referring to this other section..."
<SnoopJeDi>
I can just see where that road was going: "OKAY LOOK the first thing we really need to do here is define life, I think that might help clear some things up"
<SnoopJeDi>
of the ☢️ variety or the photon-y variety?
<Ellied>
Well, the ⚡ variety, for signals that come from either photon or ☢ detectors
<SnoopJeDi>
neato
<Ellied>
they're basically carrier boards for the LS7366R chip, which is a high-capacity serial-output pulse counter. All my circuitry is just the clock driver that makes sure you count for a consistent interval.
<SnoopJeDi>
It's all about the little things :)
<egg>
!wpn Ellied
* Qboid
gives Ellied a linear [REDACTED]
<Ellied>
I now have over $600 worth of those LS7366 chips (they ain't cheap) sitting around in my lab, waiting for us to build a smallish production run of whatever my final design turns out to be.
TonyC has quit [Ping timeout: 186 seconds]
<egg>
!wpn -add:wpn counter
<Qboid>
egg: Weapon already added!
<egg>
!wpn -add:wpn detector
<Qboid>
egg: Weapon added!
<egg>
!wpn UmbralRaptor
* Qboid
gives UmbralRaptor a symmetric grass snake
<Ellied>
You would think that serial counter chips would be common, but Mouser doesn't even have *any*. they have an evaluation board with an LS7366 on it, but that's it; they don't sell the chips individually, and they don't have any other kinds.
<egg>
Fiora: do the bells still sound good once painted?
BPlayer has quit [Ping timeout: 383 seconds]
<Fiora>
egg: I'm only painting the bottom part
<Fiora>
rest is using natural color
<Ellied>
whitequark: was it Maxim you told me was the borked ASIC shop that sells people's buggy projects?
<Ellied>
"Counter and RTC and timer watchdog and uh, stuff"
<Ellied>
"there's some RAM in there too, and we accidentally pinned out part of the divider so you can get a square wave out of it too if you want"
* egg
should sleep probably
<egg>
goodnight
egg is now known as egg|zzz|egg
<bofh>
Ellied: LOL
<bofh>
Ellied: the fuck is that? It's like a DS1307 but stupid.
<Ellied>
"standard mode" "fast mode"
<bofh>
That's on my ADSR controller too but I don't think that's as useful in your case as it is in mine :P
<Ellied>
I just want a flip-flop divider and a PISO shift register on the same die, basically. That doesn't really appear to be a thing.
<Ellied>
with separate components there's a "packages of 12 and packages of 8" problem too
<bofh>
Ellied: I like the "feature" where you can disable the Watchdog Timer and then you get 3 bytes of RAM.
<Ellied>
yeah that's hilarious
<Ellied>
"that's right! You too can win 3 bytes of RAM! All you have to do is buy this $2.50 chip and turn off all the useful parts!"
<bofh>
Well no, you just need to disable the WDT.
<bofh>
Which may or may not be useful depending on your usecase.
<Ellied>
oh, I thought that was kind of the whole thing the chip did
<bofh>
Well, WDT *or* periodic alarm.
<Ellied>
if you just want a periodic alarm, don't you just get a 4060 or something?
<bofh>
No see there's one 32-bit timer that's just a seconds counter and then there's the 24-bit alarm/WDT timer.
<bofh>
Now see that would make too much sense.
<Ellied>
yeah, you might also need TWO 4060s, or even a 4060 and multiple 4017s, and then you'd be out tens of cents
<bofh>
hey it could be worse, this is an actual freq reference from a VHF ham rig I once tried to fix. complaint was "frequency drifts a lot". This was the clock generator board: