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.
<bofh> 23:44:34 * Qboid gives egg a Teller-Ulam glaive
<bofh> what about a Teller-Ulam glaive-guisarme-glaive?
<kmath> <carrera_mt> F16 / F1.4 #F値 https://t.co/ZjGYVpBe09
<egg|zzz|egg> live cat. https://www.twitch.tv/tucoflyer
<egg|zzz|egg> cat is moving its paw
e_14159 has quit [Read error: No route to host]
e_14159 has joined #kspacademia
<egg|zzz|egg> UmbralRaptor: nomal|zzz
<egg|zzz|egg> aw cat is gone from the rack
<egg|cell|egg> Can't zzz
<kmath> <Newpa_Hasai> @McNutcase I'm bothered by the assumptions it makes about keyboards. (I typically have 0 to 5) Using the first, I g… https://t.co/THo9WCxC9Z
<egg|cell|egg> I get My kink is trying to describe the cat that looks like anbocat
* UmbralRaptor blinks.
<UmbralRaptor> Oh.
<UmbralRaptor> Somehow that's not surprising.
<egg|cell|egg> Hah
<UmbralRaptor> Relatedly, over half of @fioraaeterna's followers are or want to be catgirls.
<egg|cell|egg> My 24 μm Spitzer keyboard has shipped
<egg|cell|egg> Autosuggestion from keyboards: Keyboards and mice and men and women who are crazy busy with a question about a dozen of the day of the day but me pokes UmbralRaptor with a question of wording too on the wait no I don't technically have a cat with a question of wording
<egg|cell|egg> !wpn UmbralRaptor
* Qboid gives UmbralRaptor a life
<egg|cell|egg> Uh
<UmbralRaptor> ...what am I supposed to do with that strange thing?
<egg|cell|egg> !Wpn UmbralRaptor
* Qboid gives UmbralRaptor a stern warhead
<UmbralRaptor> !wpn egg|cell|egg
* Qboid gives egg|cell|egg a [DATA EXPUNGED] turnstile
<egg|cell|egg> UmbralRaptor: kozai probably
<soundnfury> aww man I did it again
<soundnfury> I stayed up 'til nearly 4AM watching Jacob Rees-Mogg videos on YouTube.
icefire has quit [Read error: Connection reset by peer]
<soundnfury> That's the second time in as many weeks :/
ferram4 has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
ferram4 has joined #kspacademia
Qboid was kicked from #kspacademia by *status [You have been disconnected from the IRC server]
Qboid has joined #kspacademia
egg|phone|egg has joined #kspacademia
egg|cell|egg has quit [Ping timeout: 180 seconds]
egg|work|egg has joined #kspacademia
<egg|work|egg> !seen bofh
<Qboid> egg|work|egg: I last saw bofh on [04.05.2017 00:07:49] in #kspacademia saying: "what about a Teller-Ulam glaive-guisarme-glaive?"
<egg|work|egg> !wa CDT
<Qboid> egg|work|egg: Central Time (Mexico) | daylight saving time: 4:07:12 am CDT | Thursday, May 4, 2017
* egg|work|egg vaguely wondering what to make of condition numbers; if I understand things correctly, for large K, computing something with condition K and shoving that into something with condition 1/K should be ok, but the reverse is a terrible idea because the rounding error in the middle will be expanded to death by the second operation?
egg|work|egg has quit [Ping timeout: 180 seconds]
<Iskierka> ... discovered a 3D printer in one of the uni labs. Not sure if can use
<Iskierka> Says to speak with a person. May do if find a desired use
* whitequark grumbles about keyboards
<whitequark> i fucking hated the... whatever's the non-island style is called
<whitequark> could as well try to type on wet pieces of soap
<whitequark> Ellied: (computers being locked down) it's inevitable as long as you live somewhere the copyright cartel has enough power
<whitequark> move to argentina or w/e
<whitequark> or murder your government
e_14159 has quit [Ping timeout: 186 seconds]
e_14159 has joined #kspacademia
egg|work|egg has joined #kspacademia
<egg|work|egg> whitequark: what do you mean by island?
<whitequark> egg|work|egg: island/chiclet/etc, so like this http://www.focus-laptop-keyboard.com/pic/10300703.jpg
egg|work|egg_ has joined #kspacademia
<egg|work|egg_> whitequark: so basically the reverse of bofh's preferences?
egg|work|egg has quit [Ping timeout: 180 seconds]
<whitequark> egg|work|egg_: like everyone i know is a fan of thinkpad's horrible keyboards for some reason
<egg|work|egg_> whitequark: well they've changed
<egg|work|egg_> the x1 carbon's isn't the same as the x220's
<egg|work|egg_> I think it's what you'd describe as island
<egg|work|egg_> insular keyboard?
egg|work|egg_ is now known as egg|work|egg
ferram4 has quit [Ping timeout: 201 seconds]
<whitequark> egg|work|egg: yeah but also The True Followers Of Thinkpad Religion say that x1 is Not A Real Thinkpad
ferram4 has joined #kspacademia
egg|work|egg has quit [Ping timeout: 180 seconds]
egg|work|egg has joined #kspacademia
<egg|work|egg> !wpn whitequark
* Qboid gives whitequark an inverted catbus
<soundnfury> !wpn egg|work|egg
* Qboid gives egg|work|egg an irregular fake cryocooler
egg|work|egg has quit [Ping timeout: 180 seconds]
TonyC1 has joined #kspacademia
TonyC has quit [Ping timeout: 204 seconds]
<bofh> egg|phone|egg: ?
<egg|phone|egg> Bofh: ??
* egg|phone|egg is in the tram, going home early because desk being moved
<egg|phone|egg> My TL gets desk 39A
Thomas|AWAY is now known as Thomas
egg|cell|egg has joined #kspacademia
egg|phone|egg has quit [Read error: Connection reset by peer]
* egg|zzz|egg pokes bofh with a stick
<egg|zzz|egg> !wpn whitequark
* Qboid gives whitequark an orthogonal spear
<bofh> egg|zzz|egg: ?
<bofh> 09:07:02 < egg|work|egg> !seen bofh
<bofh> like was asking what you were poking me about :p
<egg|zzz|egg> bofh: whether I was understanding how to use the condition properly
<egg|zzz|egg> bofh: * egg|work|egg vaguely wondering what to make of condition numbers; if I understand things correctly, for large K, computing something with condition K and shoving that into something with condition 1/K should be ok, but the reverse is a terrible idea because the rounding error in the middle will be expanded to death by the second operation?
<egg|zzz|egg> UmbralRaptor: hmm, so with a LEGO Saturn V, you only need to make a LEGO S-IB to also get the Saturn IB >_>
<egg|zzz|egg> whitequark: https://twitter.com/TheRealDrMcCoy/status/860118291150450688 << if one believes the author you're citing, translation is unnecessary, as long as you stay within the same script
<kmath> <TheRealDrMcCoy> @whitequark So VBA was right when it translated all tokens?
<whitequark> egg|zzz|egg: I don't understand
<egg|zzz|egg> whitequark: which makes sense; I learned VB6 and VB .net when I didn't know a word of english, and that didn't seem like an issue to me; I would probably have been awfully confused had the keywords been, say, in cyrillic
<egg|zzz|egg> i.e., translating the tokens to french is probably not necessary; translating them to russian/chinese might be more useful
<egg|zzz|egg> whitequark: also I think ALGOL 68 translated tokens too :-p
<whitequark> oh, *script*
<whitequark> nevermind I understood
<whitequark> it's complex
<whitequark> translating ocaml keywords to russian is not really feasible if you ask me
<egg|zzz|egg> whitequark: yeah, the grammar probably makes things shitty, even to french
<egg|zzz|egg> and then if you deal with libs written by other people, you *really* don't want to deal with identifiers in <insert language here>
regex has joined #kspacademia
<egg|zzz|egg> (though when I wrote VB 6/VB .net/even a bit of Ada 95 my identifiers were in french)
<egg|zzz|egg> (which gets weird quickly, because the standard libs aren't)
<egg|zzz|egg> !wpn regex
* Qboid gives regex a Bekenstein Ꙭ with a LED attachment
<regex> I read that as a "Beck CD" and got mad.
icefire has joined #kspacademia
<egg|zzz|egg> !u Ꙭ
<Qboid> U+A66C CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O (Ꙭ)
<egg|zzz|egg> !wpn UmbralRaptor
* Qboid gives UmbralRaptor a prime falcon
<egg|zzz|egg> UmbralRaptor: nomal|principia
<bofh> egg|zzz|egg: yes
<bofh> egg|zzz|egg: or at least there is a distinct possibility of rounding error blow-up. depends on how big K is and also other fun properties such as how sparse your matrices are etc.
<bofh> !u ꙮ
<Qboid> U+A66E CYRILLIC LETTER MULTIOCULAR O (ꙮ)
<bofh> (I personally prefer "CYRILLIC LETTER SHOGGOTH" as a name for that one)
<whitequark> lol
<egg|zzz|egg> bofh: these aren't matrices
<egg|zzz|egg> but it should apply to arbitrary functions
<egg|zzz|egg> !wpn whitequark
* Qboid gives whitequark a Kozai basilisk
<whitequark> !wpn egg|zzz|egg
* Qboid gives egg|zzz|egg an ordered inequality-like pentagon
<egg|zzz|egg> !wpn UmbralRaptor
* Qboid gives UmbralRaptor a first/follow protractor
<egg|zzz|egg> !wpn bofh
* Qboid gives bofh a phosphorus Lovecraftian instability
<SnoopJeDi> Perhaps a strange question, but are any of you perchance familiar with pyrography?
<egg|zzz|egg> !wpn SnoopJeDi
* Qboid gives SnoopJeDi an integrator
<egg|zzz|egg> !wpn Iskierka
* Qboid gives Iskierka a sub-calibre circle
<SnoopJeDi> ...an eleggant weapon, for a more civilized #kspacademia
<SnoopJeDi> !wpn egg|zzz|egg
* Qboid gives egg|zzz|egg a repeating ?
<SnoopJeDi> !u ?
<Qboid> U+1F52A HOCHO (?)
* egg|zzz|egg doesn't see his keyboard on https://twitter.com/wasdkeyboards
<egg|zzz|egg> do they tweet only a subset of the designs they ship?
UmbralRaptor is now known as NomalRaptor
<SnoopJeDi> You could ask!
<egg|zzz|egg> SnoopJeDi: eh, I know it has shipped, so I can just wait til the ninth :-p
<egg|zzz|egg> NomalRaptor: nomal|principia
<egg|zzz|egg> !choose nomal|principia
<Qboid> egg|zzz|egg: Your options are: nomal, principia. My choice: principia
<NomalRaptor> Pincipia
<egg|zzz|egg> ;choose nomal|principia
<kmath> egg|zzz|egg: nomal
<SnoopJeDi> oh neat, they sell just the keycap sets
<egg|zzz|egg> yeah, in particular if your keycaps wear off they can reprint your design
<SnoopJeDi> Neat!
<egg|zzz|egg> NomalRaptor: pincipia?
Thomas is now known as Thomas|AWAY
<soundnfury> egg|zzz|egg: it's for determining the orbital trajectories of PIN diodes, clearly
<bofh> egg|zzz|egg: well, the analogy still holds. there's a possibility depending on how ill-behaved your functions are of blowup of rounding error, it may still be fine in some cases and not in others.
<egg|zzz|egg> bofh: what do you mean by ill-behaved
<egg|zzz|egg> besides the condition
<bofh> basically that, since by "ill-behaved" I meant "output affected greatly by small perturbations in the input"
<bofh> which I just realised is literally the definition of ill-conditioned.
<egg|zzz|egg> bofh: pretty much, at least under assumptions of continuity & differentiability
<egg|zzz|egg> bofh: well assuming that by ill-conditioned you mean "has a high condition number", and not a generic term of abuse
<egg|zzz|egg> "The expression 'ill-conditioned'
<egg|zzz|egg> is sometimes used merely as a term of abuse applicable to matrices or
<egg|zzz|egg> equations, but it seems most often to carry a meaning somewhat similar
<egg|zzz|egg> to that defined below."
<egg|zzz|egg> (Turing, in Rounding-off errors in matrix processes)
<egg|zzz|egg> bofh: so if your computation is ill-conditioned composed with well-conditioned, the order of composition matters greatly for the roundoff sensitivity then
<egg|zzz|egg> thus if you can write f(x) = g1(h1(x)) = g2(h2(x)) with h1 and g2 being ill-conditioned (and the others well-conditioned in proportion, since the product of conditions is the condition of f), the h1->g1 computation is preferable
<egg|zzz|egg> bofh: which is fun and not entirely intuitive :-p
<bofh> Ahh. Yeah, that's correct AND unintuitive as shit.
<egg|zzz|egg> bofh: indeed :D
<bofh> nomal?
<bofh> oh for fuck's sake irssi
<soundnfury> !wpn bofh
* Qboid gives bofh a Stern-Gerlach sum
<bofh> it was up a page
<bofh> ooh, handy :D
<bofh> still want to see if I can DIY an atomic reference using Rb-87.
<soundnfury> bofh: how do you anaesthetise a quantum mechanic?
<soundnfury> ... with |amine>
<soundnfury> what does a quantum mechanic use to boil water?
<SnoopJeDi> ow
<soundnfury> ... a |tle>
<egg|zzz|egg> bofh: nomal?
<SnoopJeDi> my reaction to these jokes: <vo|
<soundnfury> other joke possibilities include |chup>, |one>, |cetera>
<soundnfury> !wpn SnoopJeDi
* Qboid gives SnoopJeDi a graphite phototransistor
<soundnfury> (huh, that might actually be a thing)
<soundnfury> (well, if you s/graphite/organic, but near enough)
<SnoopJeDi> or perhaps s/ite/ene/ ?
<soundnfury> that too
<SnoopJeDi> Proof that we don't live in the best of all possible worlds: we don't use "goog" as the preferred verb for searching on Google
<soundnfury> how would that conjugate? Would the preterite be "gog", "gag" or "gug"?
<SnoopJeDi> You should goog it and find out
<soundnfury> but I already giig many things today, I don't want to engage in too much googue.
<soundnfury> s/gage/goog
<Qboid> soundnfury meant to say: but I already giig many things today, I don't want to engoog in too much googue.
regex has quit [Remote host closed the connection]
<bofh> https://twitter.com/bofh453/status/860261254899937285 here, have some fuckawful scientific Fortran
<kmath> <bofh453> @KardOnIce @cgranade I literally *NEVER* want to deal with insanity like this ever again: https://t.co/voGLZNAs01
<egg|zzz|egg> bofh: so, concrete example, on [0, π/2], arc cos (cos x / 2) is a well-conditioned function. cos has infinite condition as x tends to π/2, so evaluating it as written should behave much better than as arc sin (sqrt(3 + sin^2 x) / 2), since sin has vanishing condition for right angles (and therefore the rest has infinite condition)...
<SnoopJeDi> That's ugly even by F77 standards :|
<egg|zzz|egg> why is that mixed case
<bofh> I DON'T KNOW! LITERALLY EVERYTHING ABOUT IT IS AWFUL. Still only the second-most unreadable codebase I've dealt with.
<egg|zzz|egg> bofh: also, I do use a lot of short equationlike identifiers, but only as locals
<egg|zzz|egg> structure members and functions have verbose names
<egg|zzz|egg> exceptions: π, e
<bofh> So let's start with: - undocumented, - THAT MANY parameters
<SnoopJeDi> severe whitespace drought
<SnoopJeDi> (although presumably this is because they are sticking to 80 chars?)
<SnoopJeDi> I mean, I can "compliment" the terse variable names by the stupid metric of short == good
<bofh> SnoopJeDi: let me pastebin my award for worst codebase I've ever had the displeasure of debugging
<bofh> or at least one representative file from it
<SnoopJeDi> in particular, the generate() method
<SnoopJeDi> (which is from L482 to L789)
<egg|zzz|egg> bofh: even better eggsample (also do those count as single letter? they're single grapheme cluster, but one of them has a combining mark) https://github.com/mockingbirdnest/Principia/blob/f7e65626bb6faf115efce7ef516fb14e5cf91188/physics/body_centred_body_direction_dynamic_frame_body.hpp#L150-L153
<egg|zzz|egg> !u r̈
<Qboid> U+0072 LATIN SMALL LETTER R (r)
<Qboid> U+0308 COMBINING DIAERESIS (◌̈)
<egg|zzz|egg> \o/ Unicode identifiers \o/
<bofh> SnoopJeDi: https://pastebin.com/WWm3F0sa here, have dorbax.F
<bofh> I still get nightmares from this pile of shitfuck.
<SnoopJeDi> Oh Fortran...
<egg|zzz|egg> bofh: ah, *now* that's FORTRAN
<egg|zzz|egg> bofh: it uses the logical IF rather than the arithmetic one though, so at least you've got that going for you :-p
<bofh> I don't think it's a "Fortran" issue so much as a "started out as ~40 year old Fortran w/most recent commit prior to me looking at it being >10 years ago"
<bofh> egg|zzz|egg: hey I LIKE the arithmetic IF
<SnoopJeDi> "Now That's What I Call(FORTRAN) 77" would be a good title for a blog post bemoaning aged scientific code
<bofh> SnoopJeDi: OH GOD I SWEAR I ALREADY HAVE THAT WRITTEN IN ABOUT 40 IRC RANTS
<bofh> at least it would be *minimal* effort to assemble
<bofh> oh, here's one a friend of mine asked me to decode: https://pastebin.com/C0BNNr9q
<SnoopJeDi> I always learn neato stuff in here about programming
<SnoopJeDi> And uh, everything
<bofh> literally gave up, ifort -O1 -no-vec -unroll0 -i8 -fno-omit-frame-pointer -fsource-asm -S on the file, and decoded the compiled asm
<SnoopJeDi> wow
<SnoopJeDi> Of mathematician origin?
<bofh> like the flow control there is surprisingly fucking hard
<bofh> you have nested gotos that jump around everywhere
<bofh> I *believe* so
<SnoopJeDi> Heh, obfuscation seems to be a virtue in every one of those circles I've poked my nose into
<bofh> I particularly like the do 20 j = 1,n one
<bofh> for the unconditional jump that continues the loop early and the only way to process all the code in the loop is to hit label 24
<egg|zzz|egg> NomalRaptor: bug report: this is neither a photo of a cat, a photo of a cat, nor a photo of a bird
<egg|zzz|egg> (are birds cats?)
<bofh> actually wait, is there ANY way for the code between 24 continue and 20 continue to be executed? ugh
<bofh> this is starting to give me a headache already so I'm going to stop now
<egg|zzz|egg> bofh: I don't think so?
<egg|zzz|egg> there's no skip in fortran is there
<egg|zzz|egg> but yeah, this feels like hp-67 calculator programming (never done any assembly, so can't tell how much it looks like that)
<bofh> nope, there is not, and indeed ifort doesn't output anything corresponding to those two lines
<egg|zzz|egg> though contraly to hp 67, at least you see more than one line and the display is alphanumeric rather than numeric
<egg|zzz|egg> 31 25 11
<egg|zzz|egg> 33 14
<egg|zzz|egg> scroll to "the program"
<egg|zzz|egg> the first & second column being the calculator display when programming
<egg|zzz|egg> (one line at a time)
<egg|zzz|egg> that's a fairly short program, when it gets too long you have to factor madly and add jumps everywhere to make it fit into one side of a tape
<egg|zzz|egg> right, so 224 instructions, but 112 per card side only
<egg|zzz|egg> also the program counter loops, so it's tricky to fill all 224
<egg|zzz|egg> otoh if you use 112 instructions you can take advantage of the Run/Stop in instruction 113 (uninitialized program memory is full of R/S), so no looping issues
<egg|zzz|egg> !wpn NomalRaptor
* Qboid gives NomalRaptor a gaseous infimum
<NomalRaptor> !wpn egg|zzz|egg
* Qboid gives egg|zzz|egg a submillimeter gallium photodiode
<bofh> egg|zzz|egg: oh good god
<egg|zzz|egg> NomalRaptor: nomal|zzz
<egg|zzz|egg> !choose nomal|zzz
<Qboid> egg|zzz|egg: Your options are: nomal, zzz. My choice: zzz
<egg|zzz|egg> ;choose nomal|zzz
<kmath> egg|zzz|egg: nomal
<egg|zzz|egg> bofh: :D
<NomalRaptor> egg|zzz|egg: I choose: Nomal
<Iskierka> ;choose egg|zzz|egg
<kmath> Iskierka: egg
<egg|zzz|egg> bofh: eh, there's sillier: the HP-35C (not programmable) needed extra memory to compute trig functions, so it would clear the top of the stack
<NomalRaptor> o_O
<bofh> egg|zzz|egg: the hell?
<egg|zzz|egg> (those calculators have a 4 element stack, x, y, z, t; computing a trig line would zero t because it was used as a register for the calculation)
<egg|zzz|egg> bofh: the 35-C was notoriously shit at trig, then they got Kahan to do the numerics
<egg|zzz|egg> so the HP 67 is really good at it
<egg|zzz|egg> does the argument reduction right and all that
<bofh> oh god of course he would do things correctly
<egg|zzz|egg> (which means that it's better than x87 fcos/fsin, since those give up on argument reduction eventually)
<egg|zzz|egg> (you should never use fcos fsin directly of course, you should call a library that does the payne-hanek)
<egg|zzz|egg> bofh: see last paragraph https://en.wikipedia.org/wiki/William_Kahan
<egg|zzz|egg> bofh: Kahan's programs for the 67/97! \o/ http://www.hpmuseum.org/forum/thread-3767.html
<bofh> I've implemented Payne-Hanek (mercifully only single-precision). It's a royal, erm, payne.
<egg|zzz|egg> :D
<soundnfury> !wpn -add:wpn COME FROM
<Qboid> soundnfury: Weapon added!
<soundnfury> !wpn egg|zzz|egg
* Qboid gives egg|zzz|egg a depressurized reactor
* soundnfury gives bofh a Sinclair Scientific
<NomalRaptor> !wpn soundnfury
* Qboid gives soundnfury a phi square
<egg|zzz|egg> bofh: here's an emulator that runs in a browser http://www.sydneysmith.com/products/gss-hp67/run/app.html#
<egg|zzz|egg> :D
<bofh> oh of course someone's ported $CALCULATOR_EMULATOR to JS
<egg|zzz|egg> bofh: switch it to W/PRGM and behold the magnificent program editor
<egg|zzz|egg> (you navigate it with SST, [h] BST, and GTO . ###)
<egg|zzz|egg> [h] DEL removes an instruction (probably pads with a R/S at the end or something), and if you want to navigate to a label you can go back to RUN mode, run GTO (your label), and that will put the program pointer there
<egg|zzz|egg> (of course it will navigate to the next label with that number/letter, if you have multiple instances of that label things get tricky)
<egg|zzz|egg> you have a call stack! of depth 3
<egg|zzz|egg> 25 registers
<egg|zzz|egg> addressable by the value in the 25th register (I)
<egg|zzz|egg> wait no 26
<egg|zzz|egg> or directly for 0 .. 9 and A .. E and I
<egg|zzz|egg> 10 .. 19 can be swapped with 0 .. 9 with P<>S
<egg|zzz|egg> 20 different labels
<egg|zzz|egg> a stack of size 4
<egg|zzz|egg> *and a flag!*
<egg|zzz|egg> see the shifted commands for the +-*/ keys, those are flag-related operations
<egg|zzz|egg> where F? is a conditional skip probably
<egg|zzz|egg> there's also ISZ, DSZ, ISZ(i), DSZ(i), which are (in|de)crement and skip if zero, either on register i, or on the register whose number is the value of i