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 notices that he has taken the habit of using computers with one eye at night
<bofh> why?
<SnoopJeDi> pirate vision?
<SnoopJeDi> ...knowing egg this may be literally true for observational purposes
<egg> bofh: as SnoopJeDi said
<egg> (I only do that with my laptop really, which I often use while observing)
<SnoopJeDi> and presumably f.lux or alike?
<egg> ?
<egg> nah, just setting the brightness to its minimum when I actually observe
<egg> and being careful which eye I use to look at the IRC window which is bright :-p
<xShadowx> get an irc client thats non-bright
<xShadowx> change colors
<xShadowx> etc
<xShadowx> mine all black, text is dim
<SnoopJeDi> even a black screen is going to disrupt your vision
<bofh> like I set my brightness to minimum as well, but pirate vision is honestly a good idea too tbh.
<Ellied> I'm still annoyed that the most logical assignment of LED colors I can come up with for this board puts a red and a blue right next to each other and looks like a police car when both are lit >_>
<Ellied> although I suppose that fits fairly well with my intended use case for the red one (software fault indicator), so looking at it and reflexively thinking "uh oh" isn't necessarily unintended
<Iskierka> What's the opposite of taxicab geometry, where it is on a square grid, but single direct diagonals are allowed?
<bofh> the reciprocal lattice for a cubic unit cell? :P
<Iskierka> I was hoping for a snappier name
<UmbralRaptor> egg: OLED screens?
<egg> bofh: well it's mostly useless when I'm not observing, e.g. tonight
<awang> f.lux darkroom mode works pretty well for me
<awang> The light from streetlamps becomes significant at that point for me, so reducing screen brightness doesn't help much after that
<egg> !wpn Iskierka
* Qboid gives Iskierka a 22 AWG rake
<egg> awang: oh you stare at the sky too?
<egg> what kind of scope?
<SnoopJeDi> light pollution :(
<kmath> <Bouletcorp> C'est la première fois que je vois "LePen" associé à "fin, élégant et léger" avec une grande variété de couleurs. https://t.co/fzGJu1cVSt
<awang> egg: Occasionally
<awang> There's an observatory on campus!
<awang> Although I have to admit I probably misunderstood what the conversation was about
<egg> nice
<egg> is the conversation ever about something here,
<awang> It's usually about several somethings at the same time?
<SnoopJeDi> cats seem to be a pretty stable attractor
<egg> SnoopJeDi: yeah but then otters
<kmath> YouTube - Otter Scared of the Bath Water then Loves it
<awang> When did otters become a thing here?
<awang> I've seen cats quite a lot
<SnoopJeDi> around the time of the otterman empire
<egg> awang: I mean, whitequark, UmbralRaptor, and I have cats, and Fiora is one, whereas I don't think anybody is or has an otter, so we see more of the former,
<awang> The puns
<awang> It hurts
<awang> egg: Fiora is a cat? TIL
<egg> awang: it says so in her twitter bio, in two languages! https://twitter.com/fioraaeterna
<SnoopJeDi> An English student friend asked me to help watch her cat while she's out of town. Her name is Catsby and she is maximum floof.
<awang> egg: First time seeing it for me. Evidently I need to creep on more Twitter pages
<egg> cat!
<awang> I don't think I've seen a cat on campus, ever :(
<awang> I've seen a pink parrot though
<awang> Or some bird in the parrot family
<UmbralRaptor> Er, I do not have a cat. (though I've cared for my parents' cats pm occasion)
<UmbralRaptor> SnoopJeDi: glad that the cat was present for that photo.
<egg> UmbralRaptor: groan
<UmbralRaptor> Puns (much like cats) are important.
icefire has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
<SnoopJeDi> categorically so, even
<egg> meow
egg is now known as egg|zzz|egg
* UmbralRaptor pets egg with a cat.
<Fiora> i'm a cat, plus or minus
awang has quit [Ping timeout: 383 seconds]
awang has joined #kspacademia
<SnoopJeDi> exp(kat*x ± o-meow-ga*t)
<FluffyFoxeh> ±cat
<SnoopJeDi> bah, missed my chance at Fiora(x, t) = ...
<soundnfury> SnoopJeDi: shouldn't it be ± i*o-meow-ga*t?
<SnoopJeDi> yes
<soundnfury> I mean, unless you're taking the Laplace transform of your cat, but why would anyone do _that_?
<SnoopJeDi> although a general wave equation is solved by any function f(kx±ωt) that satisfies a dispersion relation! \o/
* soundnfury gives SnoopJeDi a dispersion cat
<kmath> YouTube - I just bought the most ridiculous car
<SnoopJeDi> soundnfury, is it a ray cat?
<Iskierka> https://i.imgur.com/ridOjGH.mp4 caaaaaaaaat
<Fiora> whitequark: hey, random thought. suppose we had a "cure for cancer" of some sort, some sort of (customizable?) drug that could target cells by criteria accurately enough to be useful
<Fiora> in theory couldn't that same thing be used for lots of other stuff too.
<Fiora> ex: you could use that same technique to attack any other type of cell by any other reasonable criterion
<Fiora> i mean this is dumb but you could use a cure for cancer to destroy, say, follicles. i know, i know, this is using a moon rocket to ascend a staircase
<whitequark> Fiora: oh we not only can do that today but also we sometimes do it by accident
<whitequark> e.g. if you expose immunoprivileged cells, like sperm, to your immune system, such as during vasectomy, you might well become sterile
<whitequark> in principle, CAR-T can be used to do what you've just described, though I am not aware of anyone actually doing it for non-cancer.
<whitequark> also, one other thing is that the body is normally quite careful about not fighting parts of itself, and you might find that, unlike with cancerous cells (which are very bizarre beasts and often not that much like you at all, e.g. different chromosome count and stuff) and germ line cells (which, similarly, are unusual), attacking something more mundane will take more effort
<Fiora> interesting
<Fiora> are all these things about triggering the immune system on certain cells?
<Fiora> as opposed to just like. killing those cells directly
<whitequark> well
<Fiora> since i know that's *also* a thing in cancer treatment
<whitequark> how do you kill these cells directly? more precisely, how do you target them?
<Fiora> maybe they express a unique signature of some sort, e.g. in terms of proteins or otherwise?
<whitequark> well sure, how do you actually detect that?
<whitequark> what you call "signature" is actually the MHC antigens presented on the surface of the cell
<whitequark> for, well, the immune system.
<Fiora> makes sense
<whitequark> you could try to reinvent the immune system but I doubt you'll be very successful :p
<Fiora> pfff
<Fiora> i assume there must be some reason why different types of cells are not straightforwardly distinguishable by gene expression, i.e. the reason you can't just go after a particular gene's expression and downregulate it somehow
<whitequark> you can
<whitequark> for example, bicalutamide, an antiandrogen, does precisely that
<whitequark> it downregulates every gene depending on AR
<Fiora> huh!
<Fiora> AR?
<whitequark> the thing though is that you can't do this *arbitrarily* because you need a very high degree of specificity (or you'll just kill the cell) and that generally means that the body has to cooperate
<whitequark> androgen receptor
<whitequark> it's a nuclear steroid receptor
<whitequark> so basically when T binds to AR, AR dimerizes, is trafficked into nucleus, is bound to DNA, and allows transcription to happen
<Fiora> are there cases where "just killing the cell" would be okay if you knew the relevant receptor was only on cells oyu wanted to kill
<whitequark> yes. then it could be as simple as e.g. using a radioactive ligand.
<whitequark> or uh
<whitequark> what was the combination estrogen/chemical weapon?
<Fiora> LOL
<whitequark> literally
<Fiora> oh i know it's still great though
<whitequark> so like, there's also CRISPR
ferram4 has quit [Ping timeout: 200 seconds]
<whitequark> we have been able to inject genetic material into cells and even organisms for a long time, but we didn't have the ability to arbitrarily edit DNA
<whitequark> CRISPR does that. if we just want to silence a single gene, sure, targeting it with CRISPR and inducing double strand breaks will do
<whitequark> you still need a carrier though, a retrovirus usually
<Fiora> i'm now imagining shoving a short half life alpha emitter onto something that's taken up by hair follicles lmao
<Fiora> unfortunately i imagine it'd be hard to get it *only* into the ones you want
<whitequark> why not just use DHT
<whitequark> DHT induces follicular death by constricting blood flow
<whitequark> hence, androgenic alopecia
<whitequark> I'm not sure why it happens only on the scalp, but it can probably be induced elsewhere
<Fiora> huh.
<Fiora> doesn't it *cause* follicular growth elsewhere? or is that just regular T?
<whitequark> it's activation of AR in either case
<whitequark> but, you can block AR systemically with a silent agonist, and apply topical DHT
<whitequark> DHT is a ligand with an extremely low Ki, so with high local concentrations you'll overstimulate the receptors
egg|zzz|egg is now known as egg
<egg> !wpn whitequark
* Qboid gives whitequark a honed neutron
<egg> !wpn Fiora
* Qboid gives Fiora a FORTRAN ear
<whitequark> could probably make a superagonist too if you wanted
<egg> yay I'm awake before you go to sleep for once :-p
<Fiora> meow?
* egg pets Fiora
<Fiora> merrerwrewrewrewerwetired
<kmath> <whitequark> @johnregehr that thing is fucking terrifying in every way
<Fiora> whitequark: speaking of jellyfish, see what i just tweeted
<Fiora> so apparently the stinging cells in jellyfish eject their payloads at accelerations over *5 MILLION g*
<Fiora> they also filmed this somehow, at a microscopic scale, at 1.4 million fps
egg is now known as egg|afk|egg
<egg|afk|egg> Fiora: Ꙩ_ꙩ
<egg|afk|egg> I like botneurumab's tweets
* egg|afk|egg should go to work
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Ping timeout: 198 seconds]
egg|phone|egg has joined #kspacademia
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #kspacademia
egg|mobile|egg has joined #kspacademia
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|phone|egg has quit [Read error: Connection reset by peer]
<egg|work|egg> !u '
<Qboid> U+0027 APOSTROPHE (')
<egg|work|egg> !u "
<Qboid> U+0022 QUOTATION MARK (")
<egg|work|egg> but, why did nobody eat the oyster samples?!
<Iskierka> presumably didn't find them?
<egg|work|egg> hmm
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]
egg|phone|egg has joined #kspacademia
egg|cell|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]
awang has quit [Ping timeout: 200 seconds]
egg|phone|egg has joined #kspacademia
egg|cell|egg has quit [Ping timeout: 186 seconds]
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
egg|phone|egg has joined #kspacademia
<kmath> <johnregehr> @ManishEarth @samps sure it all starts innocuously but then suddenly you're a professor or something
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
egg|phone|egg has joined #kspacademia
egg|cell|egg has quit [Read error: Connection reset by peer]
awang has joined #kspacademia
APlayer has joined #kspacademia
<APlayer> Hi!
ferram4 has joined #kspacademia
<egg|work|egg> oh nice it should snow all week
BPlayer has joined #kspacademia
APlayer has quit [Ping timeout: 383 seconds]
ferram4 has quit [Ping timeout: 198 seconds]
* UmbralRaptor places egg on the tenure track.
<SnoopJeDi> choo choo
<egg|work|egg> UmbralRaptor: cat!
<UmbralRaptor> SnoopJeDi: sorry, no funding for trains.
<SnoopJeDi> or other infra :/
<egg|work|egg> UmbralRaptor: it's just grad students saying "choo choo"
<SnoopJeDi> my labmate has sunk a master's worth of time into an electric distribution cable weld method...and DOE isn't particularly interested?
BPlayer is now known as APlayer
* UmbralRaptor despairs.
<UmbralRaptor> egg: floofy cat
<SnoopJeDi> it's neat, you jam the tool into the aluminum and stir-weld. No void space, and impurities are naturally pushed out of the joint
<egg|work|egg> UmbralRaptor: is it Atlas
<SnoopJeDi> (the typical method is a crush-crimp + drown it in solder and that sucks)
* APlayer gives UmbralRaptor a small ball of furry to prevent from despairing
<UmbralRaptor> APlayer: as in a kitten, or a tyop of "fury?"
<APlayer> As in kitten
<UmbralRaptor> Yay, kitten.
<kmath> <eevee> a "tail call" is like a booty call but for furries
<UmbralRaptor> Seems accurate
<APlayer> UmbralRaptor: https://i.imgur.com/0onXKmw.gifv
<SnoopJeDi> Compiler humor is not something I expected to enjoy
ferram4 has joined #kspacademia
<egg|work|egg> !u U+fe8e
<Qboid> U+FE8E ARABIC LETTER ALEF FINAL FORM (ﺎ)
<egg|work|egg> !u U+fe91
<Qboid> U+FE91 ARABIC LETTER BEH INITIAL FORM (ﺑ)
<egg|work|egg> !u U+fe93
<Qboid> U+FE93 ARABIC LETTER TEH MARBUTA ISOLATED FORM (ﺓ)
<kmath> <curiouswavefn> Teller playing Beethoven's Moonlight Sonata: Volatile neurons and detonators fire, tritium and moral ambiguities fu… https://t.co/gHCygFh6jp
<bofh> *snerk*
<bofh> "Teller playing Beethoven's Moonlight Sonata: Volatile neurons and detonators fire, tritium and moral ambiguities fuse, faith and plutonium implode, the hauntingly beautiful notes intertwine and signal a glorious armageddon."
<Ellied> still don't understand why kmath truncates tweets
<Ellied> even with the doubled character limit, all tweets are still barely half as long as the longest message allowed by most IRCds
<bofh> I *think* but am not certain that it's an API limitation on the older API (but can't be arsed to read twitter API docs to confirm, tbh, so take this with a bushel of salt)
<Ellied> that's borked
<Ellied> It thought sort of the whole point of twitter was that tweets are always within the attention spans of those (computers or humans) reading them.
<egg|work|egg> bofh: okay so my terminal does weird things to arabic
<bofh> egg|work|egg: did you run into yet another buggy implementation of BiDi?
<egg|work|egg> no it's worse
<egg|work|egg> bofh: I can type (or paste in) arabic, but it displays presentation forms
<egg|work|egg> so if I copy from my terminal I get presentation forms
<egg|work|egg> which look the same in the terminal of course
<egg|work|egg> (looks broken in something that properly displays arabic)
<egg|work|egg> bofh: leads to slightly confusing things when trying to write tests :_p
<egg|work|egg> bofh: oh I mean of course I'm doing all that because I am dealing with incomplete implementations of UAX #9
<Qboid> [#9] title: Elementary functions | | https://github.com/mockingbirdnest/principia/issues/9
<egg|work|egg> as found in... most browsers?
<egg|work|egg> :D
<egg|work|egg> bofh: the following parentheses should be matched: abc (abc ابة) אבג
<bofh> what do most people fuck up in UAX#9 anyhow?
<bofh> it's not that hard of an algorithm
<egg|work|egg> famous last words
<egg|work|egg> brackets have fun rules
<egg|work|egg> bofh: do the parentheses look correct in the above eggsample?
<egg|work|egg> the UAX says it should
<egg|work|egg> but they don't in chrome; or in safari; but the OS's renderer is correct on both my linux and mac machines :D
<egg|work|egg> so if I select that thing, and right click, the parentheses are matched in the right-click menu
<bofh> the parentheses *are* matched in my TERMINAL if I copy-paste into it but chrome fucks it up
<egg|work|egg> bofh: be careful
<egg|work|egg> bofh: the terminal might not even be trying, in which case it will look matched but be fundamentally bad
<bofh> how do you screw up N0 tho, it's like one of the easiest damn rules. like my bidi impl fucks up (or rather, ignores) W2, but that's b/c W2 is a bloody nightmare.
<egg|work|egg> bofh: what order are אבג in in your terminal
<bofh> RTL, i.e. correct
<egg|work|egg> ok nice
<egg|work|egg> my terminal is a piece of shit
<egg|work|egg> shows chars LTR *and* substitutes presentation forms for arabic :D
<egg|work|egg> bofh: N0 is more recent iirc?
<bofh> I think presentation forms are fine in certain circumstances iirc? (at least for the lam-alef ligature?)
<bofh> yeah I suspect most people are using a crazy old fribidi impl that's stuck at Unicode 5
<egg|work|egg> bofh: so like it turned alef-beh-teh marbuta into alef final - beh initial - teh marbuta isolated
<egg|work|egg> so my terminal is just doing random shit at this point
<bofh> the fuck
<bofh> like I suspect it's turning it into presentation forms b/c bitmap fonts don't really support GSUB init/fin?/medi/isol tables
egg|phone|egg has quit [Read error: Connection reset by peer]
<bofh> and so this allows it to map to correct glyphs
<bofh> but ugh.
egg|phone|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
egg|phone|egg has joined #kspacademia
<kmath> <firefox> We're having our BIGGEST #CYBERMONDAY SALE EVENT EVER (the browser is totally free, so it's more of a download-a-th… https://t.co/EkD6svXcxW
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
<kmath> <eevee> HAPPY CYBERMANDAY, HUMANS REMAIN CALM AND PREPARE FOR UPGRADE WE WILL BE INSTALLING WINDOWS 10 IN YOU https://t.co/C2VbFG7wi9
<egg|afk|egg> bofh: I don't think I want to know what this terminal is doing, it's already writing drawkcab
egg|afk|egg is now known as egg
<egg> !wpn bofh
* Qboid gives bofh a Sierpiński jellyfish
<egg> !wpn UmbralRaptor
* Qboid gives UmbralRaptor a carbon cathedral
<egg> !wpn whitequark
* Qboid gives whitequark a well-tempered zero
<egg> !wpn Fiora
* Qboid gives Fiora a cerium magma
UmbralRaptor is now known as NomalRaptor
<NomalRaptor> !wpn egg
* Qboid gives egg a europium magma-like lemma
<egg> NomalRaptor: wait does that mean you're a goblin
<egg> how does that tie into that goblin metrology D&D thing
<kmath> <MuckRock> Amtrak offers up a solid contender for greatest #FOIA redaction of all time https://t.co/CFKgwotYFn https://t.co/12qVl9PkxX
<NomalRaptor> This means that I'm feeling anxious about Euler angles.
<NomalRaptor> I'm also feeling anxious from needing to spend an hour going back to my apt to get some books I forgot. o_O
<NomalRaptor> Iskierka: these SCPs are getting silly.
<egg> NomalRaptor: so let's eggsplain it in coordinates
<APlayer> Okay, so I brought this topic up a whole while ago in #KSPOfficial, but (I think) Iskierka explained how and why this would not work as I imagined. Now it came up again, and I am redirecting this here, into the land of physicists and engineers: If one injects water into a combustion engine's fuel, would the engine performance increase because of the steam expanding strongly, plus cooling the combustion chambers?
<egg> NomalRaptor: you have a rotation matrix R(θ,φ,ψ), where all three angles depend on time
<egg> NomalRaptor: differentiate that with respect to time, you get a skew-symmetric matrix (because that's what you get when you differentiate a rotation matrix)
<egg> NomalRaptor: that's your angular velocity
<NomalRaptor> APlayer: for a rocket, more thrust at lower Isp (assuming you don't mess up combustion)
<APlayer> For a car engine, rather
<Iskierka> similar. I know some BMW engines use water injection for power, but it doesn't help efficiency
<APlayer> So it uses more fuel per work, but does more work per time?
<Iskierka> good description and similar to superchargers, but cheaper (if probably less effective)
<egg> NomalRaptor: does that make sense?
* egg pokes NomalRaptor with a stick
<NomalRaptor> Ow.
<NomalRaptor> egg: IIRC, the matrix that I get doesn't match up with the necessary transformation.
<egg> which matrix
<egg> and which transformation
<egg> bofh: btw upon reflection the f'(0) from f(0), f(-h), and f''(-kh) is trivial with backward difference formulae of arbitrary order for arbitrary derivatives (just cancel the right bits of the series)
* egg pokes NomalRaptor with matrices
<egg> NomalRaptor: note that conventions will vary on what R is as a function of the angles (active vs passive rotation, which axes, etc.)
<NomalRaptor> aaaaaaaa
<egg> but differentiating R will give you an antisymmetric matrix no matter what
<NomalRaptor> (one moment, commuting)
<Iskierka> commutating?
<egg> NomalRaptor: but it's basically just https://physics.stackexchange.com/a/74014/75723
<NomalRaptor> Iskierka: [Hopefully, not]
APlayer has quit [Ping timeout: 207 seconds]
<FluffyFoxeh> those are snakes
<Iskierka> sneks
<e_14159> Python 3?
<Iskierka> are they pythons?
<e_14159> I'm not letting facts get in the way of a pun.
APlayer has joined #kspacademia
<Ellied> aaaaaaghaghghhghahhahaghaghhhghhagh
<Ellied> FUCKING bluetooth audio
<APlayer> Specifically targeted at UmbralRaptor. https://i.imgur.com/M2tooef.jpg :P
<NomalRaptor> APlayer: Hence why making a T-Rex look like a giant sparrow sort of makes sense.
<APlayer> NormalRaptor: Does this image even make sense? Or is it just being silly?
<Iskierka> overall excessive but probably not by so much in several places. Legs could easily look like that
<NomalRaptor> ^
<rqou> egg: hey, i need some advice about doing numerical simulations
<rqou> i want to simulate a system of linear ordinary differential equations
<NomalRaptor> rqou: Start with 64bit numbers,
<NomalRaptor> Your rounding errors will thank you.
<rqou> but the annoying part is that they're not homogeneous, and the "input" function a) is not linear b) probably cannot be expressed as a closed-form expression
<rqou> (but obviously it can be computed with a (complicated) program)
<rqou> can i start with the naive "dx/dt = (x_last - x_this) / timestep" method?
<NomalRaptor> Yes. Whether it will work well is somewhat ambiguous, but very yes.
<NomalRaptor> Are they all first order?
<rqou> no, second order
<rqou> (in case it's not obvious, this is a linearized physical dynamics model and a feedback controller"
<NomalRaptor> I ask because there can be subtleties.
<NomalRaptor> x''=f(x, t); x += x'*t + 0.5*x''*t^2; x' = t*x''
<NomalRaptor> Uh,
<NomalRaptor> x''=f(x', x, t); x += x'*t + 0.5*x''*t^2; x' = t*x''
<NomalRaptor> Might not be well conditioned (ask egg or bofh), but note that parabolic bit for x.
* egg grabs a trout
<NomalRaptor> uh oh
<NomalRaptor> That's easy: income ≤ rent + utilities + food https://twitter.com/kevinschawinski/status/935233528815595523
<kmath> <kevinschawinski> Personal finance for engineers https://t.co/Q4eqpSerw8
* rqou makes an obligatory "mock stanfurd" joke
<egg> rqou: what kind of numerical simulation is it? long-time integration? integrating many thing to get qualitative results? or something precise?
<egg> is the system stiff?
<rqou> a handwavey "i think this feedback controller is going to be stable enough"
* egg thinks this is not an answer
<rqou> so more or less a short-horizon "does it diverge" simulation
<egg> just pick a random Runge-Kutta-Nyström method and see what... oh, so you need stepsize control?
<rqou> yeah
* egg casts "summon bofh"
<rqou> otherwise i would have already just asked scipy to do it :P
<e_14159> NomalRaptor: Why are there over a hundred external scripts on that course's website?
<rqou> at any rate, the dynamics model is linearized anyways so the simulation is already not perfect
<rqou> i probably cannot into space with a linearized model :P
<rqou> unlike principia :P :P
<NomalRaptor> e_14159: stabbity
* rqou inserts another "because it's stanfurd" jab :P
<egg> rqou: what? where do we linearize?
<rqou> the ODE i have is already linearized
<rqou> oh, i meant principia doesn't because it's "real math" unlike my toy
<egg> rqou: take an embedded explicit Runge-Kutta-Nyström method
<egg> it will be nice for a 2nd order ODE, and have stepsize control
<e_14159> NomalRaptor: Excellent point.
<egg> no symplecticity so not conservative but I don't know whether you have nice first integrals anyway
<e_14159> Also o_O at the student loans.
<rqou> hrm, so i first need to rewrite into the form q''=f(q,t) :P
<egg> rqou: well yes you need a rhs
<rqou> i have a standard form from the "controls" universe: Ax''+Bx'+Cx=u
<egg> rqou: paper for the above embedded RKN https://doi.org/10.1016/0771-050X(80)90013-3
<egg> rqou: wait, so you do have a dependence on x'?
<egg> rqou: in that case you can't use a RKN method, you should have said so
<rqou> wait, you can't?
<rqou> i didn't realize this was special
<egg> rqou: at that point it's just the standard trick of turning it into a first-order equation, and use your favourite RK method
<rqou> ok, i need to do that anyways
<egg> rqou: RKN is specifically for x'' = f(x, t); RK is the more general y' = f(y, t)
<egg> rqou: well, y := (x, x'); your equation becomes y' = (g(y, t), x), which is of the form f(y,t)
<egg> you have twice the dimensions but it's first-order
<egg> and now you just take an embedded RK method
<rqou> yeah, i've used that trick before
<egg> (dormand-prince whatever)
<rqou> "controls" people do that to get dynamics equations into the "linear controls" standard form
<rqou> x' = Ax + Bu
<rqou> y = Cx + Du
<egg> yeah I mean it's not specific to controls
<egg> it's a general thing with differential equations like that, they're fundamentally just first-order
<egg> and then you prove things about first-order and come up with integrators for first-order
<rqou> oh herp derp
<rqou> i can still use scipy.integrate.ode
<egg> yes
<rqou> nvm i'm just going to go do that now :P
<rqou> (the "point" of this is the controls part, not the numerical part)
<egg> rqou: the nice thing with y'' = f(y) is that you can make integrators that will be *better* than just doing that (RKN rather than RK methods, etc.)
<egg> rqou: yes but you asked the egg so now you're going to hear about the numerics
APlayer has quit [Ping timeout: 207 seconds]
<egg> rqou: the wrath of the egg is upon you now :-p
<e_14159> egg: s/wrath/numerics
<Qboid> e_14159 thinks egg meant to say: rqou: the numerics of the egg is upon you now :-p
<egg> is there even a difference
icefire has joined #kspacademia
<e_14159> Not to us mortals, no.
<rqou> hmm, scipy.integrate.ode seems to "just work"
<NomalRaptor> Snek libraries try to always include batteries.
<rqou> also, pyplot can be very misleading if your sim diverges
* SnoopJeDi hugs scipy
<rqou> "why does it always seem to diverge near the end no matter the timestep? oh, because the values are now 1e+40 or so"
<rqou> s/timestep/duration
<Qboid> rqou meant to say: "why does it always seem to diverge near the end no matter the duration? oh, because the values are now 1e+40 or so"
<SnoopJeDi> rqou, set your axes explicitly (or check them programmatically for pathological values)
<rqou> meh, don't care enough
<rqou> the graphs are just qualitative
<SnoopJeDi> matplotlib is...a mess.
<rqou> i hate it
<rqou> i have yet to find a plotting tool that i don't hate
<SnoopJeDi> the imperative interface a la MATLAB is convenient, but gets you into all kinds of hell
<rqou> i might try the thing scanlime is currently using
<SnoopJeDi> if you *can* interact with it in the more idiomatic matplotlib way, you ought to
<SnoopJeDi> and Yhat's ggplot implementation on top of it looks like it'll be okay
<SnoopJeDi> but if you really want ggplot you're already writing R and stabbing people with Bayes' theorem
<rqou> so i have two use cases for plotting: "whatever, qualitative", or "some real-time signal"
<rqou> for the first one i really don't care
<rqou> and for the second, everything i've used sucks
<rqou> apparently i've been told "scientific computing people" don't really use live/real-time plotting very much?
<SnoopJeDi> LOL
<SnoopJeDi> oh, real-time
<SnoopJeDi> uhh, yes and no
<Ellied> we have a whole machine just to do that
<SnoopJeDi> there are some nice JS libraries, but even matplotlib can do it
<rqou> last i tried matplotlib was slow as shit
<rqou> i might try the JS thing scanlime is using
<SnoopJeDi> it's easy to write very bad matplotlib
<rqou> i tried d3 and it was both painful and slow as shit
<SnoopJeDi> interfacing directly with d3 is not for the weak of stomach
<SnoopJeDi> if it was slow, your code was bad, heh.
<rqou> maybe the code was bad
<SnoopJeDi> Mike Bostock is 100% a polymath
<SnoopJeDi> dude's a genius
<rqou> anyways, my housemate claimed that "scientific computing people" are much more likely to have a use case like "this is demographic data that was collected over the last century. it's a lot, but it doesn't really change" rather than a use case of "i have an arduino with a widget plugged into my computer right now"
<rqou> but since i do robotics/embedded/controls, i keep ending up in that second category rather than the first category
<SnoopJeDi> there are plenty of applications that require realtime plotting
<SnoopJeDi> and plenty of people using matplotlib for that
<rqou> hrm
<rqou> maybe i was using it wrong
<SnoopJeDi> it's hard to talk about it in a general case
<SnoopJeDi> but like I said, it's easy to write bad matplotlib (or bad Python, tbqh)
<SnoopJeDi> to say nothing of the backends
<rqou> oh, usually when i write these they're giant hacks
<SnoopJeDi> d3.js is fun though: http://snoopjedi.github.io/opremember-d3/
<rqou> e.g. "the arduino just blindly spits bytes out the serial port at <rate>, and the python code just spams read()"
<rqou> followed by spamming plt.plot()
<SnoopJeDi> did you profile whatever it was? was it actually slow in the plotting?
<rqou> i don't remember anymore
<rqou> also, apparently according to scanlime spamming read() is really terrible for usb devices, but i never looked into why
<SnoopJeDi> yea, I could easily see some kind of blocking happening there
<rqou> but iirc it was bottlenecked on plt.plot()
<rqou> probably because i was doing it wrong
<SnoopJeDi> since I have familiarity with d3/C3/Carbon I would just use those because UI is impossible and browsers are halfway sane
<rqou> iirc it used two np.arrays as ring buffers and spammed plt.plot() on every received sample
<SnoopJeDi> would happily serve the data from a Python server and let a browser do the drawing
<rqou> which then causes plt.plot() to fall behind, and then everything blows up
<SnoopJeDi> "spamming" in general doesn't create optimal routines :P
<SnoopJeDi> and plt.plot() would at best be doing a lot of unnecessary redrawing, at worst be filling up the Axes object with cruft?
<rqou> idk?
<rqou> iirc i somehow cleared the old plots
<SnoopJeDi> it's a Hard Problem™
<SnoopJeDi> right, that's what I mean by unnecessary redrawing
<SnoopJeDi> vs. interacting with the Axes object to tell it "your data has updated"
<rqou> maybe i did that?
<rqou> iirc it still can't keep up if you also need to spam read()
<rqou> and the data comes in at 1khz constantly
<SnoopJeDi> ¯\_(ツ)_/¯
<rqou> yes, i know that read(1) is never going to make efficient code :P
<SnoopJeDi> were you trying to *draw* at 1khz?
<SnoopJeDi> because that would definitely be slow :P
<rqou> i was trying to tell the drawing tool to accept new data at 1khz which probably doesn't work
<rqou> obviously it only _actually_ draws at 60Hz
<SnoopJeDi> Even that is pretty fast
<SnoopJeDi> but yea
<rqou> vidya can do it :P
<SnoopJeDi> matplotlib certainly isn't known for it's speed
<SnoopJeDi> oh oops, Graphite was the JS lib I was thinking of
<SnoopJeDi> I think that one is popular in some devops circles
<SnoopJeDi> speaking of plotting and fun, I spent entirely too much time playing with that "smoothly looping simplex noise" article last night: https://i.imgur.com/U71KqwR.mp4
<SnoopJeDi> makes a lot of sense to parameterize a circle in (N+2) dimensional space as {U,V} = r*{cos,sin}(ωt) to get smooth loops in N-dimensional space :D
<bofh> PSA: "Hahn-Banach" can be used as a verb.
<SnoopJeDi> LOL
<SnoopJeDi> When did Wikipedia add hover-peeks, btw? It's *really* nice on math articles.
<bofh> Not sure, but it really is.
<bofh> (Also this reminds me of my fav sleazy trick in functional analysis: using Hahn-Banach to cleverly extend the zero functional on some nasty subspace to something nonzero on the whole space, but with that subspace as its kernel)
<kmath> <Myrmecos> Please be aware that @scienmag is PR spam. I don't know why Twitter decided to dignify it with a verified account.… https://t.co/M8dUYTRhgH
<soundnfury> egg: have you seen this eggskcd: https://xkcd.com/1920/ ?
<NomalRaptor> Is it appropriate to ? a grad student for pronouncing Euler as "Yooler?"
<SnoopJeDi> Everybody gets *one*
<Ellied> !u ?
<Qboid> U+1F52A HOCHO (?)
<Ellied> NomalRaptor: yes
<SnoopJeDi> I'm alarmed by the total lack of any interest in pronouncing non-anglophone names in science.
<SnoopJeDi> correctly, that is
<SnoopJeDi> shoot, Snell's name wasn't even Snell!