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
<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
<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,
<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?
<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
<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
<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]
<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]
<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>
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.
<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
<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