code logs -> 2016 -> Sun, 23 Oct 2016< code.20161022.log - code.20161024.log >
--- 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
code logs -> 2016 -> Sun, 23 Oct 2016< code.20161022.log - code.20161024.log >

[ Latest log file ]