--- Log opened Mon Jan 12 00:00:01 2009 |
--- Day changed Mon Jan 12 2009 |
00:00 | <@gnolam> | Heh. |
00:00 | <@McMartin> | Classy |
00:00 | <@Consul> | Indeed. |
00:01 | <@Consul> | My kind of place. |
00:09 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
00:35 | <@McMartin> | Oh, man |
00:35 | <@McMartin> | Today's Lesson Imparted Onto Today's Youth: Assembly Language is Machine-Specific. |
00:35 | | * Derakon facepalms. |
00:35 | <@McMartin> | ("No, you will not learn how to write assembler for Windows by using Ophis and developing NES or C64 programs." |
00:36 | <@Consul> | Heh |
00:36 | <@Consul> | Isn't Java Bytecode theoretically trying to be a "general" machine language? |
00:36 | <@McMartin> | Sure, and Z-Code did the same thing decades earlier. |
00:37 | | You're now known as TheWatcher[T-2] |
00:37 | <@McMartin> | Neither, however, is really suitable for directly writing in. |
00:37 | <@Consul> | Oh, hey! I hadn't heard that name in years! |
00:37 | <@McMartin> | It's still widely targeted. |
00:40 | | You're now known as TheWatcher[zZzZ] |
00:55 | | C_tiger_remote [~cheng@Nightstar-3055.hsd1.ca.comcast.net] has joined #code |
00:55 | | mode/#code [+o C_tiger_remote] by ChanServ |
00:55 | | C_tiger_remote is now known as C_tiger |
01:25 | | Chi [~omegaboot@Nightstar-23762.dsl.emhril.sbcglobal.net] has joined #code |
01:26 | | Alek [~omegaboot@Nightstar-23762.dsl.emhril.sbcglobal.net] has quit [Killed (NickServ (GHOST command used by Chi))] |
01:26 | | Chi is now known as Alek |
01:40 | | Derakon is now known as Derakon[AFK] |
02:27 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out] |
02:41 | | * McMartin fiddles with porting Ophis to Python 3.0 |
02:44 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code |
02:44 | | mode/#code [+o ToxicFrog] by ChanServ |
03:15 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?] |
03:20 | | Finerty is now known as Vornicus |
04:09 | <@McMartin> | Hum |
04:09 | <@McMartin> | Is there an MSYS-style version of patch(1) for Windows that does not require shitloads of support code? |
04:21 | | Derakon[AFK] is now known as Derakon |
04:28 | <@McMartin> | Hm. That wasn't so bad after all. |
04:28 | <@McMartin> | I needed three code changes to Ophis. |
04:29 | <@Vornicus> | python 3 is not nearly as bad as everyone is fainting about |
04:30 | <@Vornicus> | But it changes enough things that it reliably breaks any library past a given size. |
04:30 | <@McMartin> | Well, among other things, print isn't a special form anymore. =P |
04:30 | <@Vornicus> | Quite. |
04:30 | <@McMartin> | Also, "file" no longer exists, and you have to use open or io.open. |
04:31 | <@McMartin> | That was two of the changes I needed that weren't automated by 2to3.py |
04:31 | <@McMartin> | The third was to change "out.write("".join(map(chr, a.output)))" to "out.write(bytearray(a.output))" |
04:33 | <@McMartin> | Unfortunately, the by-hand changes can't be backported to something that will work in 2.5 |
04:44 | <@McMartin> | [python] BrenBarn says, "impoort ye librarye callede thus: regulare expressiounes" |
04:44 | <@McMartin> | [python] BrenBarn says, "GadzooksErrore! Attrybute not to be founde upon this objecte" |
04:52 | | * ToxicFrog catches up on bb * |
04:52 | <@ToxicFrog> | Off-Road Velociraptor Safari? |
04:53 | <@ToxicFrog> | Incidentally, I'm tunneled through the university now. We'll see if that connection is any more reliable. |
05:02 | <@McMartin> | I could have sworn that I linked Off-Road Velociraptor Safari in here. |
05:13 | | * ToxicFrog eyes the fuck out of ggmud |
05:13 | <@ToxicFrog> | I enter: ne |
05:13 | <@ToxicFrog> | It treats it as: n. e. |
05:14 | <@Derakon> | So how do you go northeast? |
05:15 | <@ToxicFrog> | "northeast" |
05:15 | <@ToxicFrog> | Aha. Found the problem. Speedwalk was on. |
05:15 | <@ToxicFrog> | God knows why it's on by default. |
05:15 | <@ToxicFrog> | Apparently it's meant to let you do something like "neeeennws" |
05:16 | <@Derakon> | Just hope there isn't a gorilla somewhere along the way~ |
05:21 | <@Derakon> | "The original U7 ran at a blazing 5fps, which is the default; it goes as high as a ludicrous 10fps, which still feels kinda slow." |
05:21 | <@Derakon> | Man. And here I'm worried about dipping below 25~ |
05:23 | <@ToxicFrog> | The relentless march of PROGRESS! |
05:32 | <@Derakon> | I have seven decent bullet patterns now. |
05:33 | <@Derakon> | Big spiral, homing stream, spiral with moving source, crossfire bullets, spiral that counter-rotates, spreads of semi-random homing bullets (with moving emitter), circle of shotguns. |
05:40 | <@jerith> | McMartin: Surely the file->open thing works fine? |
05:41 | <@McMartin> | jerith: 2to3.py did not appear to do it, however. |
05:41 | <@jerith> | No, changing file() to open() in the 2.5 code. |
05:41 | <@McMartin> | Oh. Yes, that works. |
05:41 | <@jerith> | (2to3 probably should do it, though.) |
05:41 | <@McMartin> | It's bytearray that doesn't. |
05:42 | <@jerith> | Yeah, it wouldn't. |
05:42 | <@jerith> | That looks like a.output is a list of integers. Is this the case? |
05:43 | <@McMartin> | Yup. |
05:43 | <@jerith> | Hmm. |
05:43 | <@McMartin> | Also, integers guaranteed to be in the 0x00-0xFF range. |
05:43 | | * jerith considers that while he gets out of bed and makes breakfast. |
05:45 | <@McMartin> | (This is the line that actually write the assembled binary to the output file.) |
05:48 | <@jerith> | I can see how that could cause problems. |
05:49 | <@Derakon> | ...why is the <accel> tag so expensive? |
05:49 | <@Derakon> | It's nailing my FPS at ~350 bullets. |
05:51 | <@Derakon> | ...ahh. Because I'm re-evaluating the amount of acceleration to apply every frame. |
05:59 | <@Derakon> | ...in fact, the entire implementation of the <accel> tag was very half-assed and buggy on my part. Wow. What was I thinking? |
05:59 | <@ToxicFrog> | Heh |
06:00 | <@jerith> | Derakon: Does past-Der write code as crappy as past-jerith does? |
06:00 | <@Derakon> | He can certainly do better than this. |
06:01 | <@jerith> | I've taken to trying to get stuff right the first time, so that bastard future-jerith doesn't grumble so much. |
06:02 | | * jerith takes his dried frog pills. |
06:02 | <@Derakon> | Hrm. I like the concept of a waterfall of bullets, but in practice I'm having trouble keeping it from either having really good hiding spots (in the upper corners, natch) or else being too damned hard. |
06:40 | | Derakon is now known as Derakon[AFK] |
06:40 | | AnnoDomini [~farkoff@Nightstar-29637.neoplus.adsl.tpnet.pl] has joined #Code |
06:40 | | mode/#code [+o AnnoDomini] by ChanServ |
07:24 | | ASCII [~none@Nightstar-7066.dyn.optonline.net] has quit [Connection reset by peer] |
07:30 | <@McMartin> | ... you know what is a bad feeling? |
07:31 | <@McMartin> | Having an idea for a program, and discovering that the best tool for the job is Commodore 64 BASIC. |
07:39 | <@Reiver> | ... dear lord, why? |
07:40 | <@Reiver> | Is the program in fact intended to be running on a Commodore 64? |
07:57 | | ASCII [~none@Nightstar-7066.dyn.optonline.net] has joined #code |
07:59 | <@McMartin> | Well, it's not too computationally intensive |
07:59 | <@McMartin> | And I really need decent box-drawing characters. |
07:59 | <@McMartin> | The final program target might end up being NES, actually |
07:59 | <@McMartin> | In which case it would go C64 BASIC -> C64 Assembler -> NES Assembler |
07:59 | <@McMartin> | And the last step only involves changing the I/O routines. |
08:04 | <@Reiver> | ... Well, if you're after retro-coding, then sure, I guess C64 is the right choice. :P |
08:06 | | * McMartin wants to autogenerate 2D mazes. |
08:08 | <@Vornicus> | the standard "grid with bunch of walls removed" kind? |
08:08 | <@McMartin> | More or less, though I want to do it with bonsai graftals. |
08:09 | <@Vornicus> | bonsai graftals. |
08:09 | | * Vornicus looks up that term. |
08:09 | <@McMartin> | The tree-making algorithms that are randomish BFSes |
08:09 | <@McMartin> | And Bonsai because I'm constratining it to completely fill a tiny square. =P |
08:09 | <@Vornicus> | aha |
08:12 | <@McMartin> | That said, 256 bytes is enough to store a 32x16 maze, which is pretty much the largest that will comfortably fit on both the C64 and NES displays. |
08:14 | <@McMartin> | 16x16 is easier to deal with, though, so I guess I'll start with that, then get the algo correct, then look into translating it. |
08:22 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
08:41 | | KBot [AnnoDomini@Nightstar-29692.neoplus.adsl.tpnet.pl] has joined #Code |
08:42 | | AnnoDomini [~farkoff@Nightstar-29637.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
08:42 | | KarmaBot [AnnoDomini@Nightstar-29637.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
08:44 | | KBot is now known as KarmaBot |
08:49 | | AnnoDomini [~farkoff@Nightstar-29692.neoplus.adsl.tpnet.pl] has joined #Code |
08:49 | | mode/#code [+o AnnoDomini] by ChanServ |
08:55 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has joined #code |
08:55 | | mode/#code [+o Attilla] by ChanServ |
09:04 | | You're now known as TheWatcher |
09:29 | | C_tiger [~cheng@Nightstar-3055.hsd1.ca.comcast.net] has quit [Operation timed out] |
11:29 | | Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ] |
12:01 | | C_tiger_remote [~cheng@Nightstar-5625.hsd1.ca.comcast.net] has joined #code |
12:01 | | mode/#code [+o C_tiger_remote] by ChanServ |
12:01 | | C_tiger_remote is now known as C_tiger |
12:08 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
12:08 | | mode/#code [+o gnolam] by ChanServ |
16:47 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
17:59 | <@ToxicFrog> | Hmm. My names are getting a bit messy. |
17:59 | <@ToxicFrog> | I need good names for: |
17:59 | <@ToxicFrog> | - a generic map |
17:59 | <@ToxicFrog> | - a collection of related maps |
17:59 | <@ToxicFrog> | - the set of all such collections |
19:24 | | C_tiger [~cheng@Nightstar-5625.hsd1.ca.comcast.net] has quit [Operation timed out] |
19:28 | | C_tiger_remote [~cheng@Nightstar-5625.hsd1.ca.comcast.net] has joined #code |
19:28 | | mode/#code [+o C_tiger_remote] by ChanServ |
19:32 | <@AnnoDomini> | Hrm. Can anyone tell me how to calculate (and if it's worthwhile at all) standard deviation on a 1d100? |
19:32 | <@AnnoDomini> | Better yet, 3d100. |
19:40 | | C_tiger_remote [~cheng@Nightstar-5625.hsd1.ca.comcast.net] has quit [Operation timed out] |
19:43 | <@McMartin> | StdDev is the square root of the expected variance |
19:43 | <@McMartin> | Look up Variance on wiki or whatnot and that should give you what you want. |
19:55 | <@AnnoDomini> | Uhuh. I'm looking it up, and I'm uncertain what Wikipedia is telling me. |
20:00 | <@McMartin> | Ask someone who had stat more recently than I did |
20:00 | <@McMartin> | God, that must have been 12 years ago now >_< |
20:00 | | * AnnoDomini finds a plain language definition, tries to make an algorithm from that. |
20:02 | <@jerith> | stddev is (iirc) sqrt(sum([f_i**2])) |
20:02 | <@jerith> | Um, no. |
20:02 | <@jerith> | I screwed that up. |
20:03 | <@jerith> | The sum of (x-mean)**2 where x is each element of the sample. |
20:03 | <@AnnoDomini> | "The average of the square of the distance of each data point from the mean" |
20:05 | <@AnnoDomini> | The algorithm I built from that is telling me the variance of 3d100 is 2499.75 while the standard deviation is 49.9975. |
20:06 | <@jerith> | That doesn't seem right. |
20:07 | <@AnnoDomini> | Mm'kay. The mean for 3d100 would be 151.5, yesno? |
20:09 | <@jerith> | Why is this computation taking so bloody long to run!? |
20:10 | <@jerith> | Oh, a million numbers. |
20:11 | <@jerith> | That's the mean, assuming 1->100 rather than 0->99. |
20:12 | <@AnnoDomini> | Yes. |
20:13 | <@AnnoDomini> | Putting a guassian distribution generator to the task with that mean and standard deviation produces more or less 3d100. |
20:13 | <@AnnoDomini> | There are some values over 300. |
20:13 | <@AnnoDomini> | The last one, actually. |
20:14 | <@jerith> | Ah, I'm forgetting to divide by N for the variance. |
20:15 | <@jerith> | So yeah, just short of 50 seems right. |
20:15 | <@jerith> | And I was thinking in terms of d100 instead of 3d100. |
20:15 | <@jerith> | My bad. |
20:20 | <@AnnoDomini> | Yeah. So it's a pretty mild curve. |
20:21 | <@AnnoDomini> | Rolling 3d100 to get three stats (one per die) is not really what one wants to do. <_< |
20:29 | <@McMartin> | Yeah, so, bear in mind that 1d100 is not a Gaussian in the first place |
20:29 | <@McMartin> | It's *linear* |
20:30 | <@McMartin> | Make it, oh, 30d10 instead and you'll get much more bellier bell curves |
20:31 | <@AnnoDomini> | McMartin: No, no, it was actually 3d100. One d100 for each stat. I'm basing my calculations on that you want to have as high a sum of stats as possible. |
20:31 | <@McMartin> | Sure. |
20:31 | <@McMartin> | But if those are, say, Body/Soul/Mind |
20:32 | <@McMartin> | For any given stat, Body 1 is exactly as likely as Body 100... |
20:32 | <@AnnoDomini> | Not TriStat. It's a friend's WWII homebrew. |
20:32 | <@McMartin> | But it's also just as likely as Body 50. |
20:32 | <@AnnoDomini> | Mhm. |
20:32 | <@McMartin> | I'm just using their stats because they're handy and short. |
20:32 | <@AnnoDomini> | Right. |
20:32 | <@AnnoDomini> | I did a test roll... I got 15, 34, 16. ;_; |
20:33 | <@McMartin> | This kind of thing is why attributes have been based on point-buy in pretty much every RPG with stats since like 1993. =P |
20:34 | <@AnnoDomini> | WFRP/DH still rolls. |
20:34 | <@AnnoDomini> | I like them, in part, for this. |
20:55 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
21:02 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
21:02 | | mode/#code [+o Reiver] by ChanServ |
21:46 | | C_tiger_remote [~cheng@Nightstar-5625.hsd1.ca.comcast.net] has joined #code |
21:46 | | mode/#code [+o C_tiger_remote] by ChanServ |
21:47 | | C_tiger_remote is now known as C_tiger |
22:03 | <@ToxicFrog> | Snrk. Spam topic: "unleash your python on the girls today" |
22:03 | <@ToxicFrog> | I prefer lua, thanks~ |
22:05 | <@gnolam> | :D |
22:07 | | * AnnoDomini laughs. |
22:28 | <@Consul> | Give them the Full Monty, eh? |
22:33 | < ASCII> | Is anyone famiir with nvidia stereoscopic video drivers? |
22:34 | < ASCII> | *familiar |
22:37 | | Vornicus [~vorn@Admin.Nightstar.Net] has joined #code |
22:37 | | mode/#code [+o Vornicus] by ChanServ |
22:38 | <@gnolam> | AFAIK, that's programmer transparent. |
22:38 | | * Vornicus wonders the context. |
22:42 | < ASCII> | vorn- me asking about nvidia stereo drivers |
22:42 | <@Vornicus> | aha |
22:43 | < ASCII> | the subject of producing a stereoscopic machinima came up, and I decided that this would be a better place to ask than there =P |
22:46 | < ASCII> | from what I can tell, the only output the stereo drivers have that is suitable for recording in a realtime enviroment(with fraps or the like) is anaglyph, which of course is pretty unsuitable. |
22:47 | <@Vornicus> | WHereas you want the red/blue kind? |
22:47 | < ASCII> | no, I don't |
22:47 | <@Vornicus> | then? |
22:48 | < ASCII> | The drivers can do the red/blue anaglyph in realtime |
22:48 | < ASCII> | but the result is eectively grayscae and useless for other viewers |
22:48 | <@Vornicus> | ah. |
22:49 | | * Vornicus thought anaglyph was the side-by-side thing. |
23:07 | < ASCII> | so anyway, it looks like the ptions would either be to figure out a way to record the left/right frames and then sort out which was which, hoping no frames were dropped in recording |
23:07 | < ASCII> | or get it to output side by side frames |
23:08 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
23:08 | < ASCII> | or interlaced frames, but I'm not sure that the recording codec is suitable for non progressive video |
23:16 | | Consul [~consul@Nightstar-4831.dsl.sfldmi.ameritech.net] has quit [Quit: Leaving] |
23:26 | | Consul [~consul@Nightstar-4831.dsl.sfldmi.ameritech.net] has joined #code |
23:26 | | mode/#code [+o Consul] by ChanServ |
23:27 | | AnnoDomini [~farkoff@Nightstar-29692.neoplus.adsl.tpnet.pl] has quit [Quit: God created man, God created woman, but Samuel Colt made them equal.] |
23:37 | <@Consul> | Okay, I have a question that may or may not be deserving of great ridicule. |
23:38 | <@Consul> | Technically, there's no reason a compiler itself needs to execute as quickly as possible, right? |
23:39 | <@EvilDarkLord> | You mean tradeoffs between the time to compile and the quality of the compiled code? |
23:39 | <@Consul> | Well, I'm thinking more in terms of the language used to create the compiler. |
23:40 | <@Consul> | What matters is the final compiled code, not the language used for the compiler. That's what I'm getting at. |
23:42 | <@Consul> | At least, I'm asking if that posit is reasonable. |
23:43 | <@McMartin> | This is true for all way-ahead-of-time compilers, yes. |
23:43 | <@Consul> | So, okay for compilers, not so okay for interpreters. :-) |
23:43 | <@McMartin> | EDL points out that if you have the time to do it, it's possible to spend lots of time doing complex code analysis for optimization |
23:43 | <@Consul> | Which begs the question on why Perl 6 is getting written in Perl, but I'm no computer scientist. :-) |
23:43 | <@McMartin> | Which is true, but in practice you hit diminishing returns very fast. |
23:44 | <@McMartin> | Because lolLarryWall, basically |
23:44 | <@Consul> | Heh |
23:44 | <@McMartin> | That said, I thought the most advanced Perl 6 interpreter was currently written in Haskell. |
23:44 | <@Consul> | Oh? |
23:44 | <@McMartin> | Parrot or something like that? |
23:44 | <@Consul> | I'm so out of it, something must have changed. |
23:44 | <@McMartin> | Granted the last time I checked was like three or four years ago |
23:45 | <@Consul> | I only remember the initial announcements, proclaiming it would be written in Perl. |
23:45 | <@Consul> | Of course, I was still working at Agilent, six or so years ago. |
23:45 | <@Consul> | Or more. |
23:45 | <@McMartin> | From Wiki: "Pugs is an implementation of Perl 6 written in Haskell. It is currently the closest thing to a full implementation of Perl 6. It will be used for bootstrapping, providing a platform on which to write the Perl 6 compiler in Perl 6, and the test suite to validate it." |
23:46 | <@McMartin> | So the answer to our question appears to be "Yes". |
23:46 | <@McMartin> | That said, it says "compiler" there, not "interpreter". |
23:46 | <@Consul> | That seems a strange way to operate. |
23:46 | <@McMartin> | It's pretty common for compilers to be written in themselves, actually. |
23:46 | <@Consul> | But I reiterate, I am no computer scientist. |
23:46 | <@McMartin> | The only unusual bit here is that the bootstrapper isn't written in C. |
23:47 | <@Consul> | Okay, so it goes back to my question of "how did they write the first compiler?" The answer is, in assembly, and only enough to get the basics working. |
23:47 | <@McMartin> | Yeah, so, that part of it is not unusual, and I'll happily pull rank to assert it with authority if you want. ;-) |
23:47 | <@McMartin> | Yup. |
23:47 | <@McMartin> | And the first assembler was written in raw machine code |
23:47 | <@McMartin> | Well. |
23:47 | <@McMartin> | Was written in assembler on paper and then assembled by hand. |
23:47 | <@Consul> | Wow... |
23:48 | <@Consul> | When programmer were real men. |
23:48 | <@Consul> | +s |
23:48 | <@McMartin> | And got real bored. |
23:48 | <@Consul> | Or women. |
23:48 | <@Consul> | There were a few talented female programmers in the white beard days. |
23:49 | <@Consul> | Anyway, this is all leading to my previous statements about wanting to look into domain-specific languages as a possible career. |
23:49 | <@McMartin> | The first compilers were actually formula translators that dumped assembler you could use, and also what we would now call linkers. |
23:49 | <@Consul> | Or at least, programming software for high-level science and engineering. |
23:50 | <@McMartin> | For a lot of that you'll be competing with Matlab and R, but I bet there are a few out there still. |
23:51 | <@Consul> | Well, I do have a more immediate goal, and yes, it involves DSP. |
23:51 | <@Consul> | I was thinking about making something like Jesusonic for Linux. |
23:51 | <@Consul> | Only try to make it more elegant. |
23:52 | <@McMartin> | Compilers as a career are more or less a dead end, I note. Making little languages is a technique that makes you a better software engineer, but outside of config files you're unlikely to directly apply it. |
23:54 | <@Consul> | So if you could do something cross-disciplinary between computer science and engineering/physics, what might that be? |
23:55 | <@Consul> | You don't have to answer that. I'm being semi-rhetorical, anyway. |
23:55 | <@Consul> | But it gives an idea of what I'm aiming for. |
--- Log closed Tue Jan 13 00:00:02 2009 |