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>
ferram4_: so, remember that Principia has a psychohistory, now I'm working on something that will make the psychohistory parameters configurable by solar system administrators :D
<egg>
(the important part is mostly that it allows the ephemeris parameters to be configured, but might as well do the others too, see #1666)
<Qboid>
[#1666] title: Support setting the integrator parameters in the gravity_models file | @GregroxMun makes strange systems that are stable but completely confuse our default symmetric linear multistep method with its default step size.... | https://github.com/mockingbirdnest/principia/issues/1666
<egg>
bofh: yes I am good at names,
<ferram4_>
Every time you say "psychohistory" I imagine that Principia includes a room that every couple centuries or so a hologram of long-dead eggrobin and pleroy show up to talk about the current crisis and how it was resolved.
<egg>
it's actually just a lecture in numerical analysis
awang has joined #kspacademia
<egg>
ferram4_: I mean, of course there are no numerical analysts in the Foundation
<kmath_>
<ApprovedNews6> LIFESTYLE: 4 Fun Lifehacks You Can Do With Just A Vial of Blood, A Pair of Antlers, A Carving Knife, & A Few Simple Phrases in Akkadian
* UmbralRaptor
stares at his poster.
UmbralRaptor is now known as NomalRaptor
<bofh>
egg: okay I APPROVE
<egg>
bofh: of the integrator, or the psychohistory
<egg>
bofh: see also <ferram4_> Every time you say "psychohistory" I imagine that Principia includes a room that every couple centuries or so a hologram of long-dead eggrobin and pleroy show up to talk about the current crisis and how it was resolved.
<SnoopJeDi>
Our 5e campaign spent today's session in a very exclusive private library. We got blood-bound rings that permit us entrance!
* egg
gives NomalRaptor some aquia regia
* NomalRaptor
makes some traps to collect goblinite.
<egg>
bofh: multisteps integrator are weird sometimes
<egg>
they're really fast, but as soon as your step gets too large they go completely wonky because they're stateful
<egg>
which feels weird tbh, because they're supposed to be conjugate-symplectic?
<NomalRaptor>
Gah, just discovered a bug in someone else's code.
<SnoopJeDi>
GitHub?
<egg>
tarballs of FORTRAN IV?
* NomalRaptor
moos at egg.
<NomalRaptor>
SnoopJeDi: technically yes. Simulated astronomical observing that is counting an unphysical bootstrapping observation as a real one.
<SnoopJeDi>
At least an issue is a possibility, then!
<NomalRaptor>
egg: wait, FORTRAN IV predates tar by a decade or so, right?
<egg>
yeah
<egg>
tarballs would be more likely to contain FORTRAN 77 or at least 66, but maybe some legacy code thrown into the shiny new archive format? :-p
<NomalRaptor>
Well, as long as someone didn't cover a stack of punchcards in pinetar.
<NomalRaptor>
SnoopJeDi: Yes, though it could be annoying to try to merge a patch. Scientific codes being what they are. (and I messed with a lot of things, getting it running and understanding the internals)
<SnoopJeDi>
I meant even as just a report, if there's not one already
<SnoopJeDi>
But yea, I know what you mean
<bofh>
egg: wait, the timestep doesn't ever reduce if it starts diverging?
<SnoopJeDi>
One of my most career-relevant PRs is -4 char, +2 char (changing `None` to `[]`), heh
<egg>
bofh: fixed stepsize
<bofh>
egg: ahh.
<egg>
bofh: it's symplectic
<bofh>
ah, gotcha.
<egg>
bofh: and we have no mechanism to warn that things have gone haywire, I should write something to have a monitoring integrator with a smaller stepsize running in the background
<bofh>
SnoopJeDi: a good chunk of my most important changes were... okay, the impetus was +14 chars
<bofh>
I love how many bugs I've stumbled into that can be summarized as "someone typo'd a variable name & the Fortran compiler decided that it should be a new float & set to whatever garbage was on the top of the stack instead of doing the sane thing and throwing a fucking error"
<bofh>
egg: yeah, monitoring integrator is usually what I do
<SnoopJeDi>
probably my most meaningful work was refactoring a several-hundred-line method into a few. It was depressingly simple.
<SnoopJeDi>
If you're writing Python and end up 10 indent layers in, you *probably* want a few extra methods
<bofh>
YEP
<bofh>
mind you, 17 indent layers in Fortran is not hard in compchem code
<bofh>
iterate over atoms, iterate over center 1 shells (4 loops), iterate over center 2 shells (4 loops), iterate over primitives for each of those (4 loops each)
<SnoopJeDi>
hah I recall trying to squint at that for longer than I should've
<bofh>
SnoopJeDi: and by "horrible" I mean uh so the flow control there is so incomprehensible what I did was output ifort -O2 -unroll0 -fno-omit-frame-pointer -S to a file, then rewrite new Fortran from the compiled asm.
<bofh>
because the optimized assembly had much clearer flow control.
<bofh>
LOL
<bofh>
egg: ugh, VC++ name mangling is a mess.
<SnoopJeDi>
ya done goofed when the compiler produces something more readable than your input 😹
<egg>
bofh: well tbh not sure this would mangle more nicely under another scheme
<egg>
bofh: the demangled names are illegible, which is annoying :-p
<bofh>
egg: true, but like at least I can *somewhat* mentally demangle Itanium ABI. :P
<NomalRaptor>
The problem here is that fixing the bug would probably be less like 14 characters, and more like 5 or so lines in an entirely different file. >_>;;
awang has joined #kspacademia
<SnoopJeDi>
Yea, fixing it is generally a much taller order
<kmath_>
<whitequark> so far everything I've found related to r2 feels like a modern art project moreso than software… https://t.co/I4ksNaFUNa
<whitequark>
LOL
<whitequark>
!wpn -add:wpn ICBM
<Qboid>
whitequark: Weapon added!
<whitequark>
!wpn -add:wpn IRBM
<Qboid>
whitequark: Weapon added!
<whitequark>
!wpn -add:wpn SRBM
<Qboid>
whitequark: Weapon added!
<whitequark>
!wpn -remove:wpn SRBM
<Qboid>
whitequark: Weapon removed!
<whitequark>
!wpn -remove:wpn IRBM
<Qboid>
whitequark: Weapon removed!
<whitequark>
!wpn -add:wpn missile
<Qboid>
whitequark: Weapon already added!
<whitequark>
!wpn -add:adj ballistic
<Qboid>
whitequark: Adjective added!
<whitequark>
!wpn -add:adj intermediate-range
<Qboid>
whitequark: Adjective added!
<whitequark>
!wpn -add:adj short-range
<Qboid>
whitequark: Adjective added!
<APlayer>
Long-range?
<egg>
!wpn whitequark
* Qboid
gives whitequark a principle
<whitequark>
!wpn -add:adj long-range
<Qboid>
whitequark: Adjective added!
<whitequark>
!wpn -add:adj intercontinetal
<Qboid>
whitequark: Adjective added!
<whitequark>
!wpn -remove:adj intercontinetal
<Qboid>
whitequark: Adjective removed!
<whitequark>
!wpn -add:adj intercontinental
<Qboid>
whitequark: Adjective added!
<APlayer>
Perhaps global/local too?
<egg>
those might be in the adjectives for mathematical reason already
<APlayer>
"Qboid gives someone a local ICBM" would be a fun combination
* APlayer
just mistook "semisimple" for "seismic"
<APlayer>
Also, while I am thinking "seismic"... "geologically-active" might be a fun adjective too, if it does not exist yet
<APlayer>
And I am off for now, be back soon.
<NomalRaptor>
!wpn add:adj seismic
* Qboid
gives add:adj seismic a xi nickel
<NomalRaptor>
!wpn -add:adj seismic
<Qboid>
NomalRaptor: Adjective added!
<NomalRaptor>
!wpn -add:adj terrestrial
<Qboid>
NomalRaptor: Adjective added!
<NomalRaptor>
!wpn -add:adj aquatic
<Qboid>
NomalRaptor: Adjective added!
<NomalRaptor>
!wpn -add:adj oceanic
<Qboid>
NomalRaptor: Adjective already added!
<NomalRaptor>
!wpn -add:adj benthic
<Qboid>
NomalRaptor: Adjective added!
<NomalRaptor>
!wpn -add:adj abyssal
<Qboid>
NomalRaptor: Adjective added!
<NomalRaptor>
!wpn -add:adj maritime
<Qboid>
NomalRaptor: Adjective already added!
<NomalRaptor>
!wpn -add:adj atmospheric
<Qboid>
NomalRaptor: Adjective added!
<NomalRaptor>
!wpn stats
* Qboid
gives stats a SOX-compliant sequence point
<NomalRaptor>
!wpn -stats
<Qboid>
NomalRaptor: Total weapons: 785. Total adjectives: 989. Total possible combinations: 2414176841135.
APlayer has quit [Ping timeout: 383 seconds]
APlayer has joined #kspacademia
<egg>
!wpn NomalRaptor
* Qboid
gives NomalRaptor an ultraviolent heptagon
<egg>
!wpn whitequark
* Qboid
gives whitequark a polygonal odor
<egg>
!choose blueprint|parameterization
<Qboid>
egg: Your options are: blueprint, parameterization. My choice: blueprint
<egg>
;choose blueprint|parameterization
<kmath_>
egg: blueprint
<egg>
raptorchoose blueprint|parameterization
<APlayer>
Blueprinterization
<NomalRaptor>
Parameterprint
<APlayer>
egg: Looks like you need to print blue today
<NomalRaptor>
There appears to be a blue sky today.
<APlayer>
Nice! Because there only appear to be clouds and no sky here
<APlayer>
Since early November, even
icefire has quit [Quit: Leaving]
<soundnfury>
... bluepeterization!
<soundnfury>
(here's one I made earlier)
<APlayer>
Peter disappoves
<APlayer>
egg: When you write RK4 methods, how do you usually implement the RHS calculation of the ODE? As a function?
<APlayer>
I am currently testing that, but I have some suspicion that it's the f(t, Y) function calls that make the few-iteration RK4 method take noticeable time to run
<APlayer>
Is there some human-readable way to circumvent using a function for this (i.e. not actually writing it out for every k-parameter)?
<APlayer>
...nope, nevermind, it's not that
<egg>
bofh: ah good I have reached the point where I have internal linker errors
<egg>
everything is fine
<egg>
tbh it seems I have internal compiler errors too, but I'm used to that
awang has quit [Ping timeout: 207 seconds]
awang has joined #kspacademia
awang has quit [Ping timeout: 194 seconds]
awang has joined #kspacademia
APlayer has quit [Ping timeout: 383 seconds]
<egg>
!wpn whitequark
* Qboid
gives whitequark a reversed pigeon
<egg>
!wpn bofh
* Qboid
gives bofh a Bayesian gasket
* egg
pokes SetDllDirectory with a stick
* NomalRaptor
🔪 cython in the Unicode support.
NomalRaptor is now known as UmbralRaptor
<UmbralRaptor>
Also, either I'm doing things wrong, or it offers a 0% speedup.