--- Log opened Sun Oct 23 00:00:03 2016 |
01:08 | | * Vornotron discovers more data he needs to rip, goes a hunting. |
01:16 | | * Vornotron does not have terribly much success locating it |
01:18 | < Vornotron> | (I'm trying to find the attacks) |
01:21 | < Vornotron> | on the other hand I guess I do have an actual HTML table of these. |
01:27 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code |
01:59 | | Vornotron is now known as Vornicus |
01:59 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
03:04 | | * McMartin gets Turbo Pascal 5.5 running in DOSBox, since it turns out the Delphi guys still have it for free download |
03:05 | | * McMartin gets some of his old high school homework assignments working, most of which are not worth preserving, but the thing that graphs the "hat function" might be. |
03:07 | <&McMartin> | DOSBox is correctly capturing how incredibly slow and obnoxious Borland's graphics library was. |
03:11 | <&[R]> | lol |
03:11 | <&[R]> | I completely forgot about Borland |
03:11 | <&[R]> | Are they even still around? |
03:12 | <&[R]> | Ah new name |
03:12 | <&[R]> | Micro Focus |
03:12 | <&[R]> | Revenue Decrease$172 million USD (2008)[1] |
03:16 | <&McMartin> | The Borland fragment in question is actually Embarcadero Technologies |
03:16 | <&McMartin> | Which bought their software devtools division |
03:32 | | catadroid [catalyst@Nightstar-45v8pr.dab.02.net] has joined #code |
03:33 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
04:02 | | Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has joined #code |
04:02 | | mode/#code [+ao Derakon Derakon] by ChanServ |
04:12 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [[NS] Quit: Quit] |
04:17 | | jeroud [sid10043@Nightstar-h2b233.irccloud.com] has quit [Ping timeout: 121 seconds] |
04:17 | <&[R]> | <abhinavmehta> I'm keep getting this error - " Phusion Passenger doesn't seem to be running. If you are sure that it is running, then the causes of this problem could be:" |
04:17 | <&[R]> | ... |
04:20 | | jeroud [sid10043@Nightstar-h2b233.irccloud.com] has joined #code |
04:20 | | mode/#code [+ao jeroud jeroud] by ChanServ |
05:02 | | Derakon is now known as Derakon[AFK] |
05:25 | | jeroud [sid10043@Nightstar-h2b233.irccloud.com] has quit [Ping timeout: 121 seconds] |
05:33 | | jeroud [sid10043@Nightstar-h2b233.irccloud.com] has joined #code |
05:33 | | mode/#code [+ao jeroud jeroud] by ChanServ |
05:35 | | himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
05:55 | | catadruid [catalyst@Nightstar-g268sh.dab.02.net] has joined #code |
05:56 | | catadroid [catalyst@Nightstar-45v8pr.dab.02.net] has quit [Ping timeout: 121 seconds] |
08:08 | | Kindamoody[zZz] is now known as Kindamoody |
09:03 | <&McMartin> | After a bunch of experimentation and writing my own CGA driver and then building bindings for it to old DOS devtools, it turns out the problem wasn't Borland's terrible graphics library after all |
09:04 | <&McMartin> | It was software floating point, which is something of A Bummer when graphing a surface as this program was doing |
09:04 | <~Vornicus> | oh yes. |
09:04 | <&McMartin> | So reimplementing it in C with hardware floating point and it's blazin' |
09:04 | <~Vornicus> | you ...built your own cga driver. |
09:04 | <~Vornicus> | How long did this take |
09:05 | <&McMartin> | I got to write a function called HatSlab! |
09:05 | <&McMartin> | I guess 3 hours? |
09:05 | <~Vornicus> | welp |
09:05 | <&McMartin> | Most of which was struggling with incompletely documented calling conventions? |
09:05 | <&McMartin> | The enter/leave graphics mode stuff is literally three instructions |
09:06 | <&McMartin> | HatSlab, which is a combined pixel write and vertical line draw, is 57 instructions. |
09:06 | <&McMartin> | And then there's another nine for some brain-dead code to wait for a keypress since I didn't want to use wacky Borland DOS extensions to do that and I was mixing HLLs and assembler *anyway* |
09:07 | <&McMartin> | cga_pixel(x, y, c) was 42 instructions but turned out to not be part of this final program~ |
09:09 | <~Vornicus> | heh |
09:10 | | gizmore [kvirc@Nightstar-ui612o.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds] |
09:11 | | gizmore [kvirc@Nightstar-c7aku9.dip0.t-ipconnect.de] has joined #code |
09:11 | <&McMartin> | Here, have a CGA driver: http://pastebin.starforge.co.uk/717 |
09:12 | <&McMartin> | The absolute worst part of this was working out that I needed to have the line "segment _TEXT align=1 PUBLIC class=CODE" exactly like that |
09:12 | <&McMartin> | Otherwise the linker would flip the fuck *out* |
09:13 | <&McMartin> | Hey, it looks like my soulless murder puppet is still in the pastebin too! http://pastebin.starforge.co.uk/716 |
09:15 | <~Vornicus> | is that a giant frowny face |
09:18 | <&McMartin> | No, it is in fact a happy face. |
09:18 | <&McMartin> | Ish. |
09:18 | <~Vornicus> | heh |
09:31 | | catadruid is now known as catadroid |
09:38 | <&McMartin> | Also, one has not felt the winds of time *truly* blow through them until one is debugging their program and suddenly realizes that sizeof(int) == 2. |
09:38 | | * catadroid shivers but does not know why |
09:39 | <~Vornicus> | what about the winds of Time and Stuff? |
09:40 | < catadroid> | x) |
09:43 | | celticminstrel [celticminst@Nightstar-pvpf2s.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
10:01 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
10:03 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
10:03 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
10:04 | | catadroid [catalyst@Nightstar-g268sh.dab.02.net] has quit [Ping timeout: 121 seconds] |
10:12 | <&McMartin> | Whoa hey |
10:12 | <&McMartin> | Running it in a Win98 VM instead of DOSBox erases the software-FP performance penalties. o_O |
10:13 | <~Vornicus> | well then |
10:13 | <&McMartin> | I have no explanation for this at all |
10:14 | <&McMartin> | Other than "I suppose I should still stick with the program that runs well in DOSBox, as that is what people actually have |
10:14 | <&McMartin> | Weirdly, the one that's fast in DOSBox is also 3x bigger |
10:15 | <~Vornicus> | is dosbox itself doing the software fp? |
10:15 | <&McMartin> | Er |
10:15 | <&McMartin> | I mean, yes, because it's running that software that is doing software FP |
10:15 | <&McMartin> | But that may be it, actually |
10:16 | <&McMartin> | IIRC Dosbox's x86 emulation stipulates that all instructions take exactly one "cycle" |
10:16 | <&McMartin> | And its cycles thus don't match real clock speeds |
10:16 | <&McMartin> | Perhaps it's throttling the software FP code in ways that it shouldn't be? |
10:16 | <&McMartin> | I dunno. |
10:17 | <&McMartin> | Looking at the actual binaries things didn't seem that awful |
10:17 | <~Vornicus> | software fp will generally be *somewhat* slower than hardware fp but hardware fp is going to take a while in terms of cycles, so |
10:17 | <&McMartin> | Other than, you know, AAAAHHH WHAT IS THIS DOING BEING TWELVE WHOLE KILOBYTES but we're rocking it 90s style and I need to keep up |
10:18 | <~Vornicus> | so like hardware fp may be one instruction but it's going to take like 40 clocks, and then software fp would be like... idunno, a dozen instructions but take like 80 clocks |
10:19 | <&McMartin> | Yeah |
10:19 | <&McMartin> | The part that's so baffling is, well |
10:19 | <&McMartin> | There's the original GW-BASIC code |
10:19 | <&McMartin> | There's the Pascal code based on that |
10:19 | <&McMartin> | And then the Pascal code with the custom ASM for drawing |
10:20 | <&McMartin> | And then there's the C based on the Pascal code, also with the custom drawing ASM |
10:20 | <&McMartin> | On DOSBOX and Win98, the first and last each run at the same speed regardless of platform |
10:20 | <&McMartin> | With the C being hugely faster, of course |
10:20 | <&McMartin> | But on DOSBox, the first three are all at GW-BASIC speed |
10:21 | <&McMartin> | And on Win98, the last three are all at C speed |
10:21 | <&McMartin> | It's *preposterously* dramatic |
10:21 | <~Vornicus> | that is wackadoodle. |
10:23 | <&McMartin> | Maybe the C implementation of sin() and sqrt() are much shorter? |
10:23 | <&McMartin> | That's the only other pain point I can think of |
10:27 | <~Vornicus> | Oh oh |
10:27 | <~Vornicus> | pretending to be a 486? |
10:27 | <~Vornicus> | or an earlier thing with the x87 instruction set built in? |
10:36 | <~Vornicus> | ah, there's the break point. Going to bet: the Pascal is emulating the FSIN instruction even though it's on a system that's 386 or better; the C version goes "oh, I have that already" |
10:40 | <~Vornicus> | the older architecture, with hardware fp, is still going through FPTAN, FMUL, FADD, FSQRT, and FDIV, each once, and some gyrations, to calculate tan(x)/sqrt(1+tan(x)^2); but the newer architecture has FSIN and that's going to be less work enough |
10:40 | <~Vornicus> | and for some reason on dosbox is doesn't notice |
11:46 | | Kindamoody is now known as Kindamoody|afk |
12:03 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
12:06 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has joined #code |
12:06 | | mode/#code [+o ion] by ChanServ |
12:22 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
12:24 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has joined #code |
12:24 | | mode/#code [+o ion] by ChanServ |
12:27 | <@gnolam> | http://stackoverflow.com/questions/34524/what-is-a-mutex/34558#34558 |
12:52 | < catalyst> | Rubber? I barely know 'er! |
13:35 | | * Vornicus rubs catalyst with either bbq spices or fragrant oils. |
13:35 | < catalyst> | gosh |
13:36 | < catalyst> | I am so tasty |
13:36 | <~Vornicus> | that, or full of massage and aromatherapy. your pick! |
13:37 | < catalyst> | Can't it be both? |
13:37 | <~Vornicus> | Sure! |
14:48 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
17:37 | | celticminstrel [celticminst@Nightstar-pvpf2s.dsl.bell.ca] has joined #code |
17:37 | | mode/#code [+o celticminstrel] by ChanServ |
20:25 | <&McMartin> | Oh goodness |
20:25 | <&McMartin> | I just had a random bluescreen |
20:25 | <&McMartin> | And after loading the coredump, it may in fact have *been* a random bluescreen. "single bit error in critical kernel structure". |
20:26 | <@Tamber> | Cosmic rays. |
20:26 | <&McMartin> | That's always the joke, but I can't deny the possibility that this time it isn't |
20:27 | <@Tamber> | Indeed, there's always the possibility. (Which is why I suggested it.) |
20:27 | <&McMartin> | (Alternately, the old RAM chips are giving out after seven years, but I think I need to see more than one failure before I blow an entire evening on RAM tests) |
20:31 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code |
20:46 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
20:46 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
22:00 | | Derakon[AFK] is now known as Derakon |
22:41 | | Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [Connection closed] |
23:09 | | gizmore [kvirc@Nightstar-c7aku9.dip0.t-ipconnect.de] has quit [Operation timed out] |
23:10 | | gizmore [kvirc@Nightstar-g6vbvp.dip0.t-ipconnect.de] has joined #code |
23:16 | | Kindamoody|afk is now known as Kindamoody |
23:26 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [Connection closed] |
23:27 | | catadroid [catalyst@Nightstar-f77.tcr.132.82.IP] has joined #code |
--- Log closed Mon Oct 24 00:00:17 2016 |