00:00:12 That was way too much work for something serving almost no purpose :P 00:00:18 -!- BeholdMyGlory has quit (Remote closed the connection). 00:01:02 AnMaster: ab;bc;cc;cb;ca 00:01:05 where ; = newline 00:01:15 note that the field is bounded 00:01:17 which sux 00:01:58 yeah 00:02:08 ehird, rewrite it to make it use an infinite field 00:02:15 hahahahahahano 00:02:20 ehird, hashlife in bf 00:02:25 i stab you 00:02:26 ehird, it is possible 00:02:31 ehird, just use gcc-bf :P 00:03:21 ehird, this is a lot easier in befunge btw. :D 00:03:25 (as usual) 00:03:32 -!- nooga has joined. 00:03:39 befunge is for toruses 00:03:40 GET IT??? 00:03:47 IT'S FUNNY! 00:03:57 ehird, um. No it isn't. It is for Lahey-space 00:04:03 and I don't get the joke 00:04:04 ehird: i'm trying to install grub under leopard, i need to create bootable cd 00:04:05 I knew you would say that. 00:04:10 AnMaster: "X is for squares" 00:04:17 ok 00:04:18 square meaning uncool/stupid/fag/purple-monkey. 00:04:18 I see 00:04:26 yeah I heard that one 00:04:29 nooga: you can't use grub directly. 00:04:31 I see what you mean 00:04:31 install refit 00:04:35 Circles are for squares. 00:04:39 nooga: also, grub can't boot os x 00:04:40 ehird: huh? 00:04:43 nooga: only BIOS-based OSs 00:04:54 nooga: OS X uses EFI, not BIOS, so shit's different. 00:04:57 Er, not OS X. 00:04:58 Macs. 00:05:11 ehird: no no, i need grub to install it ON iso image to boot my kernel 00:05:13 OS X depends on having EFI though. 00:05:44 nooga: oh. 00:05:49 grub doesn't work with EFI 00:05:53 GregorR-L: tell that to osx86 00:05:55 AnMaster: no, no 00:05:57 i still need to copy my old hdd 00:05:58 efi has bios emulation 00:06:01 grub2 does 00:06:11 so you can boot to grub from efi 00:06:12 just fine 00:06:18 ehird, then what is bootcamp for 00:06:21 ehird: Touche sir :P 00:06:21 am i clear? ;p 00:06:32 AnMaster: bootcamp IS the bios emulation 00:06:40 i need grub to make a bootable cd image WITH MY KERNEL 00:06:45 AnMaster: Boot Camp the application is just a partitioner and a Windows-mac-hardware-driver-dispenser. 00:06:50 aha 00:06:55 AnMaster: It requires EFI update #blah, which adds the actual BIOS emulation. 00:07:05 #blah 00:07:08 huh 00:07:25 AnMaster: No, not #blah. 00:07:26 can osx mount iso files? 00:07:26 :P 00:07:30 nooga: Yes. 00:07:33 Double click them 00:07:35 * Sgeo falls asleep on the keyboa 00:07:36 ehird, what do you mean then 00:07:37 I get a 936KB LostKng when I compile with gcc-4.3 -Os. 00:07:39 nooga: to burn an ISO, use disk utility 00:07:47 AnMaster: Just EFI update some-build-number. 00:07:52 ah 00:07:54 And I get a "gcc-4.4: Internal error: Killed (program cc1)" when I try with gcc-4.4 -Os. 00:07:57 nooga: drag the iso into the side pane, choose burn 00:07:58 prophet 00:08:15 ehird, btw I suspect my compiler generates smaller output than esotope-bfc. Due to less un-needed spacing 00:08:20 AnMaster: lol. 00:08:21 plus... 00:08:25 p[19] = 0; 00:08:28 is UGLY 00:08:30 AnMaster: esotope uses real tabs 00:08:32 ... also, what? 00:08:34 how is that ugl 00:08:34 y 00:08:49 I tend to write p[19]=0; in hand written code 00:09:11 ew. 00:09:14 p[4] += p[0]; 00:09:14 p[0] = p[4]; 00:09:14 p[6] += p[4]; 00:09:20 I don't write like that 00:09:22 how the fuck is spacing ugly 00:09:26 plus 00:09:28 also 00:09:30 nobody gives a shit 00:09:30 that is some fucked up code 00:09:31 how you code 00:09:32 kthx 00:09:41 it doesn't copy propagate 00:09:46 ehird, I do better than that! 00:09:47 :D 00:10:11 ehird, I copy propagate 00:10:11 2 by 2, hands of blue 00:10:23 bsmntbombdood: i need a poo 00:10:25 fuck yeah rhyming 00:10:42 i need damn mkisofs here 00:10:51 where's my mkisofs 00:11:02 nooga: hdiutil 00:11:11 yw 00:11:49 so what monitor should i get 00:11:51 What's "yw" mean? "You wanker"? 00:12:39 You're Welcome. 00:12:41 "your way"? "YouWay? 00:12:42 bsmntbombdood: ask fizzie 00:12:43 ah 00:12:44 he has a nice thing. 00:12:44 fizzie: did you ever time -O2? 00:12:49 er. 00:12:51 i don't mean it like that. 00:12:53 i mean monitor 00:12:56 :DDDDDDDDDDDDDDDDdd 00:12:57 bsmntbombdood: Not on the fast box, no. 00:13:04 AnMaster: stop being me 00:13:10 ehird, wut 00:13:20 i'm the one who goes :DDDDDDDDDDDDDDdddd although I stole it from oklopol 00:13:22 ehird: so how can i create iso image using this thingy? 00:13:24 where's oklopol been lately 00:13:27 nooga: hdiutil create 00:13:38 ehird, actually I was trying to go ":DDDDDDDDDDDDDDDDDDD" 00:13:38 yea 00:13:41 but 00:13:43 nooga: hdiutil create -help 00:13:44 found create 00:13:45 I released shift too early 00:13:46 ehird, ^ 00:13:51 AnMaster: well w/e 00:13:51 so typo 00:13:54 The monitor I have here is a LG L246WH, but it's not *that* dissimilar to other 24" 1920x1200 screens. It's reasonably nice, though. 00:14:02 but which fs, partitionType, etc 00:14:16 ehird, although. That is an interesting idea. 00:14:30 nooga: hdiutil create -ISOCD 00:14:31 I think 00:14:32 Not so good if you want to connect two computers to it, though, since it only does HDMI+VGA (incl. a DVI-HDMI cable by default) while many others do the HDMI+DVI+VGA triplet. 00:14:34 er 00:14:36 -layout ISOCD 00:14:42 oh 00:14:46 oh wait 00:14:47 nooga: 00:14:50 24" is a big monitor 00:14:53 nooga: open disk utility 00:15:01 nooga: To create an ISO image in OS X, use Disk Utility to burn a new image choosing “CD/DVD Master” as the Image Format. That creates an image with the cdr extension. Just rename the cdr file extension to iso and there you have it! 00:15:15 nooga: although hmm 00:15:24 aha 00:15:27 wait no 00:15:28 ehird, mkisofs? 00:15:28 bleh 00:15:29 i dunno 00:15:31 just make it work 00:15:33 AnMaster: not on os x 00:15:38 ehird, not ported? 00:15:43 not extant 00:15:50 use hdiutil, i hear it's nice 00:15:56 it can make floppies easily, at least 00:15:56 ehird, "extant"? 00:16:05 exist, extant 00:16:08 ehird floppies... 00:16:11 why 00:16:12 -!- sebbu2 has joined. 00:16:13 floppy images, that is. 00:16:15 AnMaster: i made an os. 00:16:25 ehird, I can make a floppy image too easily. 00:16:26 i had a make target that put a bootable floppy into the place where my VM wanted it 00:16:29 and yes 00:16:32 but hdiutil does it nicely 00:16:33 24" is the most common size if you want 1920 pixels horizontally. Though nowadays there's a large-ish amount of 1920x1080 23" screens. That's probably not any less wide, though. And there are some 21.5" 1920x1080 screens too, if you want physically-smaller. 00:16:35 just one or two commands 00:16:54 fizzie: how much wider are 24"s than 20"s? 00:17:03 ehird, same here. mkfs.fat /dev/fd0 00:17:04 nooga: "man hdiutil" 00:17:08 ehird, mount 00:17:09 AnMaster: it did way more than that 00:17:13 also, it made a floppy IMAGE 00:17:31 ehird, ok. dd if=/dev/zero of=/image bs=whatever 00:17:38 ok, a bit more work yes 00:17:38 ... fail. 00:17:46 this put files on the image directly 00:17:46 ehird, but why would I want it 00:17:51 fffu 00:17:59 AnMaster: you wouldn't if you weren't making an OS, but I was. 00:17:59 Well, my 24" monitor is physically 56 cm wide, while the 20" is just 44 cm, so quite a bit wider. 00:18:05 fizzie: argh 00:18:11 i need to make bootable cd with grub 00:18:12 too big for my neck 00:18:18 nooga: man hdiutil 00:18:23 ehird, I would make a wrapper for it 00:18:23 and it seems to be impossible here 00:18:26 that did what I wanted 00:18:26 nooga: man hdiutil 00:18:27 nooga: man hdiutil 00:18:27 nooga: man hdiutil 00:18:35 ehird, even: a make target 00:18:39 make floppy 00:18:40 no 00:18:42 AnMaster: what fun; it took me 4 commands in the make target. 00:18:45 it won't do 00:18:49 nooga: that's nice. 00:18:51 ehird, so? 00:19:04 AnMaster: so i saved work by using hdiutil, and therefore hdiutil is awesome, malcontent. 00:19:20 ehird, I could distribute that script 00:19:26 and then everyone could do the same 00:19:27 :D 00:19:28 ehird: I might consider a 21.5" 1920x1080 screen if I were picking a monitor now. After all, it's (almost) the same amount of pixels, just something like 94dpi -> 102dpi. 00:19:33 what the fuck kind of problem have you got with me liking hdiutil, AnMaster? 00:19:38 ehird, none. 00:19:43 can't bring yourself to like anything apple? 00:19:46 AnMaster: then why are you bothering me about it 00:19:52 fizzie: yeah, but, so small. 00:19:53 http://www.gnu.org/software/grub/manual/grub.html#Making-a-GRUB-bootable-CD_002dROM << recreate this under leopard 00:20:02 ehird, how do you create an ISO image with RR extensions with it 00:20:09 fizzie: and I want the standard 96dpi tbh 00:20:11 should be easy but i don't know the tools 00:20:20 nooga: MAN HDIUTIL nooga: MAN HDIUTIL nooga: MAN HDIUTIL nooga: MAN HDIUTIL nooga: MAN HDIUTIL nooga: MAN HDIUTIL nooga: MAN HDIUTIL nooga: MAN HDIUTIL nooga: MAN HDIUTIL nooga: MAN HDIUTIL 00:20:24 NOOOOOOOOOOOO 00:20:29 nooga: then stop whining 00:20:30 FUCK HDIUTIL 00:20:37 i want mkisofs 00:20:44 nooga, install linux 00:20:47 "Waah how do I make a cd" "Like this!" "NO HOW DO I MAKE A CD WAAAAAAAH" 00:20:47 no 00:21:00 nooga, then I agree with ehird 00:21:10 because this whole leopard sucks, tehe are no basic tools 00:21:14 it's called BSD 00:21:25 nooga, actually. Go try using hdiutils 00:21:27 see the man page 00:21:30 did you look at it 00:21:43 AnMaster: i retract my classification of you as malcontent; it's nooga. 00:21:55 create size_spec image 00:21:55 create a new image of the given size or from the provided 00:21:57 data. If image already exists, -ov must be specified or 00:21:59 create will fail. If image is attached, it must be detached 00:22:01 before it can be overwritten, even if -ov is specified. To 00:22:03 make a cross-platform CD or DVD, use makehybrid. See also 00:22:05 EXAMPLES below. 00:22:07 nooga: /EXAMPLES 00:22:09 I'm so helpful. 00:22:14 ehird, you need to give it eltorito no-emu mode 00:22:28 -no-emul-boot 00:22:30 that bit 00:23:19 AnMaster: it has -no-emul-boot 00:23:28 and -boot-load-size 00:23:29 -boot-load-size 4 -boot-info-table ? 00:23:31 hm 00:23:40 it supports most everything mkisofs does, it seems. 00:23:41 ehird, sounds like a rip-off then (j/k) 00:23:53 but what about -boot-info-table 00:23:54 AnMaster: i'm sure if it was linux you'd be calling it compatibility :) 00:24:02 no -boot-info-table 00:24:20 AnMaster: i'm sure if it was linux you'd be calling it compatibility :) <-- yes 00:24:44 -boot-info-table 00:24:44 Specifies that a 56-byte table with information of the CD-ROM layout will be patched in at offset 8 in the boot file. If this option 00:24:44 is given, the boot file is modified in the source filesystem, so make sure to make a copy if this file cannot be easily regenerated! 00:24:44 See the EL TORITO BOOT INFO TABLE section for a description of this table. 00:25:08 that seems backwards 00:25:21 my my 00:25:23 "the boot file is modified in the source filesystem, so make sure to make a copy if this file cannot be easily regenerated" 00:25:24 my my 00:25:25 that 00:25:25 is 00:25:27 so backwards 00:25:33 my my my my my my my my my mym ym ym ym ymym my ym my my my mymymymym 00:25:37 s/cannot/can/ 00:25:54 I assume "sudo port install cdrtools" should bring in the mkisofs, if there is some religious reason for only using that. 00:26:00 cdrtools? 00:26:01 aaaaaa 00:26:07 That 00:26:27 fizzie: That 00:26:31 ehird, is that the debian fork? 00:26:38 AnMaster: no 00:26:41 ah good 00:26:43 it's the original schilling shitfest 00:26:43 That's where mkisofs is from, after all. There's some "dvdrtools" fork; I don't think they have the Debian fork. 00:26:45 the debian one sucks 00:26:53 of licensing shittiness, arrogance and bugs galore 00:26:58 The Debian one renames it to genisoimage, anyway. 00:27:03 ehird, well the "schilling" one actually works with my system 00:27:09 that is more important to me 00:27:14 Clearly there are only two options. 00:27:27 ehird, with cdrcrap it fail all burns 00:27:37 Only two options! 00:27:39 Debian and Schilling 00:27:40 or whatever the other one was callled 00:27:46 There is no other software to do CD stuff on linux. 00:27:48 Whatsoever. 00:27:48 ehird, link me to the third 00:27:53 I'm waiting. 00:27:56 AnMaster: http://google.com 00:28:05 ehird, There is no third afaik 00:28:10 so prove there is one 00:28:10 Debian packages it separately into wodim and genisoimage, I'm not sure if the fork has a name. 00:28:16 cdrdao? 00:28:30 AnMaster: libburn, http://fy.chalmers.se/~appro/linux/DVD+RW/ 00:28:33 (those are two options) 00:28:34 Anyway, there is a third fork called dvdrtools, but it seems a bit dead. 00:28:38 pikhq, ah right. and I tried that before. Didn't work either 00:28:46 AnMaster: What 00:28:48 cdrdao's not a cdrtools fork, though. 00:28:56 pikhq, was about 2 years ago though 00:28:57 CD burner do you have, what interface, and are you still on 2.4? 00:29:03 pikhq, I'm on 2.6 00:29:07 and I were then too 00:29:13 AnMaster: libburn, and the other one I linked 00:29:15 are you ignoring me? 00:29:18 you asked, I proved. 00:29:19 pikhq, and DVD burned. Not CD burner 00:29:23 Okay, so IDE emulation bugs are right out. 00:29:28 Evidently. 00:29:29 Erm. SCSI. 00:29:36 ehird, I'm putting you on hold until I discussed with pikhq 00:29:43 Kernel ATAPI bugs aren't eliminated, though. 00:29:49 00:28 ehird: AnMaster: libburn, http://fy.chalmers.se/~appro/linux/DVD+RW/ 00:29:51 pikhq, I have PATA DVD drive. 00:30:05 ehird, 00:30:10 And ATAPI is the ATA-embedded protocol for talking to it. 00:30:17 pikhq, yes I know 00:30:20 just not SATA 00:30:23 Anyways. 00:30:24 was what I was talking about 00:30:42 Hmm. I guess the best I can say is give it a shot again and hope it works? 00:30:51 fuck this apple shit 00:31:06 Honestly, I think I'd need a long session with gdb to find anything out if it didn't work again. 00:31:07 pikhq, the drive refuses to burn CD-RW at all btw. CD-R works. 00:31:08 i'm gonna boot slax in qemu to do this 00:31:17 nooga: your fault for not reading the manpage 00:31:18 pikhq, think it can't burn CD-RW slow enough 00:31:21 it tells you almost exactly how to do this shit 00:31:24 since the options are almost 1:1 00:31:26 have fun 00:31:31 pikhq, I use my old computer with a slower drive for that 00:31:33 ehird: i've read that 00:31:42 I'm vaguely leaning towards a buggy drive now. 00:31:50 but hdiutil doesn't have -b option from osx 00:31:55 blaaa 00:31:55 pikhq, quite possible 00:32:02 osx->mkisofs 00:32:04 lol ;d 00:32:12 pikhq, "writemaster" is all it says on the front 00:32:25 well apart from the dvd/cd logos 00:32:34 well,* 00:32:47 Ah, the joy of whitebox equipment. 00:32:52 Yeah, I got nothing. 00:32:55 pikhq, what? 00:33:04 pikhq, it is actually black 00:33:05 Except for delicious, delicious pizza. 00:33:17 pikhq, ehird? Are you there? 00:33:23 AnMaster: Cheap, generic computer hardware is generally called "whitebox. 00:33:23 -!- sebbu has quit (Read error: 110 (Connection timed out)). 00:33:24 -!- sebbu2 has changed nick to sebbu. 00:33:28 pikhq, ah 00:33:33 "2x HDMI, 1x DVI-D, 1x VGA, 1x component-video, 2x SCART, 1x S-Video, 1 DVB-T tuner"; whoa, that's a lot of connectors in a computer monitor. 00:33:38 I am the only person who likes pizza? 00:33:43 no. 00:33:46 fizzie: That's a TV set. 00:33:51 ehird, no. But it was non-seq 00:33:54 pikhq: No, they call it a monitor. :p 00:33:54 like your style 00:34:00 00:32 pikhq: Yeah, I got nothing. 00:33 pikhq: Except for delicious, delicious pizza. 00:34:03 It's got a fucking tuner. 00:34:04 That's perfectly meaningful. 00:34:11 ehird, not to me 00:34:16 IDGI 00:34:17 AnMaster: He has nothing except pizza. 00:34:18 pikhq: It's still not a TV set. It's just a monitor with a DVB-T tuner attached. 00:34:22 ah 00:34:26 He's saying that he is eating pizza, I assume 00:34:32 Ah, the joy of whitebox equipment. Yeah, I got nothing. Except for delicious, delicious pizza. 00:34:33 but 00:34:37 fizzie: what's a tv set then? 00:34:38 what has that got to do with the drive 00:34:41 AnMaster: Nothing. 00:34:52 # hdparm -I /dev/sr0 00:34:52 /dev/sr0: 00:34:52 ATAPI CD-ROM, with removable media 00:34:52 Model Number: TSSTcorpCD/DVDW SH-W162C 00:34:56 pikhq, ^ 00:34:59 Non-sequitur would be if he said "Yeah, I got nothing. Order the battalions to end the rape & pillage of the fishes." 00:35:09 bsmntbombdood: It's something conceptually different. 00:35:09 It followed perfectly fine; it was just irrelevant. 00:35:10 AnMaster: Well, fuck. 00:35:16 pikhq, what? 00:35:25 AnMaster: That tells me even less. 00:35:28 I'm guessing they're calling it a monitor since it's got that DVI input and it's too small to be a viable TV. 00:35:32 pikhq, oh? 00:35:36 Except that my DVD-ROM drive comes from the same company. 00:35:43 fizzie: What size is it? 00:35:48 fizzie: too small to be a viable tv? The main tv set in here is a 21" crt. 00:35:53 Flatscreen, at least, but... tiny. 00:35:59 pikhq, maybe one of those that makes the circuits. And then various brands stick stuff on 00:36:09 AnMaster: I'd bet. 00:36:25 pikhq, seems to mean "Toshiba Samsung Storage Technology Corporation" 00:36:26 It's 22". "LG M227WD-PZ"; 1920x1080 pixels. And TVs nowadays seem to be absurdly large. 00:36:40 fizzie, that's a TV set. 00:37:00 I read a comic where a 52" screen was considered bizarrely large for playing Quake III. It was CRT, I recall, and went at something like less than 1 fps per second. 00:37:05 This comic was ancient. (2002 :-P) 00:37:10 pikhq: If the guys who make it say it's a monitor, then it's a monitor. 00:37:24 When your 'monitor' has a tuner, it's a TV set, regardless of what bullshit the manufacturers say. 00:37:31 pikhq: It probably differs from a TV set in ONE way: 00:37:42 Incidentally my DVD burninator is a "TSSTcorp CD/DVDW SH-S183A". 00:37:44 TV sets are horribly unrealistic by default in their picture and audio settings. 00:37:48 Too much contrast, etc. 00:37:57 This is because people actually like it more, aparrently. 00:37:58 ehird: Oh, right. I forgot that they look like shit. 00:37:59 *apparently 00:38:01 Monitors? 00:38:05 They generally come configured right. 00:38:13 fizzie, heh 00:38:23 It's even worse with CRTs. 00:38:27 pikhq: does it have a tuner or just a port for a tuner? 00:38:31 what fizzie said implies port 00:38:32 Try as I might, I can't get them configured right. 00:38:42 ehird: Fizzie said "DVB-T tuner". 00:38:43 pikhq, writemaster seems to be "samsung writemaster" btw 00:38:49 It does have a built-in tuner, yes. 00:38:52 AnMaster: Hmm. 00:38:53 pikhq, says google 00:39:09 And actually I'm guessing what makes it a monitor is that they sell the same thing without the tuner. 00:39:15 pikhq, haven't asked alpha yet. But it wouldn't know 00:39:18 :D 00:39:23 fizzie: err, what makes it a MONITOR? 00:39:26 Up is down down is up. 00:39:43 ehird: The HDMI, VGA, and DVI inputs. 00:39:47 :p 00:39:50 00:39 fizzie: And actually I'm guessing what makes it a monitor is that they sell the same thing without the tuner. 00:39:57 it's reversed! 00:40:12 Well, the model without the tuner is obviously a monitor; so since the tuner-version is so identical, it must be a monitor too. 00:40:30 yeah. Completely logical 00:40:32 heh 00:40:38 unusual that ehird didn't get it 00:40:40 while I did 00:40:41 Except that the tuner makes it a TV set. 00:40:41 :P 00:40:48 AnMaster: but it MAKES NO SENSE!!!111 00:40:54 ehird, agreed. 00:41:04 ehird, it makes perfect no sense. 00:41:17 ehird, (read: marketing) 00:42:23 (I'll do some sleeping now, 0230 localtime.) 00:42:54 ehird, about http://fy.chalmers.se/~appro/linux/DVD+RW/ "Secondly, the DVD burners available on the market can burn even CD-R[W] media and cdrecord is the tool for this job" 00:42:58 I never burned a DVD 00:43:01 so yeah. 00:43:05 I have no use for that one 00:43:10 I only burn CDs 00:43:13 AnMaster: so libburn. 00:43:26 ehird, word not found on page 00:43:40 00:28 ehird: AnMaster: libburn, http://fy.chalmers.se/~appro/linux/DVD+RW/ 00:43:40 00:28 ehird: (those are two options) 00:43:47 Reading comprehension is AwEsOmE 00:44:06 http://libburnia-project.org/ 00:44:22 -!- FireFly has quit ("Later"). 00:44:30 ehird, why should I switch since cdrecord actually works 00:44:50 AnMaster: fuck you for making me go to the effort of finding that when your response was predecided 00:44:58 "Prove there is a third option!" "OK." "LA LA LA" 00:45:11 ehird, you said I shouldn't use the Schilly crap though 00:45:19 you acted like it at least 00:45:21 i said that beforehand 00:45:25 then you asked me to prove there is a third option 00:45:36 ehird, but why should I use that third option 00:45:50 ehird, and does it integrate into k3b :) 00:46:05 do what the fuck you want, goddamn, i never told you to switch, i just said that schilling is a fuckwit, his licensing is stupid and he ignores bugs 00:46:08 AnMaster: and it has a cdrecord emulator 00:46:14 so yes, if you can change the executable name 00:46:28 nice 00:46:40 http://libburnia-project.org/wiki/Cdrskin 00:46:43 and try this new thing I heard about "mindfullness" 00:46:46 it might help 00:47:03 err "mindfulness" 00:47:04 even 00:47:14 it's not my fault you try to wind me up by sending me on wild goose chases 00:47:16 http://www.cdrinfo.com/Sections/Articles/Sources/C/CPU%20Coolers%20Roundup%20For%20LGA1366%20April%202009/Images/results1.png 00:47:22 lol, passive cooling an i7 00:47:37 :D 00:47:42 bsmntbombdood: yeah, the megahalems 00:47:47 I'm using them for my new build 00:47:50 but with a fan 00:47:55 not passive are you? 00:47:55 ok 00:47:56 since that's 82C on the slowest one, 920 00:48:01 and I'm going for >3ghz 00:48:10 besides, 82C is quite possible dangerous 00:48:12 ehird, N O I S E? 00:48:19 AnMaster: Scythe fans are soundless. :) 00:48:31 so 00:48:37 who have the lowest CPU temp her 00:48:39 here* 00:48:46 bsmntbombdood: the megahalems non-passive there are 51C, that's odd because they're the biggest, most heavy duty i7 coolers, pretty much 00:48:47 oh well 00:48:55 it's big enough to be able to run a fan really slow 00:48:57 and 51C is just fine 00:49:20 # sensors 00:49:20 k8temp-pci-00c3 00:49:20 Adapter: PCI adapter 00:49:20 Core0 Temp: 00:49:20 +25 C 00:49:22 anyone? 00:49:28 AnMaster: anyway, even those who go for no-noise generally have a cpu fan at least 00:49:32 since it's the hardest component to passively cool 00:49:47 ehird, yeah 00:49:51 people who want no noise use watercooling 00:49:56 ehird, I have seen solid state ones though 00:49:57 bsmntbombdood: bullshit! 00:50:06 watercooling is louder than the quietest air rigs 00:50:08 bsmntbombdood, water cooling is loud 00:50:22 heck, you need a fan with watercooling too 00:50:25 plus pump noise 00:50:28 etc 00:50:30 yep 00:50:34 hm 00:50:38 I remember reading about 00:50:40 you don't need a fan if you use a decent radiator 00:50:43 watercooling is quieter than air cooling for a really high end multi-graphics card rig 00:50:46 some kind of solid state DC cooling 00:50:51 nothing else 00:50:52 I don't remember the name 00:50:55 ehird, any idea? 00:51:00 -!- coppro has quit (Connection timed out). 00:51:24 fans on my planned new rig: nexus value 430W power supply (most silent power supply on silentpcreview; inaudible at almost all levels), scythe fan of some sort for CPU cooler, and two nexus real silent 120mm case fans (probably @7V) 00:51:26 AnMaster: dunno 00:51:27 Peltier. 00:51:32 ehird, it worked by two blocks. One geting cold, the other hot 00:51:35 pikhq, that's it! 00:51:48 you can buy preassembled solid state computers 00:51:49 http://www.endpcnoise.com/cgi-bin/e/std/sku=fanless_mcubed_pc.html?id=3FVHowPb 00:51:53 AnMaster: peltier 00:51:58 up to 3.33ghz core 2 duo 00:52:01 bsmntbombdood, yeah pikhq answered 00:52:02 ages ago 00:52:05 well, it has a dvdrw 00:52:08 but you can rip that out 00:52:11 and you'll burn up your peliter junction if you don't put a fan on it 00:52:49 anyway, convective cooling is really silent - unlike watercooling - and can cool a lot of stuff 00:52:57 not very common, but, see Zalman's Totally No Noise series 00:53:31 ehird, how does it work 00:53:41 AnMaster: a shitload of heatpipes 00:53:52 AnMaster: and making the case into a giant heatsink 00:53:54 interesting 00:53:55 http://www.endpcnoise.com/cgi-bin/e/std/sku=tnn_300_core2_media.html 00:54:10 there was a guy who diy'd that 00:54:11 that's the micro-atx version 00:54:12 but meh 00:54:16 it didn't turn out too well though 00:54:19 micro atx ftl 00:54:35 faster than light? 00:54:43 look 00:54:46 the full TNN 500 00:54:48 bsmntbombdood, ? 00:54:48 normal atx 00:54:51 can do quad-core 2 00:54:51 s 00:54:57 AnMaster: for the lose 00:55:01 so it can handle most. 00:55:05 bsmhm 00:55:06 mhm* 01:03:19 whooo 01:03:42 grub is compiling under slax under Q under os x 01:03:56 and it takes years 01:05:50 "The Finnish government has announced plans for universal broadband access across Finland assuring that no person will be further than a mile and a half away from a broadband Internet connection of at least 100 megabits per second (Mbps). " 01:05:55 I came. 01:06:03 Truly ze amazing. 01:06:15 yeah 01:06:34 I so want to move to .fi now :) 01:06:52 in soviet poland broadband internet surfs you 01:06:58 *sniff* But only Nebula seem to do IPv6 in .fi 01:07:08 100mbps fiber or IPv6 I CAN'T DECIDE 01:07:17 hmmm 01:07:26 i don't see anything cool in IPv6 01:07:37 nooga: ipv6 is the future man 01:07:39 it looks like linux is actually lowering my cpu frequency when it can 01:07:40 and also it's just pretty 01:07:44 sure 01:07:48 bsmntbombdood: that's a good thing 01:07:52 yes 01:07:52 bsmntbombdood: also, it may be the cpu 01:07:54 /bios 01:08:03 due to that cores-feed-other-more-active-cores thing 01:08:33 it's at 1.6ghz right now 01:09:12 heh 01:09:17 how slow :-D 01:10:02 nebula's max <149euro/mo seped thing is 24M/3M 01:10:04 for 85euro 01:10:07 which is disappointingly slow 01:11:19 FOR HOW MUCH?! 01:11:41 nooga: 85 euros a month for 24MB down / 3MB up. 01:11:50 erm 01:11:56 You get IPv6, custom reverse-DNS and tech-savvy support for that, sez fizzie. 01:12:00 But 'tis excessively-priced. 01:13:11 i've got 6M/1M for 22eur ;p 01:13:13 http://theory.stanford.edu/~sbansal/pubs/asplos06.pdf 01:13:15 interesting 01:13:16 very 01:13:18 interesting 01:13:20 ehird, ^ 01:13:33 AnMaster: futamura's projections are cooler 01:13:39 ehird, what 01:13:45 AnMaster: who 01:13:52 AnMaster: nice 01:13:56 AnMaster: http://blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html 01:13:57 nooga, what do you mean 01:14:10 s/who/whoa/ 01:14:32 hhm 01:14:35 hm* 01:14:41 -!- upyr[emacs] has quit (Remote closed the connection). 01:16:08 ehird, ok, that is cool 01:16:30 yep 01:16:32 auto-optimizers 01:16:38 for compilers/interpreters 01:16:48 write an interpreter, get an (in theory) good computer 01:16:51 *compiler 01:17:02 nooga: wait, that's "Annex M" 01:17:07 their regular 24m/1m is 59euro/mo 01:17:21 that's only 1m upload ofc 01:17:22 but gah 01:17:30 I want 100M both ways + ipv6 + custom reverse dns. 01:18:11 =.= 01:18:12 -!- coppro has joined. 01:21:40 ehird, lol 01:21:51 I read "futamura" as "futurama" all the way along. 01:21:54 Fuck it, I'm starting my own (Finnish) ISP. 01:21:58 With blackjack. And hoookers! 01:22:04 Hoookers. 01:22:06 An extra o. 01:22:09 heh 01:22:17 Hey, that fits in with "futurama". 01:22:20 It's like synchronicity. 01:22:28 like what 01:22:37 It's a futurama reference 01:22:41 also, look up synchronicity 01:23:57 ehird, how pratical are these protections 01:24:05 AnMaster: Projections. 01:24:06 Practical. 01:24:07 And, 01:24:10 Sort of. 01:24:17 Some tools exist, they aren't perfect. 01:24:18 ehird, any open source implementations? 01:24:23 It's theory, mostly. Lots and lots of papers. 01:24:24 Try google. 01:24:25 → 01:24:30 night too 01:24:54 i want 1 gbit each way 01:26:47 bsmntbombdood, go live in a DC 01:27:29 A district of Columbia? 01:27:34 Data Center 01:27:39 Ah. 01:27:46 too noisy 01:27:58 Speaking of: why the crap didn't the US get called Columbia? 01:28:01 bsmntbombdood, replace all the fans with passive cooling 01:28:11 AnMaster: still need a/c 01:28:22 pikhq, Indiana would have been better. They were first :P 01:28:24 * pikhq thinks he will start calling the US of A "Columbia". 01:28:45 bsmntbombdood, ? 01:28:59 AC power should exist 01:29:00 ... 01:29:08 wtf are you talking about 01:29:26 bsmntbombdood, http://en.wikipedia.org/wiki/AC_power 01:29:27 AC 01:30:03 AnMaster: air conditioning 01:30:15 ok 01:30:19 bsmntbombdood, why? 01:30:23 just move north 01:30:29 wtf are you talking about 01:30:46 bsmntbombdood, stop repeating yourself 01:30:53 bsmntbombdood, I'm talking about Greenland dude 01:30:58 you won't need AC there 01:31:02 or even North Pole 01:31:36 bsmntbombdood, anyway, just put a huge radiator on the house 01:31:37 :D 01:31:43 or better yet 01:31:46 a heatsink 01:31:54 a HOUSE WITH A HEATSINK! 01:33:38 a heatsink can't lower temperature below ambient 01:34:02 bsmntbombdood, which would be around 20-27 C? 01:34:05 quite acceptable 01:34:14 possibly below zero even 01:34:32 38 01:34:37 bsmntbombdood, C? 01:34:44 yes 01:34:48 bsmntbombdood, and then you are way too near the equator 01:34:53 Move north or south dude 01:34:57 what are we talking about? 01:35:05 how is that unclear 01:35:32 it was 14 C outside today iirc when it was hottest. Here that is. 01:37:05 -!- coppro has quit (Read error: 54 (Connection reset by peer)). 01:38:05 -!- coppro has joined. 01:38:47 night 01:40:19 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 01:41:32 -!- coppro has joined. 01:50:18 fuck 01:50:23 i can't make this fucking iso 01:50:29 mkisofs fails 01:52:05 i've never had an issue 01:53:55 could you perhaps create a clean, bootable cd with grub installed on it 01:53:58 for me? ;p 01:57:58 Get a Gentoo install disc. 01:58:33 beh? 01:59:00 The Gentoo install disc is a lightweight LiveCD. 01:59:37 and then remove gentoo from the image, edit menu.lst and put my kernel on the image? 01:59:52 ... Why stick your own kernel in there? 02:00:13 ... Oh, you expect an installer. 02:00:20 The Gentoo installer is as follows: 02:00:23 $ 02:00:47 The Gentoo install disc is *just* a lightweight LiveCD. ;) 02:01:15 it's late and i don't get it 02:01:30 It gives you a shell prompt. 02:01:34 It has Grub on it. 02:01:38 All you need. 02:02:02 (as it just so happens, it also contains GNU Tar, GNU Coreutils, and Elinks) 02:02:14 the situation is as follows: i have my own kernel compiled into one bin file: kernel. I need to put *kernel* on a bootable cd to boot it 02:02:29 ... 02:02:39 i can create a floppy 02:02:47 but somehow not a cd 02:03:00 Why do you need a CD? 02:03:14 to boot my "os" on a real machine 02:03:30 you mean you don't have a floppy drive?' 02:03:54 and even though i'm in Poland, computers here don't tend to have floppy drives any more 02:04:47 Ah. 02:05:18 can you put it on a USB drive? 02:05:23 sure 02:05:38 "If I ever hear the words "that's final" come out of your mouth ever again, they truly will be." 02:05:40 you should be able to boot from that 02:05:44 GRUB 0.x supports USB drives when installed on them. 02:05:57 GRUB 2 has a USB stack, instead. 02:06:31 dunno, just tell me how to prepare that fucking usb stick 02:06:39 please? :3 02:07:01 Same way you'd do any GRUB install, IIRC. 02:12:35 okay, done 02:38:37 damn 02:38:44 the core i7 is a hell of a processor 02:52:43 yeah! 02:54:05 i've got bootable cd with a bootloader that boots grub from my already bootable floppy image that is written on the cd 02:54:48 what for? 02:55:14 too tired to fight with mkisofs 02:56:22 i mean, what are you doing this for? 02:57:06 I NEED TO PUT MY KERNEL ON A CD THAT WILL BOOT WHEN INSERTED TO A PC 02:57:33 OW 02:58:07 why? 02:58:42 because i need to deliver it to my teacher 02:59:25 ow, my OSX is broken, need to reboot 03:00:01 -!- nooga has quit ("Leaving..."). 03:38:14 -!- Corun has joined. 03:38:24 Heya y'all. I'm looking for Fax/Ed, anyone seen him? 03:40:38 i have never seen him. 03:41:23 Hmm 03:41:26 And I forgot how to capitalise on the capital letter market for a second there. 03:41:34 :-) 04:11:56 -!- Corun has quit ("Leaving..."). 04:17:58 -!- calamari has joined. 04:43:39 http://pastebin.ca/1426079 05:15:37 -!- RU has joined. 05:15:57 -!- RU has left (?). 05:40:38 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 05:40:46 -!- Halph has joined. 05:40:53 -!- Halph has changed nick to coppro. 06:05:55 randomly permute a linked list in O(n) time 06:18:27 -!- Sgeo has quit ("Leaving"). 06:19:49 -!- kar8nga has joined. 06:42:29 -!- evincar has joined. 06:42:42 Hello hello. 06:45:31 ...all right, then. 06:45:34 -!- evincar has quit (Client Quit). 06:46:44 heh 06:46:52 total of 3 minutes 06:57:34 IF YOU DON'T RESPOND IN THREE MINUTES I'M NEVER COMING BACK 06:59:35 now, 11 minutes for a response, that's more like a good irc channel 07:00:04 :P 07:02:14 -!- kar8nga has quit (Remote closed the connection). 07:03:57 -!- calamari has quit ("Leaving"). 07:26:37 ah, Chopin's first piano concerto, 3rd movement.... mmmmmm... 07:27:20 very enjoyable to listen to 07:27:25 ah, Dream Theater - Images and Words 07:27:36 mmm 07:28:04 I have more m's. >_> 07:28:44 /s 07:39:59 -!- jix has joined. 07:57:40 hm. the Harry Potter fandom has it pretty good -- at least they still have the author of the work to bully into giving hints about what's canon 07:58:23 although that's mostly all of what I think is going for them. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:32 i read some harry potter erotic fanfic once 08:03:08 oh. What were the romantic relationships featured? 08:03:24 that is to say, shipping 08:03:45 i think it was a threesome 08:05:48 i was impressed at the two guys banging each other 08:06:40 written by a female, I'd guess 08:07:43 i don't know 08:09:48 -!- GregorR-L has quit ("Leaving"). 08:21:11 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 08:41:50 -!- pikhq has joined. 09:28:50 xkcd was nice today 09:29:08 very enjoyable to listen to <- agreed 09:30:00 yeah... so you have a copy somewhere? 09:30:32 well. my classical collection is somewhat small. But it's as large as it needs to be! :D 09:31:29 yay bittorrent 09:35:03 -!- Ilari_ has joined. 09:36:07 -!- lereah_ has joined. 09:45:20 -!- Ilari has quit (Read error: 110 (Connection timed out)). 09:51:45 -!- wooby has joined. 09:52:20 hm 09:52:42 Gracenotes, How complete is it for J. M. Kraus? 09:52:48 -!- wooby has left (?). 09:52:56 not at all 09:53:07 Gracenotes, my favourite composer. 09:53:53 * AnMaster is listening to Joseph Matrin Kraus' Symphony in C sharp minor. 09:53:54 ah. what era? I'm lots more well versed in music theory than the history 09:54:07 Gracenotes, contemporary with Mozart. 09:54:49 and didn't get old either 09:54:50 I see. How do they compare, do you think? 09:55:05 Gracenotes, Mozart is great, but Kraus is better :) 09:55:23 Gracenotes, Kraus is from Germany, however he worked in Sweden for most of his life. 09:56:49 Gracenotes, I have the 4 CDs with the complete collection of the symphonies that Kraus wrote. There is some other music of him that I'm missing though. (One CD with piano music, and some other ones) 09:57:10 Gracenotes, Naxos 8.554777 09:58:06 (also, 8.553734, in case you prefer that type) 09:58:50 -!- GreaseMonkey has joined. 10:00:28 Gracenotes, http://www.youtube.com/watch?v=QbhA7NRZTZ0&fmt=18 <-- One of the movements from that one, and a reworked version in C minor (instead of C sharp minor). 10:00:49 But I have a better recording (Swedish Chamber Orchestra) 10:01:16 ooh. I've bookmarked it for listening later on... I'd just like to finish reading a chapter before I go to bed 10:01:37 thanks! 10:01:55 GregorR, that recording is inferior to the one I have IMO. 10:01:57 err 10:02:03 Gracenotes, ^ 10:02:16 yep. I do have the name though. 10:02:36 Gracenotes, NAXOS 8.554777 is the id of the one I have. 10:02:40 the cd 10:03:42 Gracenotes, What do you think of Vivaldi? 10:04:25 not a composer I can listen to while reading, exactly. 10:04:30 hah 10:04:40 Gracenotes, wouldn't say Kraus was that either 10:05:01 not a subtle texture he uses. But interesting enough 10:05:08 Gracenotes, I love Vivaldis' Summer. Especially the first and the last movement. Especially in this recording from City of London Sinfonia 10:05:13 * Gracenotes has not listened to much of him lately 10:05:20 a bit higher tempo than usual 10:05:23 mm. 10:05:50 not a subtle texture he uses. But interesting enough <-- who? Kraus or Vivaldi? 10:06:01 er, Vivaldi in this case 10:06:03 ah 10:06:11 * Gracenotes is saving Kraus to listen to tomorrow 10:06:20 earphones are off for the rest of tonight... 10:06:49 Gracenotes, the recording I have here of Kraus is a bit more stressed tempo than the one on youtube. Something which I like. 10:07:07 (and I love violins, awesome sound) 10:09:45 Gracenotes, cya 10:10:02 bye! 10:10:20 so you are going to bed hm 10:10:45 -Gracenotes- TIME Mon 18 May 2009 05:10:40 AM EDT 10:10:47 kay 10:11:01 soon. 5:30 maybe 10:11:07 although the original target time was 4:00 10:11:16 Gracenotes, you are nocturnal I see. 10:11:23 Harry Potter, 6th book... she does think of quite good plots 10:11:47 AnMaster: yes. But I can't be too nocturnal, otherwise I'll miss my 8:00 AM exam Tuesday. eh. 10:11:50 Gracenotes, that isn't even the last one 10:12:01 yes. I also have the 7th one 10:12:12 a bit behind with reading? 10:12:28 I think I read it in a week or so after it was released. 10:12:46 heh. well, the last I read the books were many years ago, 1-4 10:13:00 then I've watched all the movies in the last two days, 1-5 10:13:04 -!- Ilari_ has changed nick to Ilari. 10:13:05 Gracenotes, ah, re-reading? 10:13:14 no -- I've started off reading the 6th book 10:13:21 oh 10:13:27 which means that the first four are in distance memory and I've skipped the 5th one 10:13:35 uhu 10:13:38 how comes? 10:13:39 but the movie is a good enough summary, it seems 10:13:47 I wanted to continue the plot 10:14:07 right now I'm at page 679/827 in the 6th book, at least in my ebook 10:14:25 EDT is US right? 10:14:51 yes. I live in New York state 10:15:03 mhm 10:24:49 -!- oklodok has joined. 10:33:27 -!- tombom has joined. 10:55:16 -!- oerjan has joined. 11:11:00 -!- coppro has quit (Read error: 60 (Operation timed out)). 11:18:34 -!- GreaseMonkey has quit ("YES -> thor-ainor.it <- THIS IS *DELICIOUS*!"). 11:30:24 -!- oerjan has quit ("leaving"). 11:41:40 -!- Corun has joined. 11:56:36 -!- Corun has quit ("Leaving..."). 11:58:46 -!- Judofyr has joined. 12:13:19 -!- KingOfKarlsruhe has joined. 12:16:17 -!- tombom has quit ("Peace and Protection 4.22.2"). 12:37:34 -!- oklodok has quit (Read error: 110 (Connection timed out)). 12:39:23 -!- Judofyr has quit (Remote closed the connection). 12:40:57 -!- bsmntbombdood has quit (Read error: 113 (No route to host)). 12:59:25 -!- Judofyr has joined. 13:23:24 -!- puzzlet_ has joined. 13:34:09 -!- asiekierka has joined. 13:49:28 -!- puzzlet_ has quit ("leaving"). 14:04:45 lifthrasiir, there? 14:15:04 guess not 14:15:33 * AnMaster was going to ask about reliable detection of infinite/finite/unknown loops 14:15:59 (in bf) 14:21:28 lifthrasiir, oh btw I have more advanced copy/constant propagation than you do (move pointer isn't a blocker in my code, while unbalanced loops still are of course). 14:22:02 that is, based on the comment in http://hg.mearie.org/esotope/bfc/file/1a700645b843/bfc/opt/propagate.py 14:46:11 AnMaster: good! i have to implement new ideas soon... 14:47:12 lifthrasiir, err, how do you do the detection of if a loop will loop forever 14:47:28 AnMaster: see simpleloop.py for detail. 14:47:38 lifthrasiir, I'm not good at reading python :/ 14:47:40 but hm 14:47:47 no, there is some comment on it 14:48:10 lifthrasiir, another question: how do you do the +++[->++>++++<<] think into constants. 14:48:42 I can constant fold it only if they are copies anre the values are known (I can translate [->+>+<<] into copy, copy , set 0 atm) 14:49:00 but your generated code has stuff like: p[0] = p[1] * p[2] 14:49:01 it is first transformed into Repeat[] loop, and soon flattened (in cleanup pass) to multiplication. propagate pass eliminates any expressions and turns them to constant. 14:49:06 how did you end up with that 14:49:24 lifthrasiir, what is a repeat loop? 14:49:31 constant number of iterations? 14:49:35 what? currently it only generates the code in the form of p[0] = const * p[3]. 14:49:39 and yes. 14:49:53 lifthrasiir, maybe I misremembered then, saw it in some notes.txt or something? 14:50:05 notes.txt is outdated. ;) 14:50:08 ah 14:50:18 lifthrasiir, that explains why I couldn't make head or tail out of the code. 14:50:41 i'm not sure notes.txt is invalidated though. 14:51:05 lifthrasiir, really you need more comments. 14:51:25 agreed, many thing is too undocumented. 14:51:26 ohcount says in-between have 34.6% comments. Though that is off a bit due to the GPL headers. 14:51:27 are* 14:51:52 lifthrasiir, "# let w be the overflow value, which is 256 for char etc." is the bit about infinite or not? 14:52:20 for example, +[+>++<]... 14:52:39 if the cell is of finite size the loop executes 255 times. 14:52:55 yeah, I can't handle that one 14:52:58 but I should be able to 14:53:06 including when you have ,[+>++<] 14:53:11 shouldn't be too hard 14:53:25 yes, since resulting expression is simple enough 14:53:42 lifthrasiir, http://rafb.net/p/FN63Qk65.html is my crude draft idea for how to represent such loops. 14:53:53 well, represent each member of it 14:54:44 looks quite specific about param, but that should be enough imo. 14:55:16 and that is invalid erlang btw. Just ideas. in pseudo-erlang 14:55:43 and atm I'm implementing loop -> if. Except I found out that my loop_access analyses pass is buggy and stops too early 14:56:05 one thing i have to do right now is adding automated tests. certainly. ;) 14:56:18 since the original source code is quite messy. 14:56:24 oh and I also seem to throw exception for loops known not to touch the index cell. Fun! 14:57:26 AnMaster: any idea about other codegen module rather than C? ;) 14:57:58 lifthrasiir, I have been wondering about that too, something where you can easily test the generated result of LostKing would be a good one. 14:58:16 lifthrasiir, of course, a given one is outputting bf again. 14:58:26 fun. :D 14:58:29 at least for lostking it should be able to optimise it 14:58:39 -!- oerjan has joined. 14:58:42 in-between currently removes quite a few dead loops in iut 14:58:43 it* 14:58:47 and i'm testing with lostkng, but it took much time and doesn't help isolating the bugs. 14:59:01 lifthrasiir, oh sure does. Generate output. Diff against previous. 14:59:07 see if anything interesting happened 14:59:49 lifthrasiir, but normally I test with mandelbrot + 50 or so test cases (half no longer relevant after I added initial_memory pass). 15:00:09 lifthrasiir, btw, your initial memory pass, does it stop on balanced loops, or only on unbalanced ones/seek 15:00:14 AnMaster: i should add such test cases now. 15:00:25 lifthrasiir, you could check out in-between if you wanted. 15:00:54 bzr branch http://rage.kuonet.org/~anmaster/bzr/in-between/trunk in-between 15:01:01 have some test cases. 15:01:07 and yeah beat me if you want. 15:01:08 thank you, i will analyze it soon. 15:01:10 ;) 15:01:15 the competition is quite fun! 15:01:17 lifthrasiir, needs Erlang R13A-0 at least 15:01:24 lifthrasiir, I'm not aiming to beat you. 15:01:55 lifthrasiir, mine has some "long range" optimisations, but the majority is peephole-style still. 15:02:09 -!- jix has quit (Remote closed the connection). 15:02:13 -!- jix has joined. 15:02:15 AnMaster: but anyway mine and yours influence each other, and it is good for each other. 15:02:42 lifthrasiir, do you change set0, copy into set_from btw? 15:02:43 so... erlang needs to be compiled manually in mac os x? 15:02:50 and set_from into set if the source is known 15:02:54 lifthrasiir, no clue. I run Linux. 15:03:07 lifthrasiir, and use erlang from my package manager 15:03:18 (which compiles it for me! Yeah I run Gentoo) 15:03:30 AnMaster: i have no idea what is copy command. you mean something like p[x] += p[y];? 15:03:58 lifthrasiir, [->+<] can be turned into "copy from p[0] to p[1], set p[0] to 0" 15:04:00 where copy is += 15:04:12 then it does merge them. 15:04:12 same for [->+>+<<] of course 15:04:39 currently AdjustMemory means p[x] += expr, and SetMemory means p[x] = expr. 15:04:42 -!- KingOfKarlsruhe has quit (Remote closed the connection). 15:04:51 i'm planning to remove AdjustMemory in lieu of SetMemory, though. 15:05:08 lifthrasiir, what about source propagation. Like "p[1] = 0; p[1] += p[0]; p[2] += p[1];" 15:05:16 mine does: 15:05:32 "p[1] = 0; p[1] += p[0]; p[2] += p[1];" -> "p[1] = p[0]; p[2] += p[1];" -> "p[1] = p[0]; p[2] += p[0];" 15:05:51 that is, tries to find "original" source 15:06:13 removing AdjustMemory will be quite helpful for copy propagation and source propagation. 15:06:24 lifthrasiir, AdjustMemory is like my add node then, and SetMemory like my set node 15:06:29 yes. 15:06:30 but they take integer constants 15:06:37 in my code 15:07:02 changing to take another node reference would be non-trivial, updating lots of the optimiser passes. 15:07:08 since only SetMemory node does memory operation then, it will make the code simpler and easier to implement such cases. 15:07:24 (I didn't consider data abstraction a lot, I preferred simple pattern matching ) 15:07:36 (at the expense of expression canonicalization, though. but that is very much needed for further optimization.) 15:07:45 lifthrasiir, how will you represent a ++ the. 15:07:48 then* 15:07:55 when you don't know value before 15:07:57 p[2] = p[2] + 2; 15:08:09 lifthrasiir, I hope that will be simplified somewhere before the output? 15:08:26 the output will be printed out simplified, of course. 15:08:44 but for internal processing, uniform memory operation is easier to process. 15:09:09 lifthrasiir, oh and in bytes my code is already shorter than your for non-trivial cases, I generate compact output in the C backend: no indention, as few spaces as possible. 15:09:24 well a few more than "as few as possible" 15:09:46 lifthrasiir, you seem to have C code generation spread out in the node representation btw? 15:10:13 AnMaster: the most recent revision moves code generation code into bfc.codegen.c module. 15:10:32 76 def __repr__(self): 15:10:32 77 return '%r!=%r' % (self.expr, self.value) 15:10:37 from cond.py 15:10:37 hm 15:10:43 that wouldn't work for an erlang backend 15:10:47 would need =/= in erlang 15:10:53 AnMaster: well expression and condition is not yet refactored. 15:11:05 and i'm moving it currently 15:11:15 lifthrasiir, also why do you do some optimisation already in the file loader? 15:11:40 is that the only place where you move ">" forward? 15:11:51 traversing all the node is quite expensive. 15:11:55 or do you do it somewhere else after you converted [-] and such 15:12:14 AnMaster: it handles consecutive +, -, < and > currently. 15:12:25 and [-] is handled later elsewhere. 15:13:09 lifthrasiir, how is the node tree implemented? In in-between it is a linked list (cons style), with tuples (using records to simply changing the members, the erlang compiler translates it into a tuple) 15:13:16 (but I see it more like a struct) 15:13:27 lifthrasiir, what about >>[-]<< 15:13:43 AnMaster: it merges >> and <<, but not [-]. 15:14:00 [-] is handled in simple loop pass right now 15:14:48 (or more exactly, simple loop pass detects constant number of loop count and cleanup routine flattens the loop) 15:14:58 lifthrasiir, yes but when does +>[-]>+ turn into +:offset=0 [-]:offset=1 0:offset=2 ptr+=2 15:15:09 err 15:15:14 lifthrasiir, yes but when does +>[-]>+ turn into +:offset=0 [-]:offset=1 +:offset=2 ptr+=2 15:15:18 is what I meant 15:15:33 hit the wrong key (+ and 0 next to each other on Swedish kb layout) 15:15:54 lifthrasiir, surely you do move the moves forward. later on? 15:15:56 AnMaster: maybe in the cleanup? that is why i'm planning to move more optimization into file loader. 15:16:04 lifthrasiir, oh you don't do that already? 15:16:18 since it doesn't use attached offset. 15:16:40 i.e. offset is not an attribute of node; offset is calculated on-the-fly in the each passes. 15:17:37 but after certain passes, the most node is pointer-propagated and looks like above. 15:17:44 lifthrasiir, do you turn (assuming value before is unknown) "add, out(p[0]), add, out(p[0])" into "add, add out(p[0]-1), out(p[0])" 15:17:47 the most nodes are* 15:17:55 then merge the add nodes of course 15:18:17 lifthrasiir, hm ok. In my case offset is an attribute. 15:18:40 (see src/in_between-types.hrl for details of my data structures) 15:19:12 propagation pass could move some nodes, but anyway my passes don't depend on the order of nodes. 15:19:57 lifthrasiir, hm, how do you track data dependencies in general then? 15:20:09 did you say in-between uses mostly peephole optimizer? 15:20:58 lifthrasiir, well it has some "scan and build knowledge trees, sometimes store this to the parent loop (or other block) node" 15:21:16 lifthrasiir, but yes, a majority works on two or one operand 15:21:18 it tracks the record of references and updates, and determines if the current node is merged into the some node seen before. 15:21:26 like the shifter, which sorts by offset when possible 15:21:31 as well as moves "mov" forward 15:21:42 if the condition holds the current node is replaced with Nop[] (cleanup will get rid of these). 15:22:19 lifthrasiir, that sounds quite like my constant propagator pass. 15:22:37 well, I don't replace with nop, I just don't add the node to the result tree 15:22:45 (erlang is single assignment) 15:23:07 since it uses the linked list, alright. 15:23:31 lifthrasiir, yeah and each pass rebuilds the node list reversed then calls lists:reverse() before returning the result. 15:23:45 AnMaster: for tail recursion? 15:23:49 (which is rather fast, since lists:reverse is a built in function) 15:23:53 lifthrasiir, yes. 15:25:28 hmm, is reversing the linked list optimal? it is efficient than non-tail recursion, but i wonder there is an alternative approach. 15:26:01 lifthrasiir, speed isn't really an issue atm. 15:26:06 it seems fast enough 15:26:49 lifthrasiir, and doing it as a map over the list or similiar would only allow the function to look at one instruction at a time, while quite a few look at one from input and one from output 15:27:38 oh and important: If you just merged two instructions in peep hole style (looking at a pair), add the resulting instruction to the *input* list 15:27:54 this allows you to see if it can also be merged with the one before 15:28:27 getting that right reduced it from 230 iterations of all passes before the node tree stopped changing to just 6. For lostking 15:28:29 lifthrasiir, :) 15:28:36 okay, it should be quite common in functional (or mostly-functional) languages. :) 15:28:45 and about 5 minutes to half a minute 15:29:10 lifthrasiir, erlang is a mix of functional and declarative. 15:29:35 i had tried to re-implement esotope-bfc in ocaml, but it is quite strange experience in my perspective, though i have enough background about functional languages. ;) 15:29:45 background knowledge* 15:30:06 certainly knowing the language is different than using the language (fluently). 15:30:14 lifthrasiir, don't know about ocaml. But my aim isn't to make the compiler itself fast. "Reasonable" is enough for me 15:30:26 and erlang does have a compile mode for "to native code". 15:30:32 not sure if it works on OS X or not 15:30:46 ERL_COMPILER_OPTIONS='[inline,native,{hipe,[o3]}]' make 15:30:48 is quite a bit faster 15:30:52 well, if i concerned with the speed why had i written esotope-bfc in python? :D 15:31:10 (about halved time for lostking) 15:31:39 though atm I mostly work with ERL_COMPILER_OPTIONS='[debug_info]' 15:32:53 -!- inurinternet has quit (Read error: 110 (Connection timed out)). 15:33:28 lifthrasiir, and I'm quite positive that folding a dict to generate a new offset dict when constant propagation hits a mov node (moves pointer) node is far from the fastest way. 15:33:39 it was easy to write though 15:34:43 in fact I do much worse than that. I also do the same over a dict of sets (that handles "discard copy propagation result if the source offset is modified") 15:35:01 AnMaster: flushing the entire commands kept is far from optimal, right. it should flush only needed command if possible. 15:35:38 (so (copy 0 -> 1) (set 0 to 2) (copy 1 -> 3) isn't changed into (copy 0 -> 1) (set 0 to 2) (copy 0 -> 3)) 15:36:02 lifthrasiir, in what place do you mean? 15:37:11 AnMaster: eh, no. i think i misunderstood the topic. 15:37:34 what i said is about hard blocker in propagation pass. 15:38:04 ah yes, for me only unbalanced loop and seek are hard blockers 15:38:30 for mov I just translate the offsets in the data of consts and copies 15:38:50 using an O(something horrible) algorithm. 15:38:57 ;) 15:40:17 (but it seems to work well enough for lostking, however I will reconsider this if you can provide a program where it is an issue, (issue: [n] takes too long (subjectively) on the authors computer) 15:40:22 author's* 15:46:16 hm 15:46:55 lifthrasiir, you can turn any loop which is balanced and which will set index cell to 0 into an if right? 15:47:02 -!- ais523 has joined. 15:47:05 yes. 15:47:06 hi ais523 15:47:48 right, time for exception/warn feast (various other code bits not knowning about "if" insturction throwing exceptions or just warning) 15:48:00 -!- inurinternet has joined. 15:52:29 -!- BeholdMyGlory has joined. 15:58:13 -!- lereah_ has quit ("Leaving"). 16:13:40 -!- Corun has joined. 16:25:13 -!- BeholdMyGlory_ has joined. 16:25:44 -!- BeholdMyGlory has quit (Nick collision from services.). 16:25:48 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 16:27:05 -!- ehird has left (?). 16:27:16 -!- ehird has joined. 16:28:45 00:50 nooga: fuck 16:28:46 00:50 nooga: i can't make this fucking iso 16:28:47 00:50 nooga: mkisofs fails 16:28:49 ↑ you're a retard, waah hdiutil isn't good want mkisofs, waah mkisofs doesn't work! 16:29:00 01:00 pikhq: The Gentoo install disc is *just* a lightweight LiveCD. ;) ←gentoo has a gui installer 16:30:18 06:27 bsmntbombdood: ah, Dream Theater - Images and Words 16:30:19 06:27 bsmntbombdood: mmm 16:30:20 that album is crap 16:30:25 ehird: No longer maintained. 16:30:28 01:05 bsmntbombdood: "If I ever hear the words "that's final" come out of your mouth ever again, they truly will be." 16:30:29 haha context? 16:30:44 ehird: Instead, there's a minimal LiveCD and stage 3 autogenerated every week. 16:30:59 pikhq: oh? 16:31:04 i guess the gui installer was just too easy and usable for them 16:31:40 Actually, that was a casualty in the decision to stop doing versioned releases. 16:32:21 i refuse to believe being too easy wasn't a factor in it :) 16:32:52 hmm, i have a bunch of sbcls taking up 22-23% of my cpu each 16:33:11 100% of both cpu cores used :) 16:33:15 -!- BeholdMyGlory_ has joined. 16:33:17 probably borken maximas 16:33:19 * ehird kills 16:33:27 (I was wondering why my fans were going a bit loud for idle...) 16:33:41 -!- BeholdMyGlory has quit (Nick collision from services.). 16:33:45 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 16:33:47 haha, cool 16:33:51 if I kill one each one uses more cpu 16:34:12 -!- FireFly has joined. 16:35:10 -!- Deewiant has quit (Read error: 60 (Operation timed out)). 16:35:59 -!- Deewiant has joined. 16:37:51 awesome, my macs' sensors know what the ambient temperature is :> 16:37:54 hi ais523 16:37:58 hi 16:38:00 apparently it's 21 celsius here 16:38:10 which is quite hot for recent weather 16:38:12 hmm 16:38:29 CPU A Temperature Diode says 40C 16:38:33 CPU core 1 says 27C 16:38:35 er 16:38:35 37 16:38:38 CPU core 2 says 38C 16:38:41 hmm 16:38:44 gpu is at 43C 16:38:51 wtf 16:38:54 optical drive is at 24C 16:44:55 ehird: So, it's running a bit hotter than room temperature. 16:44:59 "core 0 temp: +32.0°C; core 1 temp: +33.0°C; NBr temp: +36.0°C; CPU temp: +28.0°C"; that's all the sensors I have. 16:45:14 pikhq: yeah I got one of the cores up to 58C by running 4 ocaml interpreters doing "let x () = x ();; x();;" 16:45:23 Wow. 16:45:40 My CPU shoots up to 40C when I run it full-blast. 16:45:46 Then, it's ultracheap. 16:46:15 pikhq: wait, is 58C unusually low or high, I'd say low 16:46:21 well more like regular 16:46:37 the cpu fan started to kick up a liiiittle bit by the end 16:46:41 After a minute of running, core 0 temp +46, core 1 temp +42. 16:46:49 fizzie: running wat 16:47:08 Just running in general; bash while true; do :; done. :p 16:47:13 Ah. 16:47:18 I did that but ocaml uses up more juice 16:47:41 http://www.cdrinfo.com/Sections/Articles/Sources/C/CPU%20Coolers%20Roundup%20For%20LGA1366%20April%202009/Images/results1.png ← i wanna know why the megahalems are so far above the xigmatek nepartak s983, i looked it up and it's practically the same 16:47:42 It seems to be going up still. +49/+46. 16:48:12 oh, ew 16:48:15 it has a 92mm fan 16:48:27 barfworthy 16:48:29 :p 16:49:11 that titan fenrir does really well 16:50:55 -!- Hiato has joined. 16:51:12 ugh, the default fan looks fugly 16:51:20 I have in the secondary box this really silly-looking cooler thing, http://www.arctic-cooling.com/catalog/product_info.php?cPath=1_43&mID=133 16:51:30 i suspect that chart of being woefully biased to how fast the stock fans spin on them 16:52:06 fizzie: it doesn't look as silly as http://www.silentpcreview.com/files/images/prolima-megahalems/12.jpg 16:52:17 it's like metal godzilla stepped on your motherboard 16:53:52 Well, it looks silly compared to what I'm more familiar with. The cooling things seem to have went quite crazy nowadays. 16:55:47 fizzie: Correction— the processor things seem to have gone quite crazy these days. 16:56:07 They reek heat. 16:56:31 Oh, silentpcreview reviewed the P183. The case I would get if it wasn't so goddamn ugly. 16:57:22 "Like the P182, the P183, at least on the outside, looks more or less the same as its predecessor." 16:57:24 You're kidding. 16:58:42 There's no fan on my Atom, I think. Though there's a tiny one on the northbridge or whatever, and those two heatsinks are right next to each other, so I guess it cools the CPU too. 16:58:56 You could trivially have a completely fanless Atom. 16:58:59 With 4W TDP (or that's what the ads say) I guess it shouldn't be making all that heat. 16:59:02 Would make a nice laptop. 16:59:05 Light, too. 16:59:30 The "nettop" form factor (or whatever it's called) laptops seem to be Atomy. 16:59:41 I have this http://www2.multithread.co.uk/mtcshop/images/linitx.com/products/Jetway_JNC92-230-LF_ATOM_1.6GHz_Mainboard_main.jpg thing. 16:59:56 fizzie: What, not even any heatsink on the Intel? 17:00:09 If you added a teeny heatisnk on the intel you could ditch the mobo fan, I bet,. 17:00:11 I'm not sure what Intel it is, the picture is so blurry. 17:00:15 s/,\.$/./ 17:00:31 fizzie: Well, there's obviously no heatsink on it in that pic 17:00:33 It could just be the mobo though 17:00:37 "Just add heatsink" 17:00:58 Possibly I could fanlessize it, but I don't think I'll bother. It's in the server room anyway, and not very noisy at that. 17:01:22 Oh great, the rig SPCR are putting in the P183 is a gamer one. 17:01:27 That's so relevant to silence. 17:01:45 (I got that Jetway motherboard primarily because they make a nice little daughterboard add-on card thing which adds three more gigabit-ethernet interfaces in addition to the one already there.) 17:02:02 fizzie: Oh, it's not a nettop? 17:02:07 You talking about them made me think it was 17:02:36 It's just a mini-ITX motherboard; I have it in a http://www.hec-group.com.tw/pccase/8k/ because it was the cheapest one I ran across. 17:02:53 fizzie: Wait, mini-itx? Isn't that thing dead in favour of microatx? 17:03:13 Mini-ITX is a 17 x 17 cm (or 6.7 x 6.7 inches) low-power motherboard form factor developed by VIA Technologies. Mini-ITX is slightly smaller than microATX. Mini-ITX boards can often be passively cooled due to their low power consumption architecture, which makes them useful for home theater systems, where fan noise can detract from the cinema experience. 17:03:14 Dead or not, it's what the Atoms are. 17:03:19 ah 17:03:27 fizzie: you could just pop off that jetway mobo fan and be fine, most likely 17:04:48 ehird: IIRC it runs at 55-60 C out of the box 17:04:52 So that's not a very good idea 17:04:58 Deewiant: The *motherboard*? 17:05:07 Yes, the northbridge. 17:05:08 -!- coppro has joined. 17:05:14 That's some, uh, heavy duty northbridge. 17:05:25 Do jetway embed an i7 in them or something 17:05:32 "most of the desktop form-factor atom boards use a desktop version of the northbridge, which uses a lot of power and runs very hot." 17:05:43 "the NB uses something like 5 times the power of the atom cpu" 17:05:48 Bizarre. 17:06:00 I don't know how bad the Jetway version is; most people seem to be using the Intel one. 17:06:18 Yeah, it might be different. 17:06:23 For a while I've had an idea for an ultra budget computer ... buy an integrated router/modem and put Linux on that. 17:06:38 Maybe you could have a DVI/serial sort of connector thing for a monitor. :P 17:06:43 I wonder if they're powerful enough to run Firefox. 17:07:00 It'd be - literally - a nettop. 17:07:57 Jetway's one might be equally bad, too; I haven't really read specs enough. I just picked it because of the easy NICs. It was a bit toss-and-go between that and VIAs new Nano thing, but that was a bit more expensive, and I couldn't really see myself using the cryptographic hardware acceleration all that much. 17:08:32 What sort of powersupply do you use for an Atom? 17:08:35 A PicoPSU? :-P 17:09:38 The case already had a very overpowered 120W power supply; I'm hoping it doesn't have a *horribly* bad efficiency. Some sort of picoPSUish solution would've been the alternative. 17:13:37 fizzie: Harumph, just about all mini-ITX cases seem to do that. 17:13:45 I want an excuse to picopsu 17:17:31 I think there was at least one linitx.com "bundle" type of deal with a external 12V AC/DC brick, some sort of box, and a picoPSU in it. 17:17:33 (Away; food.) 17:20:25 Bai. 17:23:19 -!- asiekierka has quit (Read error: 110 (Connection timed out)). 17:33:54 Is back, fwiw. 17:34:37 fizzie: You forgot the /me. 17:34:55 Also, the anti-shift in front of I, I suppose. 17:35:04 Also, a space after the /me. 17:35:05 ACTION is back. 17:35:19 No no no, like this: 17:35:21 I didn't want to waste a valuable ^A there. 17:35:21 /me is back. 17:35:24 It should look like that. 17:35:33 What do you mean your IRC client interprets /me as something? 17:35:47 /me is PEBCAK. 17:35:50 Oh, now I typoed back. 18:05:18 -!- tombom has joined. 18:15:05 "And even more I don't think that it's healthy to leave whole OS in RAM or disk." 18:15:06 wut 18:18:04 * oerjan found another bug loophole in his /// token scheme :( 18:18:27 fizzie: Hay, you know stuffs about linux suspensiony don'tcha? 18:18:37 i have to disallow tokens that can be confused with //\\/\\\\\\/\\\\\\/\\\\\\\\ :D 18:18:48 oerjan: :D 18:18:54 er, //\/\\\\\\/\\\\\\/\\\\\\\\ 18:19:52 otherwise it gets hard to substitute actual substitution code into places 18:19:59 yo dawg 18:21:29 is this what yo dawg has dropped to, being mentioned whenever anyone uses the same word twice in a sentence? 18:21:52 ais523: perhaps, but i _did_ put a substitution in a substitution 18:21:52 ais523: dropped to? 18:21:57 it's always been that! 18:22:14 I thought you had to expand the entire phrase 18:22:14 ais523: also, yo dawg isn't even about recursion 18:22:19 and I know 18:22:21 in fact i thought it was harmless, until i started actually using the token that this was currently confused with. 18:22:25 but the meme is, even though the original isn't 18:22:25 "you dawg, I herd u liek X so I put an X in your car so you can X while you drive" 18:22:28 ais523: nope 18:22:31 this is a spinoff of the meme 18:22:34 ah 18:22:35 where car-related things are replaced by X 18:22:36 well, it's a new meme 18:22:42 it seems to have eclipsed the old one, though 18:23:02 I heard you like UNIX so I put a UNIX in your UNIX so you can UNIX while you UNIX. 18:23:03 "yo dawg, I heard you like /// so I put a substitution in your substitution so you can unescape while you loop" 18:23:14 ais523: :D 18:23:16 pikhq: wow, that's the most unfunny one yet 18:23:27 ehird: I try. 18:23:39 http://data.tumblr.com/PRn7VIafuhc60f6moPwXp38Co1_500.jpg 18:24:57 http://a.ads2.msn.com/CIS/18/000/000/000/001/019.jpg ← What the heck. 18:26:42 lifthrasiir, I know do loop -> if conversion. Took longer than expected due to this pass started using data not fully used before. Uncovered some bugs. 18:26:50 I *now do 18:27:02 yeah 18:27:04 what ehird said 18:28:05 -!- BeholdMyGlory_ has joined. 18:28:31 -!- BeholdMyGlory has quit (Nick collision from services.). 18:28:34 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 18:28:39 interesting that even mandlebrot.b contains some dead code. I'm not surprised that lostking does. But I wouldn't have expected dead loops in mandlebrot.b 18:28:55 Is it hand-coded? 18:29:21 Yes. 18:29:26 So's life.b 18:29:27 Oh. 18:30:05 BTW, good luck finding dead code in anything generated by PEBBLE; it's got a dead code eliminator. Granted, that's *all* it has, but still... 18:30:32 "hal deprecation started 18:30:32 Karmic Alpha 1's underlying technology for power management and laptop Fn key maps was moved from "hal" (which is going to be deprecated soon) to "DeviceKit-power" and "udev-extras". When testing Alpha 1, please pay particular attention to regressions in those two areas and report bugs." 18:30:40 when you think about it, it is even stranger that auto generated code contains dead sections. After all it isn't very hard to make a compiler detect if the index cell of a loop has been set to 0 before 18:30:45 AnMaster: you'll be happy about that. 18:30:52 Kernel team deprecating hal. 18:31:05 AnMaster: Indeed. I did it. 18:31:07 ehird, what are the Xorg guys saying 18:31:10 what are they going to replace hald with? 18:31:14 or are they keeping it but not hal? 18:31:18 AnMaster: Dunno; don't they support udev anyway? 18:31:21 ais523: whatever udev does? 18:31:30 ehird: HAL. 18:31:35 ehird, err hal and udev do different things. 18:31:47 AnMaster: the ubuntu announcement somehow implies that hal was being replaced with udev. 18:31:55 doesn't make sense to me either, but. 18:31:59 hald is the thing that does automounting, I think 18:32:02 but hal itself is much more general than that 18:32:17 ais523: probably hald will stay, then, or an equivalent 18:32:19 hm 18:32:30 AnMaster: lkml probably has something on what's replacing hal 18:32:35 yes 18:32:53 well. I'm not very interested in it. Since I can do without hal currently just fine. 18:33:03 * AnMaster has a hal-free system 18:33:08 AnMaster: presumably, the new way will become the standard way to manage devices 18:33:13 AnMaster: I bet you don't have an automounter at all 18:33:26 ais523: that's not much of a bet 18:33:31 I know 18:33:34 that's like "I bet the grass is green" 18:33:48 ais523, actually I do. /etc/fstab is set to auto mount some things on boot. 18:33:50 * AnMaster runs 18:33:59 that's not an automounter 18:34:09 where's that xkcd comic about how misunderstanding words on purpose does not make you clever/funny? 18:34:11 consider it linked. 18:34:30 ais523, in that case I don't 18:34:45 ais523: congrats, you win £0 18:34:53 ehird: good, I only bet £0 18:35:00 ais523: you're rich now 18:35:00 also, nobody accepted the bet 18:35:01 hm wait 18:35:03 I might. 18:35:04 ais523: you did 18:35:08 * AnMaster checks for that nfs thing 18:35:08 you bet £0 against yourself 18:36:21 ais523, I have "Kernel automounter version 4 support (also supports v3)" as a module 18:36:30 used to use it, don't any more 18:36:32 hmm... 18:36:35 since it didn't work very well 18:37:13 ais523, used it for NFS. But yeah, doesn't work too well. 18:37:15 -!- BeholdMyGlory_ has joined. 18:37:39 -!- BeholdMyGlory has quit (Nick collision from services.). 18:37:45 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 18:50:14 -!- asiekierka has joined. 18:50:27 hi 18:50:38 i'm bored as hell 18:50:48 cool 18:51:13 asiekierka: want a game of BF Joust? 18:51:18 I need to adapt that for EgoBot sometime 18:51:28 but if you like, paste a program here and I'll run it against one of mine 18:51:31 I've already chosen which one I'll use 18:51:41 what's BF Joust 18:51:46 what's Joust, in fact 18:51:56 AnMaster: ais523: it seems hal is being replaced with DeviceKit 18:52:04 18:51 asiekierka: what's Joust, in fact ← ... 18:52:04 mhm 18:52:28 When I google "Joust" it only gives me the arcade game 18:52:46 BF Joust is an entity of itself 18:52:56 oh 18:52:58 Found something 18:53:00 I should write a wiki page about it 18:53:52 ok, but I must write the code 18:53:53 :P 19:02:29 Back 19:02:31 going to program stuff 19:03:20 -!- M0ny has joined. 19:04:49 going off 19:09:37 huh, avoiding that token did not fix the bug 19:12:08 !info 19:12:08 EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ 19:13:18 GregorR: I made a BF Joust hg bundle, although I don't know how well it will work 19:13:21 where should I send it/ 19:16:57 back! 19:17:45 ah, the bug was due to my debug statements 19:18:05 heh 19:18:19 i suspected it, they were always dangerous 19:18:27 Does BF Joust have wrapping memory? 19:18:38 it wraps from 255 to 0, and vice versa 19:18:49 which is why the flags start at 128 19:18:51 although I changed the rules a bit to make the game much more interesting 19:18:54 but this fix (prepending them with //\) makes them unreadable 19:18:57 it already has stone/paper/scissors strategies 19:19:06 http://retrocode.blogspot.com/2009/02/bf-joust-hill.html 19:19:09 is this not accurate 19:19:20 asiekierka: ais523 has hijacked the BF Joust name. 19:19:23 it /was/ accurate, but the rules have changed since 19:19:27 to refer to his own version 19:19:29 ehird: well, Goethe said he was going to change the rules 19:19:29 where are the new ones 19:19:33 ais523: but not to yours. 19:19:40 well, he was soliciting suggestions 19:19:40 you should rename it, really. 19:19:42 as in 19:19:43 yours 19:19:46 it's Goethe's game 19:19:46 and I was the only other person who suggested something 19:20:10 he abandoned it 19:20:14 ais523: what are YOUR rules 19:20:15 then 19:20:20 almost the same 19:20:23 except . is a nop 19:20:29 and the tape is much shorter (10-30 elements) 19:20:39 and you only lose if your flag is 0 at the end of two consecutive cycles 19:20:46 ais523: abandoning it is not quite the right word. 19:20:59 why would you use a nop? 19:21:01 setting the rules to "coming soon", then not doing anything for a month, then deregistering? 19:21:06 asiekierka: to do nothing for a cycle 19:21:09 'doing other things at the moment' != 'abandoned' 19:21:12 it is useful on occasion, honestly 19:21:27 Did anyone make any bot for your Joust? 19:21:32 and if yes, where's the scorelist 19:21:53 I just made an EgoBot bundle, but it hasn't been applied yet 19:22:03 and what's the best score 19:22:06 and how are they calculated 19:22:41 and the game itself is just a one-on-one win/lose/draw 19:22:53 you can make it into a tournament in various ways, though 19:22:54 -!- olsner has joined. 19:23:17 ais523: Theory: Wolfram personally answers every W|A query. 19:23:28 I don't believe it 19:23:34 ais523: It'd explain a lot! 19:23:36 and I stopped using W|A once I read the terms of use 19:24:09 How would [[>]<+>[-]-] fare? 19:24:11 (my first try) 19:24:16 er 19:24:19 lemme correct 19:24:25 asiekierka: badly, it does nothing :P 19:24:27 [[>]<++<-->>[-]-] 19:24:29 oh 19:24:36 er, waait 19:24:36 asiekierka: that program would suicide 19:24:36 wait 19:24:37 maybe not 19:24:43 the [>] goes to cell 2 19:24:47 then < goes back to your flag 19:24:50 then you set your flag to 130 19:24:55 then you go off the left end of the tape 19:25:08 then I reset cell 2 19:25:11 ais523, hm that is dead code 19:25:13 then I go forward 19:25:27 the outer loop will never be entered 19:25:28 ... 19:25:35 asiekierka: you've already lost by then 19:25:43 AnMaster: this is BF Joust, not regular BF 19:25:46 aha 19:25:50 it starts with a 128 on the first tape cell 19:26:04 ais523, any reason for that? 19:26:07 yes 19:26:13 ais523, well what is the reason 19:26:14 [>[>+++<[-]-]] 19:26:16 because the idea is to drop the opponent's first tape cell to 0 19:26:17 what about this? 19:26:23 and 128 needs 128 incs or decs to turn it to 0 19:26:30 oh wait 19:26:33 asiekierka: goes one cell to the right, then freezes 19:26:36 until the opponent gets near 19:26:38 [>[>+++<[-]]] 19:26:45 ais523: why does it freeze? 19:26:50 ais523, then a program consisting of 128 + or - should be the fastest one 19:26:52 asiekierka: because after [> you're on a zero 19:26:58 AnMaster: you need to find the opponent's 128 19:27:02 a program consisting of 128 + would just suicide 19:27:10 ... 19:27:15 but it's only checked on [ 19:27:18 and not in the middle of a loop 19:27:20 :P 19:27:25 ais523, where is the opponent's address space mapped then 19:27:29 asiekierka: the tape is 128 0 0 0 0 0 0 0 0 0 128 19:27:34 AnMaster: to yours, but backwards 19:27:38 asiekierka: with a variable number of 0s 19:27:42 so wait 19:27:46 ais523, unknown size? 19:27:48 AnMaster: yes 19:27:48 wouldn't <[-] be the fastest? xD 19:27:51 it's random from 0 to 30 19:27:56 asiekierka: < would fall off the tape 19:27:59 asiekierka: no wrapping 19:28:00 you're always at the left end of the tape 19:28:02 of ptr 19:28:02 oh 19:28:03 and your opponent at the right ned 19:28:08 falling off the tape loses 19:30:26 augh 19:30:37 let me write a wiki entry 19:30:38 i can't think of anything 19:30:53 $ cat /home/ais523/esoteric/brainfuck/bfjoust/attack1.bj 19:30:55 [>[-]+] 19:31:02 that's the archetypal simple BF Joust program 19:31:58 ais523: bj? 19:32:02 That may be an inadvisable file extension. 19:32:17 [>+[-]+] - a little defense fix 19:32:48 asiekierka: ah, that's clever 19:33:04 let me run it against defend5, which is my favourite even though attack5 does slightly better on the hill 19:33:07 lol? 19:33:14 It just gives a defense against -1 blocks 19:33:42 I vote +[>[-]+]. 19:33:55 $ ./bfjoust ~/esoteric/brainfuck/bfjoust/defend5.bj /tmp/asiekierka.bj 19:33:57 Program 2 went off the right end. 19:33:58 Player 1 wins! 19:34:05 ...huh? O_O 19:34:19 ooh 19:34:30 won't using + at the end of the loop set opponent's flag to 1? 19:34:34 yes 19:34:39 I think [>+[-]] is more proper 19:34:44 oh wait 19:35:00 asiekierka: but it'll already have been at 0 for two cycles 19:35:04 one after the -, one after the ] 19:35:41 ais523: apparently alpha is actually 5-6 million lines 19:35:51 wow, that's a lot of specialcasing 19:36:02 [>+[-]+.] 19:36:04 what about this? 19:36:29 ,[>,] 19:36:30 ;) 19:36:36 $ ./bfjoust ~/esoteric/brainfuck/bfjoust/defend5.bj /tmp/asiekierka.bj 19:36:37 Program 1's flag fell. 19:36:39 Player 2 wins! 19:36:41 asiekierka: congrats, you beat me 19:36:45 ...LOL? 19:36:46 pikhq: , is a comment in my version of BF Joust 19:36:57 Bastard. 19:37:03 ./bfjoust ~/esoteric/brainfuck/bfjoust/attack5.bj /tmp/asiekierka.bj 19:37:04 Program 2's flag fell. 19:37:06 Player 1 wins! 19:37:10 engh 19:37:22 Well, so i'm good against defense but worse against attack, it seems 19:37:23 asiekierka: that means you're the new #2 19:37:26 so not bad 19:37:29 Hmm 19:37:35 I wonder what attack5 does 19:37:47 [>-(repeat 128 times)] 19:37:57 ...hey 19:38:01 this uses wrapping, doesn't it 19:38:22 yes, it does 19:38:33 oh wait 19:38:36 pikhq: that would be [>(-)*128] in my abbreviation syntax 19:38:52 ais523: A good syntax. 19:39:07 [>+(-)*128.] 19:39:10 what about this code 19:39:36 $ ./bfjoust ~/esoteric/brainfuck/bfjoust/defend5.bj /tmp/asiekierka.bj 19:39:37 Program 2 went off the right end. 19:39:39 Player 1 wins! 19:39:43 Personally what I want is a parsable abbreviation syntax. Say, something simple like [>-(128)] for operator repetition and "foo\n" for strings... 19:39:49 $ ./bfjoust ~/esoteric/brainfuck/bfjoust/attack5.bj /tmp/asiekierka.bj 19:39:51 Program 2's flag fell. 19:39:52 Nothing much. 19:39:52 Player 1 wins! 19:40:00 pikhq: the two abbreviation syntaxes: 19:40:06 Just that and the ability to compile to Brainfuck. 19:40:07 (x)*5 = xxxxx 19:40:24 (a{b}c)%5 = aaaaabccccc 19:40:35 ais523: Ah. 19:40:36 you can't have unmatched brackets in an abbreviation 19:41:03 but you can do, say, (a[{b}]c)%5 = a[a[a[a[a[b]c]c]c]c]c 19:41:14 * ehird reads a scifi story by Steve Yegge 19:41:20 true to form, it's long 19:41:20 And can there be no spaces between my cell and the opponent's cell? 19:41:22 Or can there be some 19:41:43 Hadny for, say, [-(>{+}<)%5] 19:42:05 ais523: Can there be something like 128 128 or must it be 128 0 128 19:42:16 it's from 10 to 30 chars long 19:42:28 >--->+++>---<<<[>+[-]+.] 19:42:28 as in, 128 0 0 0 0 0 0 0 0 128 is the minimum 19:42:29 try this one 19:42:29 in my version 19:42:40 asiekierka: ah, the old decoy strategy 19:42:40 er, no 19:42:41 don't 19:42:45 it would likely be better without the <<< 19:42:49 >--->+++>--->+++[>+[-]+.] 19:42:51 here 19:43:13 beats defend5, loses to attack5 19:43:18 lol 19:43:23 both by flag fall 19:43:56 augh, i don't know how to battle with attack5 19:44:17 Hey, wait... 19:44:23 (doubt it will work but still 19:45:04 >>++++++++[-<++++++++++++++++>][>+[-]+.] 19:45:09 it takes too much time 19:45:11 but i had this idea 19:45:20 "fake flag" strategy, I'd say 19:45:38 but it takes too much time, but I wonder how it'd work 19:46:20 asiekierka: ][ is nearly always bad to put in a BF program 19:46:26 you probably don't mean that 19:46:36 i probably do mean that 19:46:46 the first loop does the 16*8=128 19:46:46 the [>+[-]+.] will never run 19:46:49 oh 19:46:56 you leave the 128 in a different cell 19:47:02 you probably want a > in there or something 19:47:03 >>++++++++[-<++++++++++++++++>]+[>+[-]+.] 19:47:04 here 19:47:11 -!- kar8nga has joined. 19:47:20 oerjan: [[The Kondos took four adjacent seats near the center. A cheery voice filled the room. "Welcome to the Death of Saint Dawkins Historical Tour. I'm Marv, your Tour Guide, and I will be sharing exciting facts with you before the tour, and also during the tour in your Tour Bodies. ]] 19:47:32 faintly Babykiller style her 19:47:32 e 19:47:33 asiekierka: beats defend5, loses to attack5 19:47:37 er 19:47:37 again! 19:47:38 Babyeater 19:47:39 [+>[-].+] 19:47:43 I already made a fake flag! 19:47:59 asiekierka: and how is a BF program meant to know it's set to 128? 19:48:14 16*8 :P 19:48:19 well, it may not be ready by then 19:48:25 besides, attack5 will go onto the next tape element if it sees something that looks like a flag and sets it to 0 19:48:35 but I mean, attack5 doesn't know it's a fake flag 19:48:36 >>++++++++++++++++[-<++++++++>>++++++++<]+[>+[-]+] 19:48:40 try this 19:48:41 and then 19:48:42 because it doesn't keep a count to see that it was 128 19:48:44 oh wait 19:48:46 no 19:48:59 >>++++++++++++++++[-<++++++++>>++++++++<]>[>+[-]+] 19:49:00 and then 19:49:20 [>+[-]+] 19:49:32 because i noticed i waste 1 cycle each time 19:51:37 so 19:51:41 is the result the same 19:52:13 The Tour Guide's voice became even more cheerful. "We will be carefully monitoring the entire tour. In the unlikely event that something really awful happens, such as a black hole appearing and sucking you all into a vortex beyond the reach of our equipment, we will refund your entire tour fee, no questions asked." 19:52:24 asiekierka: no, now both my programs win 19:52:36 in both cases? 19:52:43 that was running the second program there 19:52:46 oh 19:52:51 [>+[-]+..] 19:52:53 try this then 19:53:22 that by itself? or at the end of the program above? 19:53:52 by itself 19:53:55 just like the 2nd program 19:54:14 beats defend, loses to attack 19:54:16 both by flag fall 19:54:28 (defend's win above was you going off the right end of the tape from your point of view) 19:54:40 oh 19:54:47 Augh, I don't know how to beat attack 19:54:52 Out of ideas 19:54:56 maybe it's because it's nearly 9PM 19:55:09 and my lightbulbs are broken 19:55:12 so i have barely enough light 19:55:32 Augh, I want to make an OISC computer 19:55:34 as in, a real machine 19:55:37 with electronics 19:55:42 using a breadboard 19:59:10 -!- bsmntbombdood has joined. 20:05:39 -!- asiekierka has quit. 20:11:47 -!- upyr[emacs] has joined. 20:14:34 * ais523 finishes http://esolangs.org/wiki/BF_Joust 20:17:10 * oerjan watches his BCT interpreter successfully quit 20:17:35 now it just needs to do the right thing before doing so 20:17:45 haha 20:18:03 oh it also deletes bits correctly 20:18:18 just it's adding that's the problem? 20:18:25 and the quit is properly detecting that its out of bits 20:18:31 yep 20:18:34 are you writing a BCT interp in ///, or a BCT to /// compiler? 20:18:38 well, not a problem 20:18:48 a BCT interp in ///, essentially 20:19:03 just paste the program and data into the right spot 20:19:22 slow as molasses of course 20:19:44 *BCT program and data 20:23:19 eek size up to 40K 20:23:30 (runtime) 20:23:55 * oerjan is afraid of hitting that perl bug again, despite the redesign 20:24:25 what Perl bug? 20:24:51 well 5.8.8 which is here just crashes with Segmentation Fault 20:24:57 that's bad 20:25:09 but 5.10 on EgoBot gives a regex recursion limit exceeded 20:26:13 apparently trying to match more than ~ 32768 [^/\\]|\\. in a row doesn't work 20:26:34 or something close to that, anyway 20:26:47 int limit 20:26:48 :-D 20:27:07 and that's exactly what the main self-replication substitution in the program does if it gets too large 20:27:43 clearly a better interp is needed 20:27:53 ehird keeps promising one :D 20:28:03 my C interp has a skeleton 20:28:06 and my haskell interp works 20:28:08 it's just slow 20:28:10 but it always works 20:28:20 but, as I said, a lot slower than the perl one 20:28:31 since this program is slow as molasses already that doesn't sound too appetizing 20:28:41 Indeed. 20:28:48 I will work on my C interp now, I think. 20:28:53 Thanks for the inspiration. 20:29:26 The main problem is goddamn C string manipulation sucking. :-) 20:29:34 of course i _might_ get lucky and not hit the limit, but if it's 32768 copies of \\. then i might hit it at ~ 64K 20:29:52 why use strings? 20:30:01 arrays of char seem right here 20:30:08 of course that's what they are 20:30:13 oerjan: 20:30:14 typedef struct { 20:30:15 size_t length; 20:30:16 size_t allocated; 20:30:19 char *data; 20:30:21 } string_t; 20:30:23 Allocation information. 20:30:25 Otherwise I'd be using strlen() a lot. 20:30:35 yes 20:30:57 my point was really not to use C's string routines, only direct array manipulation 20:31:20 yes 20:31:20 i feel this should give an optimal /// interpreter 20:31:24 I'm pretty sure there's good string libraries out there you could use. 20:31:35 Of course, writing your own basically works. :p 20:31:55 The irritating thing is reallocation. To delete a char, I could do length--, data++ -- but then realloc will fail. 20:31:58 -!- BeholdMyGlory_ has joined. 20:32:02 So I need to keep a pointer to the base. But then I'm wasting memory. 20:32:04 Hmm. 20:32:30 ais523: any thoughts on how to basically say "hey malloc, move the start of this pointer +1" 20:32:35 i suppose it's not possible 20:32:35 ehird: did you see my /ab/bbaa/abb example btw? 20:32:41 oerjan: hm? 20:33:02 it's an infinite loop, but the source is _not_ a substring of the destination 20:33:12 ehird: no, there isn't a mirrored_realloc 20:33:12 that's ok, I don't rely on that 20:33:20 ais523: what should I do? 20:33:37 % ./slashes hello.sss 20:33:37 zsh: abort ./slashes hello.sss 20:33:39 we have bigger problems :-) 20:33:44 trampoline-style? 20:33:55 ais523: er, what? how is that helpful at all? 20:33:56 -!- BeholdMyGlory has quit (Nick collision from services.). 20:33:59 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 20:34:09 ehird: as in, you keep a base pointer for a while, wasting memory 20:34:17 when you've wasted too much, you just move everything in memory 20:34:17 wasting memory is the problem 20:34:20 well 20:34:23 i'll never waste too much 20:34:26 and free up that way 20:34:28 but it'll be really hoggy 20:34:32 sort-of like garbage collection, but not 20:35:13 oh, ha 20:35:17 the abort was me calling abort() 20:35:18 I'm stupid 20:35:39 it wouldn't be an abort otherwise, it'd be a segfault or something 20:35:44 right 20:35:53 it's only abort, assert, and manually raising a signal that gives you aborts 20:36:04 http://www97.wolframalpha.com/input/?i=a+million+bacon Facts about a million bacon. 20:36:55 ONE MILLION SLICE 20:37:06 ais523: setbuf(stdout, NULL); then doing a putchar doesn't make it appear :-( 20:37:10 I dun wanna fflush all the time 20:37:32 4 million calories D;* 20:37:46 what if you do a write on stdout's fd, rather than using stdio? 20:37:54 I'm not saying that's the best way 20:37:57 I'm just wondering if it works 20:38:13 ais523: heh, so write(0, &character, 1) 20:38:27 write(0, &program->data[0], 1); ← bit redundant &ing on an [0] but there you go 20:38:41 ais523: nope 20:38:47 [ehird:~/Code/scraps/2009-05/slashes] % ./slashes /dev/stdin 20:38:47 a 20:38:49 [ehird:~/Code/scraps/2009-05/slashes] % 20:38:53 ehird: setvbuf(stdout, NULL, _IONBF, 0); 20:38:55 I pressed a, enter, ^D 20:39:02 Deewiant: that's what setbuf(stdout, NULL) does 20:39:11 ehird: I think you want write(1, ...) if you want stdout. 20:39:16 fizzie: D'oh 20:39:16 And what are you doing that doesn't work 20:39:23 Deewiant: putchar(x) 20:39:31 or in this case 20:39:32 write(1, &program->data[0], 1); 20:39:48 ehird: Yeeeessssssss but what are you doing that makes you notice whether it's buffered or not 20:39:51 -!- MizardX has quit ("reboot"). 20:40:08 Deewiant: Printing a character without a newline. 20:40:10 It doth not appear. 20:40:28 it's probably something to do with the terminal application 20:40:29 putchar('c') followed by getchar() WFM 20:40:53 Deewiant: that's nice, I don't want to getcha 20:40:53 r 20:40:57 ais523: er, no... 20:41:00 ehird: Eeeeexactly 20:41:05 ehird: So what /do/ you want to do 20:41:08 ehird: That's what I was asking 20:41:23 Oh, so that's the bug 20:41:24 What are you doing after the print that makes you notice when it's been flushed or not 20:41:38 Deewiant: it's nothing to do with that, but I found the bug anyway 20:42:25 -!- BeholdMyGlory_ has joined. 20:42:40 -!- BeholdMyGlory has quit (Nick collision from services.). 20:42:46 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory. 20:43:13 Solution: Don't use fstat on stdin. It does not know how big your input will be. :-) 20:43:25 haha 20:43:49 So I have to realloc. Grumble. 20:44:43 ehird: (1) build a linked list (2) move to an array afterwards, if you want 20:45:03 oerjan: Build a linked list? Yes, I'm going to give the C version the performance characteristics of the Haskell one. 20:45:04 Not :-) 20:45:19 ehird: not for _using_, just for initialising 20:45:35 well, sure, but it's easier just to realloc 20:45:36 that way you don't need to know the size until you have read all 20:48:21 Done. 20:49:50 % ./slashes hello-simple.sss 20:49:50 len 0 alloc 1024 20:49:51 hmm 20:50:01 length isn't increasing prop'ly 20:50:40 ok now we'll find out if i really need your interpreter :D 20:50:49 oerjan: wut 20:51:09 the program now contains all functional parts, modulo bugs 20:51:58 oerjan: Well, mine will be better because it's fast :-) 20:52:07 indeed 20:52:37 also this program is not optimal /// of course, due to only using /\ in the core parts 20:53:44 while ((read = fread(trail, 1024, 1, file))) { 20:53:44 result->length += read; 20:53:46 GOD DAMN IT 20:53:51 ais523: how would that leave length at 0? 20:53:55 assume a non-empty file 20:54:01 hagbart:oerjan:slashes> ./slashes.pl bct.sss 20:54:01 XSegmentation fault 20:54:06 oerjan: >:) 20:54:31 oerjan: hagbart is a funny name 20:55:06 i think it's some children's book character or similar 20:55:15 oh not your machine, i forgot 20:55:29 ais523: any idea? 20:55:31 well, also a norwegian name 20:55:40 ehird: what was length to start with? 20:55:46 ais523: 0 20:55:52 result->length = 0; 20:55:54 ehird: Print length before and after at every iteration, etc 20:56:12 Deewiant: that doesn't help me reason why it's broken, just fix it 20:56:21 a return value from fread less than its second argument implies that it didn't manage to read as much as requested, so either FRC or an error 20:56:29 umm... I mean EOF or an error 20:56:39 51262 bytes, that's less than 64K 20:56:39 nope 20:56:40 ehird: It helps you find where the problem is 20:56:40 neither 20:56:41 so if it's a non-empty file, it wasn't EOF, so it much be an error 20:56:45 it's not 20:56:46 I check ferror 20:56:47 *must be 20:57:00 ehird: in that case, there's something wrong in the information you're giving me 20:57:06 ooh, wait 20:57:11 what's the scoping of "read" 20:57:13 !slashes http://oerjan.nvg.org/esoteric/slashes/bct.sss 20:57:18 it's quite strange to give a variable the same name as a standard posix function 20:57:29 hmm good pointI 'll change that 20:57:31 presumably it timed out 20:57:36 I don't think that's causing the error, but I don't know 20:57:42 -!- M0ny has quit ("k thx bye :D"). 20:57:50 which may mean 5.10 did _not_ hit a recursion limit 20:58:04 ais523: http://pastie.org/481985.txt?key=kvtbyozt1yhfcjbbl5uttg 20:58:19 since that happens long before the runtime-heavy parts 20:58:25 i should check that 21:00:41 ais523: so, yeah. 21:02:12 ehird: xmalloc is just a wrapper around malloc? 21:02:20 ais523: yes, the very trivial kind 21:02:23 just checks its return value 21:02:25 ditto for realloc 21:04:09 huh 21:04:26 apparently removing all debug statements was enough to make perl not crash 21:04:30 ais523: any theories? 21:04:51 unfortunately the /// program is buggy, so i guess i'll have to carefully readd some :D 21:06:31 ehird: no 21:06:47 ais523: quantum fluctuations? 21:08:04 does the same bug repeat if you run again/ 21:08:08 you might have forgotten to compile 21:08:27 yes :-P 21:09:50 lifthrasiir, found a number of bugs using careful coverage analysis 21:09:55 while ((bytes_read = fread(trail, 1024, 1, file))) { 21:09:56 printf("HI MOM\n"); 21:09:57 ais523: never written 21:10:05 Very curious. 21:10:19 fread's returning 0 the first time, obviously 21:10:26 Well, yes. 21:10:29 But it shouldn't. 21:10:41 I was wondering if you'd set bytes_read to unsigned char by mistake, but you didn't 21:10:49 * ais523 made that mistake once in similar code... 21:10:54 heh 21:11:06 ais523, wouldn't gcc warn about that? 21:11:19 if not, it should 21:11:51 I remember ICC warning "significant bits may be lost" 21:12:13 ah hm, it seems -Wconversion does this in recent gccs (while it does something totally different in older ones) 21:12:42 -!- kar8nga has quit (Remote closed the connection). 21:14:18 ais523: no ideas whatsoever? 21:14:33 no, I'm doing something else 21:14:40 aha 21:14:44 They return the 21:14:44 number of objects read or written 21:14:47 so it'll return 1 each time 21:15:02 Works now 21:15:04 while ((bytes_read = fread(trail, 1, 1024, file))) { 21:17:00 Why coverage analysis is useful: Without it I wouldn't have ended up writing a test program like: +>+<[>]>+[[-].>.+.<.+.]>>>>>>>>>>>>+<+[>]+[++.>++<,]>>>>>>>>>>>>>+<+[>]>,<+[,[-]>[-<+>]<]>>>>>>>>>>>>+<+[>]>,<+[,[-]>[-<+>]>++<<++]>>>>>>>>>>>>. And no real code would have triggered the bug either. 21:17:04 ~ 21:17:19 ais523: your trampoline style thing might work well— otherwise I have to realloc all the time. 21:17:28 oerjan: I'm going to optimize for speed first, then memory usage, sound good? 21:17:52 ehird, what are you doing 21:18:07 sure 21:18:54 -!- tombom_ has joined. 21:18:59 AnMaster: is that a minimal BF program that triggers all your code paths? 21:19:03 i'm only using about 50K maximal program length, so... 21:19:29 ais523, um, in the index difference analyser 21:19:42 the part that tells me if the loop always goes -1 every iteration or whatever 21:19:46 or sets a constant 21:19:55 and it doesn't trigger all. There is one variant left. 21:20:08 * AnMaster is trying to work out how to trigger it 21:20:19 hm maybe 50% more than that, at one point 21:21:17 ais523, I aim at 100% coverage analysis. (Or 99.9% or so, since obviously the bits that says "throw({internal_error,...})" should be unreachable!) 21:21:28 -!- Hiato has quit ("Leaving."). 21:21:35 AnMaster: you should have 100% coverage with NDEBUG defined 21:21:44 also, "throw"? 21:21:45 ais523, there is no NDEBUG for erlang 21:21:46 are you using C++? 21:21:48 ah 21:21:55 and there should be 21:22:13 ais523, um. I do have a ?TRACE() macro in some files. 21:22:19 something I will need soon. 21:22:39 anyway I have a list of bugs found, but first to make sure to get as much coverage in other modules too. 21:22:45 the purpose of NDEBUG is to check whether your debug code affects program flow 21:22:45 and also found a few unreachable lines. 21:22:48 by running both with and without it 21:23:13 ais523, all those internal error throws are meant to be in the live code 21:23:20 ah 21:23:28 well, you can leave NDEBUG off for the release version 21:23:31 and just turn it on for debugging 21:23:34 they will trigger whenever I add a new opcode and forgot to add handling of it in some module. 21:24:41 ais523, that will still throw exceptions then, just different, more unreadable, ones. Stuff like: "{'EXIT',{{case_clause,{ok,{set_from,1,0}}}, [{ib_opt_value_prop,optimise,3},...]}} 21:24:54 well, it's just for coverage testing 21:25:20 btw, when running that in the REPL it formats it as: 21:25:22 ** exception error: no case clause matching {ok,{set_from,1,0}} 21:25:22 in function ib_opt_value_prop:optimise/3 21:25:24 [...] 21:25:31 (where I cut out a backtrace) 21:25:42 (in both examples) 21:26:09 ais523, problem is it doesn't tell me what exact case clause, or even what function clause of ib_opt_value_prop:optimise/3 21:26:15 which have quite a few entry points 21:26:26 (need to enable debugger mode to get that) 21:29:09 -!- MizardX has joined. 21:34:48 -!- tombom has quit (Success). 21:34:49 -!- tombom_ has changed nick to tombom. 21:54:50 !slashes http://oerjan.nvg.org/esoteric/slashes/bct.sss 21:55:06 !show slashes 21:55:06 perl #!/usr/bin/perl -w 21:55:12 Xbhp/ca/e 21:55:16 ah... 21:56:09 did EgoBot stop using DCC CHAT? 21:56:14 GregorR: ^ 21:56:55 ok. Fixed those two bugs 21:56:57 sssssssssss 21:57:05 -!- Sgeo has joined. 21:57:07 oerjan: is that correct output? 21:57:18 that just looks like ASCII line noise, rather than Perl 21:57:28 !help show 21:57:28 show: !show . Shows the definition of a user interpreter. 21:57:32 ais523: so to speak. it's the line _after_ that which goes haywire here 21:57:40 um that's not the perl 21:57:47 it's the /// output 21:57:50 ok 21:57:52 copy propagation is hard. Much harder than constant propagation 21:57:54 so why the perl line? 21:57:56 IMO 21:58:05 because i also did !show slashes 21:58:08 AnMaster: use a trail array? 21:58:11 !show slashes 21:58:11 perl (sending via DCC) 21:58:13 to check that the interpreter was there 21:58:16 oh, ok 21:58:22 ais523, I don't know what that is. Please tell me 21:58:22 huh 21:58:28 and it DCCed just fine 21:58:30 why didn't it send DCC to me? 21:58:34 AnMaster: read up on how Prolog is implemented 21:58:51 ais523, um, any good resource for that. 21:58:56 maybe it was too hard at work with the /// 21:58:57 ais523, online 21:59:02 !show slashes 21:59:02 perl (sending via DCC) 21:59:19 !slashes http://oerjan.nvg.org/esoteric/slashes/bct.sss 21:59:21 ais523, if possible assuming no prior knowledge of prolog ;P 21:59:26 but I realise that could be hard 21:59:40 AnMaster: I don't know of any good Prolog resources online 21:59:40 Xbhp/ca/e 21:59:46 I learnt from hardcopy books 22:00:05 AnMaster: do you know how Forte is implemented? 22:00:09 that uses a trail array too 22:00:09 ais523, anyway what I do currently is keep a reverse mapping of copies from a offset, then when that offset changes I remove the relevant "known copies" in the forward mapping 22:00:16 well, trail hash 22:01:36 ais523, forward: dict(key=Offset, value={const | copy_from | set_from, Offset}) reverse: dict(key=Offset, value=set(OffsetsReferencingMe)) 22:01:39 is what I do basically 22:01:49 if you see what I mean 22:01:53 brb 22:03:35 back 22:03:49 ais523, and no I don't know how Forte is implemented. 22:04:03 AnMaster: it's basically a hash of mappings between pointers 22:04:10 ais523, same idea as mine? 22:04:15 or different? 22:04:41 much the same, i think 22:04:43 *I think 22:04:53 and that is messy. :/ 22:05:55 anyway, next step: Figuring out finite and infinite loops. 22:06:39 20:57 ais523: that just looks like ASCII line noise, rather than Perl 22:06:42 In some cases it is trivial. Like the infinite loops: [] [>+<] and the finite loop: [+>++<] 22:06:42 don't troll AnMaster :) 22:06:54 AnMaster: wahey halting problem 22:07:01 ehird, of course, in the general case 22:07:01 * oerjan finds bug 22:07:11 21:19 oerjan: i'm only using about 50K maximal program length, so... 22:07:13 right, but 22:07:18 what about running, say 22:07:21 ehird, but there are some more cases that can be figured out: +[++] is infinite assuming 8 bit cells 22:07:23 an infinite loop that never grows in length, appends and deletes 22:07:28 that'll use more storage forever and ever 22:07:29 and that is what I'm wondering how to figure out 22:07:44 ehird: huh? 22:07:50 * AnMaster agrees with oerjan 22:07:55 you mean if you do your memory very lousily 22:07:59 i'm talking about slashes, AnMaster 22:08:02 ah 22:08:19 20:57 ais523: that just looks like ASCII line noise, rather than Perl don't troll AnMaster :) 22:08:19 oerjan: if I don't slowly realloc all the time, yes, the memory usage will never shrink 22:08:22 ehird, IDGI 22:08:26 1) I didn't say it 22:08:33 AnMaster: "Don't troll AnMaster" != "Don't troll, AnMaster" 22:08:53 ehird, what is the offset from UTC 22:09:10 0, unless it's BST now 22:09:15 oh wait 22:09:19 it's from my bouncer 22:09:22 which has been reporting times wrong lately 22:09:28 21:04 AnMaster: and that is messy. :/ 22:09:28 22:04 End of quicklog. 22:09:31 i guess it's BST in britain atm 22:09:34 so the bouncer is gmt 22:09:37 or rather, utc 22:09:41 offset by two hours from here 22:09:45 so the bouncer is UTC 22:09:46 ais523: is it BST? 22:10:02 ehird, check in your own terminal with date -u 22:10:06 :P 22:10:10 (that gives it in UTC) 22:10:16 AnMaster: it's 21:10 UTC 22:10:20 yep 22:10:21 it's BST now 22:10:23 says date(1) 22:10:27 yeah 22:10:30 I wonder if the clocks have been set. 22:10:43 ehird: it is BST, yes 22:10:46 how did you not notice? 22:10:49 ehird, since several weeks iirc 22:10:49 ais523: when did that happen? 22:10:55 ehird: quite a while ago 22:10:58 and, well, I don't really notice these things 22:11:02 it's may now, IIRC it happens some time in March 22:11:03 since my computer and phone both automatically adjust 22:11:06 oh, march? 22:11:09 then I probably noticed it 22:11:12 but have forgotten by now 22:11:21 ^_^ 22:11:57 ais523, anyway know any good way to figure out when you have a loop like: [-]+[++] that the second one will never hit 0 22:12:12 AnMaster: just bruteforce it for 8 bit values 22:12:20 AnMaster: that is 22:12:22 start with 1 22:12:23 and run it 22:12:26 ehird, for all possible 8 bit offsets, for all possible starting values 22:12:31 -!- Judofyr has quit (Remote closed the connection). 22:12:31 if you repeat a state — which you will — 22:12:37 then voila, it runs forever 22:12:41 what about: ++[---] and ++++[----] 22:12:45 same thing 22:12:53 ehird, there must be a better solution 22:13:00 ehird's idea would work, I suspect there's a more efficient way but can't be bothered to work out the details right now 22:13:07 hm 22:13:12 * AnMaster looks at esotope-bfc 22:13:13 AnMaster: mine's the standard way to figure out an infinite loop if you have finite states 22:13:13 it would involve checking each of the individual powers of 2, I think 22:13:21 you can do it more efficiently, 22:13:26 but mine will catch all the cases, pretty much 22:13:31 * AnMaster waits for it to load 22:13:47 it's how you check the haltingosity of a sub-TM program on a TM 22:13:48 it is timing out 22:13:49 :( 22:13:52 lifthrasiir, ! 22:13:53 store all states, if you repeat, infinite loop. 22:14:07 is it just me or is http://hg.mearie.org/esotope/bfc/ unreachable 22:14:16 it's unreachable. 22:14:20 damn 22:14:35 ehird, got a local copy of the source? 22:14:42 can up upload it if so 22:14:46 pastebin or whatever 22:14:54 I deleted ~/Downloads/bfc/; you are welcome to point me to an HFS+ file recovery tool. 22:15:06 damn you :P 22:15:12 ehird: dd 22:15:25 ais523: er... how does that help? 22:15:30 I could grep /dev/sda 22:15:31 well, even just grep will do if you can remember a line from the file 22:15:33 grep /dev/[sh]d* 22:15:33 but that'd take forever 22:15:35 -!- Judofyr has joined. 22:15:45 there are tools for e.g. ext3 that do it faster somehow 22:16:27 I remember seeing some better way in it using GCD... 22:17:05 -!- FireFly has quit ("Later"). 22:17:19 I'd start doing regular backups with my new machine, but packing up 160GB+2TB isn't easy 22:17:25 because you have to purchase an awful lot of storage... 22:17:28 *backing 22:17:40 OR, use something like tarsnap, and pay something like $700 (iirc) a month to store it all 22:17:51 as a bonus, the transmission time for the backup is 22:17:54 Idea: Single Assignment FS. 22:17:55 Discuss. 22:17:58 AnMaster: fossil 22:18:01 or was it venti? 22:18:06 ehird, it exists? 22:18:07 those are the two components of plan9's fs 22:18:22 AnMaster: yes; you store(foo) where foo is of limited length and it gives an sha-1 hash 22:18:25 and you can do retrieve(hash) 22:18:36 sha-1 is not advisable nowadays, but when it was safe: 22:18:44 - people who don't know the hash can't get the file — so secure 22:18:54 - you can verify whether the returned block is correct w/ the hash — so unforgeable 22:19:04 - it guarantees uniqueness (not any more, though) 22:19:21 Venti is a network storage system that permanently stores data blocks. A 160-bit SHA-1 hash of the data (called score by Venti) acts as the address of the data. This enforces a write-once policy since no other data block can be found with the same address. The addresses of multiple writes of the same data are identical, so duplicate data is easily identified and the data block is stored only once. Data blocks cannot be removed, making it ideal for perman 22:19:23 ent or backup storage. Venti is typically used with Fossil to provide a file system with permanent snapshots. 22:19:26 AnMaster: http://en.wikipedia.org/wiki/Venti 22:19:28 since 2002 22:19:31 cp /var/tmp/kdecache-arvid/http/h/hg* . 22:19:32 yay! 22:19:43 * AnMaster reads the source from the cache 22:21:34 oerjan: idea for the memory: 22:21:42 oerjan: store a string as a linked list of 10KB blocks 22:21:48 normally, it's just an increment-pointer affair 22:21:56 but deleting over a node boundary frees the previous node 22:22:05 so, the constant-infinite-loop would grow to 10KB, then reset 22:22:06 forever 22:22:18 should be reasonably fast 22:22:31 http://pastebin.com/d5d8dbf85 22:22:33 ehird, ais523 ^ 22:23:03 http://pastebin.com/f566b8406 permanent :P 22:23:07 AnMaster: have you saved the whole esotope-bfc? 22:23:14 or just that bit? 22:23:17 ais523, I think it will be up tomorrow 22:23:27 ais523, and all that was in cache from the hg web thing 22:23:31 AnMaster: so are you ripping off esotope-bfc's algorithms wholesale like you did with ccbi? 22:23:39 have you saved it anyway, just in case lifthrasiir's had a catastrophic hardware failure or something? 22:23:44 ehird, no I'm not. I'm trying to figure out the right way 22:23:55 ais523, I never checked it out before 22:24:17 -!- FireFly has joined. 22:24:27 I'll probably do it when it is back up 22:25:23 ehird, and I already have better optimisation than esotope-bfc for a few specific things. 22:25:37 it beats me in general by having better loop unrolling though 22:25:42 -!- GregorR-L has joined. 22:25:51 while I have better copy propagation 22:26:38 oerjan: sound good? 22:26:42 -!- tombom has quit ("Peace and Protection 4.22.2"). 22:29:04 -!- BeholdMyGlory has quit (Remote closed the connection). 22:30:33 ais523: there's a whole subreddit devoted to wolfram alpha inputs 22:30:45 i predict a meme 22:30:47 haha 22:31:12 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)). 22:31:22 nice 22:31:31 http://www.reddit.com/r/AlphaInputs/ 22:31:42 yep 22:31:51 ehird: yeah 22:31:59 oerjan: rightyho 22:32:13 haha, I love the SHA-1 thing 22:32:18 which? 22:32:23 http://www14.wolframalpha.com/input/?i=SHA1+%22Wolfram+Alpha%22 22:32:28 the answer to 'SHA-1 "Wolfram Alpha"' looks plausible 22:32:30 but changes when you refresh 22:32:56 that's because it interprets it as SHA | 1 "Wolfram Alpha"; what that means I have no idea 22:33:04 Eh? It doesn't change for me 22:33:14 "v" 22:33:15 "I wonder if, instead of hashing your query, it's hashing the string representation of an object it creates to represent your query. " 22:33:16 —reddit 22:33:19 Deewiant: refresh more 22:33:41 I've refreshed over ten times and it hasn't changed 22:33:50 oerjan: as a bonus, I don't have to track allocation amount 22:33:53 oerjan: it's always 10KB 22:34:07 what about if you reclick on that = button? 22:34:22 /* split into 10KB chunks */ 22:34:22 typedef struct _string { 22:34:23 size_t length; 22:34:25 char *data; 22:34:27 char *base; 22:34:29 struct _string *next; 22:34:31 } string_t; 22:34:34 http://www10.wolframalpha.com/input/?i=where+am+I ← pretty good 22:34:38 it even tells you your ipv6 addr 22:34:44 although not your ipv4 address 22:34:48 and I don't HAVE an ipv6 addr 22:34:57 i don't know what it gives me 22:35:02 it's just the IPv4 one converted to IPv6 syntax 22:35:05 nope 22:35:06 It looks like an IPv4 address in IPv6 form 22:35:19 ais523: that's 0::ff::3.4.234.23 or something 22:35:20 the prefix means "this is actually an IPv4 address" 22:35:32 ::ffff:: 22:35:32 oh, is it adding the digits? 22:35:34 Er, bits 22:35:40 ais523, since you seemed so interested: http://omploader.org/vMXA2Mw is the recovered cache as a .tar.lzma 22:36:14 ais523, internal links won't work mostly 22:36:14 there's about a 99% chance that that's irrelevant, and a 1% chance that this will cause something esoterically significant to not be lost forever 22:36:40 is it so significant? 22:36:44 anmaster's rewritten most of it already 22:36:53 ais523, I'd say 99.999999% and 0.000001% 22:37:05 ehird, really? 22:37:06 AnMaster: not that many 9s 22:37:14 would you say that at least 6000 people in the world will die today? 22:37:18 ehird, I didn't look at it's code until recently 22:37:18 AnMaster: sure 22:37:24 but you have most the same optimizations 22:37:26 when I was trying to figure out the infinite loop issue 22:37:30 AnMaster: *its 22:37:46 ehird, also the method it is done in is very different 22:37:56 it seems to work by simplifying blocks 22:38:19 while mine is "sort and peephole" + a few long stretching ones (constant/copy propagation) 22:38:48 it has a better design 22:38:50 probably 22:40:45 http://www35.wolframalpha.com/input/?i=compare+male+to+female 22:41:30 plus mine is slow as . It takes ~half a minute to process lostking 22:42:01 "To see full output you need to enable Javascript in your browser" Hm... That should read "To see any output ..." 22:43:38 Deewiant, "compare male to male" -> male population | 3.372 billion people (total) 22:43:50 AnMaster: half a minute on lostkng is not slow! 22:43:56 unless that's the output program, not the interp 22:44:13 ais523, s/interp/compi/ 22:44:27 well, yes 22:44:29 impl 22:44:30 ais523, and yes it is the compiler. 22:44:47 ais523, be consistent! reter 22:44:58 :P 22:45:37 wait, misread "impl" as "iler" 22:45:46 like you were adding to the end of compi 22:46:05 (and I thought the extra i was a typo) 22:46:07 anyway. 22:46:22 ais523, I don't do balanced loop -> polynom in that 22:46:37 it is the major part still left to implement 22:46:44 polynomisation 22:47:37 ais523: do you think compilers will handle "char foo[1048576]"? 22:47:50 Define "compilers" 22:47:53 most will 22:47:55 c compilers 22:47:59 but 16-bit DOS compilers are unlikely too 22:47:59 DMC won't 22:48:03 why not 22:48:03 without proprietary extensions 22:48:06 *to 22:48:08 @Deewiant 22:48:14 http://www35.wolframalpha.com/input/?i=Wolfram <-- aren't there other people with the same name who are more well known. Like whoever the element Wolfram was named after... 22:48:14 It limits to 16*1024 IIRC 22:48:24 Something like that, anyway 22:48:27 AnMaster: W|A is wolfram world. 22:48:33 he is the most important person in it. 22:48:44 ehird, yeah I'm just disagreeing 22:48:52 Deewiant: how retarded 22:48:56 AnMaster: It gives you tungsten as an alternative 22:49:09 AnMaster: as ehird said, nanoDijkstras are too small a unit 22:49:14 Deewiant, ? 22:49:22 AnMaster: "use as a chemical element" 22:49:24 AnMaster: as ehird said, nanoDijkstras are too small a unit <-- what, where 22:49:26 ais523: it's milliDijkstras that are typically used 22:49:31 AnMaster: Wolfram isn't named after a person called wolfram 22:49:33 but even those are too small 22:49:36 -!- FireFly has quit ("Later"). 22:49:36 yes 22:49:36 Deewiant, hm ok. 22:49:38 Dijkstra seems terribly humble in comparison 22:49:39 It's named after the mineral called wolframite 22:49:45 is that named after a person? 22:49:47 Deewiant, ah, and what is that named after. 22:49:56 I postulate that Wolfram's ego is double digits of Dijkstras. 22:50:03 and growing constantly 22:50:04 Apparently it comes from "Wolf Rahm" 22:50:12 "wolf soot" or so 22:50:19 (German, not a name) 22:50:29 so Wolfram is called Wolf soot? 22:50:31 I can live with that 22:50:47 The IPv6-mapped IPv4-address is that 0:0:0:0:0:ffff:<32 bits of IPv4>; Alpha seems to be giving it in the normal IPv6 address form, that "::ffff:a.b.c.d" easier-for-humans notation would mean the same thing. 22:51:43 "Tungsten", in turn, comes from "tung sten" meaning "heavy stone" in Swedish and related languages 22:51:56 hm http://pastebin.ca/1426890 22:51:59 ehird, ^ 22:52:21 what 22:52:30 _gcdex 22:52:34 what a strange name 22:52:39 gcd-ex 22:52:41 gcd-extended 22:52:46 _foo = don't touch this in python 22:52:47 yeah... extended how the hell 22:53:06 ehird, "don't touch this"? So how comes he has lots of functions named that way 22:53:23 AnMaster: extended in that it returns 3 values 22:53:30 and because they're private-esque 22:53:34 How does "don't touch these" imply "there are few of these" 22:53:36 "don't call this from outside this class and subclasses" 22:53:42 Deewiant: i don't even know 22:53:44 Deewiant, ah not "implementation don't touch" 22:53:47 That'd be "protected-esque" 22:53:58 as in... "reserved by compiler" 22:54:00 or such 22:54:07 -!- Judofyr has quit (Remote closed the connection). 22:54:10 That's __foo__ in Python, AFAIK. 22:54:20 ah, he has lots of them too. But normal names 22:54:25 You're allowed to represent the last 32 bits with dotted-decimal if you want in any address, so I could write one of mine (2001:1bc8:102:587b:21d:7dff:fee4:a593) in an obfuscated form "2001:1bc8:102:587b:21d:7dff:254.228.165.147".. though given how ugly the addresses are in the normal form, maybe that doesn't buy much. 22:54:30 6 def __nonzero__(self): return True 22:54:38 stuff like that 22:54:40 AnMaster: those are compiler internal. 22:54:42 well, no. 22:54:42 not really. 22:54:44 AnMaster: it's like 22:54:47 def __eq__(self,other): 22:54:47 then 22:54:48 Language internal 22:54:49 foo==bar 22:54:51 will call that 22:55:01 __foo__ is pronounced "magic foo" 22:55:02 :-) 22:55:06 15 class Never(Condition): 22:55:06 16 def __nonzero__(self): return False 22:55:06 17 def __str__(self): return '0' 22:55:06 18 def __repr__(self): return 'False' 22:55:09 stuff like that 22:55:14 and? 22:55:21 OO makes me sad :( 22:55:25 22:55 AnMaster: 17 def __str__(self): return '0' 22:55:25 22:55 AnMaster: 18 def __repr__(self): return 'False' 22:55:26 ↑ ok, that's fucked up 22:55:26 __str__ is probably automatic string conversion for printf-style things 22:55:28 AnMaster: why 22:55:33 Deewiant: yeah 22:55:34 __repr__ beats me 22:55:36 ehird, well not in general 22:55:38 repr is representation 22:55:40 __nonzero__ is implicit boolean conversin? 22:55:41 >>> 'foo' 22:55:41 +o 22:55:42 'foo' 22:55:42 but 22:55:45 >>> print 'foo' 22:55:46 foo 22:55:48 former is repr 22:55:52 nonzero is boolean shit, yep 22:56:02 but repring as False and stringing as 0? 22:56:06 he use nonzero for nodes to remove dead nodes 22:56:06 that's a recipe for confusion! 22:56:12 yes, but 22:56:14 Seems C-like 22:56:15 >>> Never() 22:56:16 False 22:56:18 >>> print Never() 22:56:19 0 22:56:21 is what would happen 22:56:27 if that makes sense to you, you're barmy 22:56:41 It could just be convenience for something 22:56:53 what is __getitem__ 22:56:55 "False" but 0 22:56:59 sorry, couldn't resist 22:57:04 ais523, :D 22:57:07 (that isn't legal Perl6 anyway, zeroness isn't a trait) 22:57:26 you can express it in Perl5 as Scalar::Util::dualvar 0, "False" 22:57:43 but dualvar messes around with compiler internals to get that weird result 22:57:47 ehird, well? 22:57:48 you probably aren't supposed to use it a lot 22:57:54 14 class _ExprMeta(type): 22:57:54 15 def __getitem__(self, offset): 22:57:54 16 return Expr(Expr(offset).code + [_EXPRREF]) 22:57:58 18 class Expr(object): 22:57:58 19 __metaclass__ = _ExprMeta 22:57:58 20 __slots__ = ['code'] 22:57:59 hm 22:58:01 AnMaster: foo[x] = foo.__getitem__(x) 22:58:03 no clue what that means 22:58:05 lern2google 22:58:06 please tell me 22:58:09 also, metaclass is complicated 22:58:12 and slots is complicated 22:58:19 ehird, is it bad or good thing 22:58:19 learn the python object model :-) 22:58:23 AnMaster: what? 22:58:24 It's obviously operator overloading for [] 22:58:39 286 def __str__(self): 22:58:39 287 self.code = self._simplify(self.code) 22:58:39 288 return repr(self) 22:58:46 290 def __repr__(self): 22:58:46 291 stack = [] 22:58:46 292 for c in self.code: 22:58:51 AnMaster: stop pasting 22:58:51 also 22:58:52 [ lots of code cut] 22:58:53 that __str__ is evil? 22:58:56 really evil 22:59:00 printing an object modifying it‽‽‽ 22:59:01 AnMaster: Pasting from pastebins since 2006 22:59:02 ehird, is it? 22:59:07 ehird, ah... 22:59:07 Deewiant++ 22:59:10 ehird: wow, I only just noticed that 22:59:11 agreed 22:59:30 that's considerably more evil than doing all your calculations in the paint callback 22:59:37 I charge lifthrasiir (sp) with the Class-A-Bajillion crime of writing terrible code 22:59:37 or even the mousemove callback 22:59:57 it overrides __gt__ __hash__ and various other ones 22:59:59 (the paint callback is excusable on occasion, the mousemove callback isn't unless moving the mouse should sensibly trigger the calculations) 23:00:13 91 __truediv__ = __div__ 23:00:13 92 __rtruediv__ = __rdiv__ 23:00:13 93 __floordiv__ = __div__ 23:00:13 94 __rfloordiv__ = __rdiv__ 23:00:15 hm 23:00:18 that looks odd 23:00:26 AnMaster: why? 23:00:35 it overrides __div__ and _rdiv__ btw 23:00:46 Am I mistaken, or was it not possible in Perl 5 to craft a scalar (with suitable magic) that returned arbitrary values for all three of {boolean context, string context, integer context}. I seem to remember reading something like that once, but Scalar::Util::dualvar only overrides string/integer ones, leaving truthness determined from the int value. 23:00:51 ehird, what is the difference between __div__ and __rdiv__ 23:00:59 a / b versus b / a? 23:01:04 what deewiant said 23:01:06 mhm 23:01:13 ah 23:01:15 AnMaster: if in a/b, a can't handle the b division 23:01:17 -!- oklodok has joined. 23:01:21 then b.__rdiv__(a) is called 23:01:22 right 23:01:26 it's a hack because python doesn't have multidispatch 23:01:32 D does that too 23:01:35 opFoo, opFoo_r 23:01:43 python only does it for a few operators 23:01:45 I think 23:01:49 I don't think there's an req 23:02:10 add/sub/mul/div/mod it seems like 23:02:32 ais523: your wikipedia makes horrible abuse of the semicolon 23:02:33 err 23:02:36 er, wikipedia user page 23:02:38 I think this is semi-evil: 23:02:40 141 def __int__(self): 23:02:40 142 assert self.simple() 23:02:40 143 return self.code[0] 23:02:44 ehird: really? where? 23:02:54 I haven't looked at that for ages 23:03:02 ais523: replacing ; a with . A: 23:03:03 Hello! I'm ais523, an incrementalist metapedian ex-administrator. (I removed my adminship due to inactivity. I'm sufficiently inactive nowadays that I'm unlikely to be able to answer queries on a resonable timeframe.) I'm happy to help new users (or experienced users, for that matter). Just leave a note on my talk page. In particular, I can help with wikimarkup (especially template wikimarkup), user scripts, and signatures. However, I'm not always online 23:03:07 . If you don't need help from me in particular, then placing {{helpme}} on your own user-talk page is likely to produce faster results. 23:03:10 It's very. Broken up. If you do that. 23:03:22 ehird: that's why it's better with a ; 23:03:31 ais523: yes, but it's not valid with . 23:03:34 therefore it's not valid with ; 23:03:38 err, that was never a rule 23:03:42 really? 23:03:54 I was always taught that you use ; when an . would work but would be awkward 23:03:56 this sentence is in two parts; and the second part starts with a conjunction 23:04:05 hmm 23:04:13 that particular sentence would be more natural with comma 23:04:20 but there are others where semicolon would work better 23:04:34 semicolon's somewhere between full stop and comma, grammatically 23:04:37 yes 23:04:39 __ior__ uhu? 23:04:48 is it defining inclusive or for strings? 23:04:54 ehird, where in python's docs are these documented 23:05:07 AnMaster: http://python.org/doc/2.6/ 23:05:08 Probably the page on which google finds them 23:05:08 >>> help(__mod__) 23:05:08 Traceback (most recent call last): 23:05:08 File "", line 1, in 23:05:08 NameError: name '__mod__' is not defined 23:05:11 tried that 23:05:12 searching for ior: 23:05:20 function:: ior(a, b) __ior__(a, b) ``a = ior(a, b)`` is equivalent to ``a |= b``. 23:05:28 So |= 23:05:36 AnMaster: __mod__ isn't a global function 23:05:37 ehird, what about in the interactive help 23:05:39 try help(mod) 23:05:44 and tough shit 23:05:45 ehird, ok 23:05:45 use the online docs 23:05:53 meh 23:05:55 actually, there's no global mod function 23:06:33 another updating __repr__ 23:06:45 AnMaster: this code sounds awful 23:06:54 i suspect it of being hacked together randomly 23:06:59 ehird, you loved esotope-bfc yesterday ;P 23:07:06 I love the output. 23:07:10 Just not the implementation! 23:07:20 126 # returns False if it is a no-op. cleanup pass will remove such no-ops. 23:07:20 127 def __nonzero__(self): return True 23:07:20 presumably it has a good algorithm, written badly 23:07:35 AnMaster: that's so evil 23:07:40 why not have a def nop(self): return True 23:07:40 is it another thing to show Python people to demonstrate that really, not all python is necessarily well-written? 23:07:47 ehird, no idea 23:07:48 ais523: they don't claim that 23:07:52 ehird: some of them do 23:07:54 ais523: they claim that all python is well-readable 23:07:58 257 class Nop(Node): 23:07:58 258 def __nonzero__(self): 23:07:58 259 return False 23:08:02 maybe because of that 23:08:02 :D 23:08:03 ais523: which it generally is, in a visual sense 23:08:08 due to the indentation requiremen 23:08:09 t 23:08:13 ehird, ^ 23:08:14 they claim that as there's only one way to write something, all python must be perfect 23:08:22 ais523: there's a term for these people 23:08:26 they're not specific to python 23:08:29 it's called "idiot" 23:08:33 one of them even suggested making Python Turing-incomplete in order to correct the problem that there was more than one way to write something 23:08:41 are you making shit up? 23:08:45 261 def emit(self, emitter): 23:08:45 262 pass 23:08:47 "pass"? 23:08:47 ehird: unfortunately no 23:08:52 AnMaster: "do nothing" 23:08:54 again python's interactive help fail me 23:08:55 LERN2GOOGLE 23:08:55 although I don't think he understood what turing-completeness was 23:08:59 I'm tired of answering your questions 23:09:03 ehird, fix the interactive help! 23:09:05 ais523: what did e say in particular? 23:09:09 AnMaster: THAT'S NOT WHAT MEANT FOR 23:09:11 *IT'S 23:09:14 THERE'S DOCS FOR A REASON! 23:09:17 To quote you: "RTFM" 23:09:19 it was a long time ago, also most of the people there were drunk and I was tired 23:09:22 I can't remember the exact words 23:09:25 ehird, then what is the interactive help meant for 23:09:27 if not for help 23:09:36 AnMaster: ... 23:09:40 "pass" is a consequence of Python's indentation rules 23:09:41 ehird, yes? 23:09:42 to look up the docstrings of classes and functions. 23:09:44 just like . in Thutu 23:09:51 not to teach you about the fscking object model!!!! 23:09:58 AnMaster: help() seems to explain its purpose quite well... 23:10:43 i want an lcd that has its off mode as white, not black 23:10:51 then you could have the uneyestrain of black with the pretty of white 23:11:02 Deewiant, hm ok 23:11:29 "Hm ok"‽ Did you really not read it? 23:12:06 what's with all the interrobangs around here recently? 23:12:10 they look ridiculous 23:12:19 Have there been many? 23:12:23 ais523: ‽‽‽‽‽‽ 23:12:26 a lot more than anywhere else 23:12:26 Deewiant: from me yes 23:12:30 and a lot more than there used to be 23:12:37 this ‽ glyph is ug ly 23:12:39 although not many on an absolute scale 23:12:49 and agreed with ehird, even though I'm likely seeing a different glyph to him 23:12:49 ais523: I got my unicode keyboard shortcuts and I leapt ↗ 23:12:52 mine's ugly too 23:13:02 http://upload.wikimedia.org/wikipedia/commons/8/83/Interrobang.svg ← this is what a proper interrobang should look like 23:13:07 (from palatino linotype) 23:13:16 the ! bit is longer in mine 23:13:21 it clashes with the top of the ? 23:13:23 yeah, that's the problem 23:13:26 they need to curve it more 23:14:46 "this computer costs around 600 euros. I agree with you : this is expensive." 23:14:50 $810 is expensive for a computer? 23:15:01 yes 23:15:06 -!- coppro has quit (Remote closed the connection). 23:15:07 well, dollars, maybe no 23:15:09 *not 23:15:10 ais523: it's expensive for a budget computer 23:15:14 agreed 23:15:18 ais523: £529 23:15:24 I'd expect to be paying about £400, and that was two years ago 23:15:28 nowadays I'd expect to be paying less 23:15:33 a decent core 2 duo laptop costs like £500 23:15:33 maybe £300 or £200 23:15:50 a high-end machine... sky's the limit, but regular is probably about £1,000 23:15:51 Computers that cost less than 1000 € are cheap 23:16:02 I mean — this iMac cost £1,000 23:16:17 -!- coppro has joined. 23:16:19 adjust for apple tax 23:17:16 oerjan: problem with the linked list idea—getting length is hard 23:17:20 since you have to sum up each elem's 23:17:29 although for 10KB chunk it probably doesn't matter 23:17:31 *chunks 23:18:06 ehird, this is for the slashes interp? 23:18:09 Just cache the length separately? 23:18:12 But, yeah, a really good high-end computer is like £2,000 23:18:17 Deewiant: that requires storing the base pointer 23:18:20 in the nodes 23:18:23 which would be possible, I grant you 23:18:24 but a fuss 23:18:25 AnMaster: yes 23:18:36 AnMaster: I'm storing a string in allocations of 10KB 23:18:36 ehird: Cache the length of the whole thing in each node 23:18:37 in a linked list 23:18:45 Deewiant: then growing/shrinking becomes a huge pain 23:18:47 ehird, how comes 23:19:10 ehird: Cache it in such a way that the only ones up-to-date are the ones you're currently using 23:19:16 Deewiant: impossible 23:19:20 So you don't have to update them all all the time 23:19:27 AnMaster: if I do it as one big char array, then I have to realloc every.single.command to keep the memory usage not growing forever. With 10KB blocks, I just free() if i go over a boundary 23:19:44 AnMaster: So an infinite loop that doesn't grow will grow memory usage up to 10KB, then shoot down 23:19:44 forever 23:19:58 avoids pricy realloc()ing 23:20:03 hm ok 23:20:11 http://forum.modrewrite.com/ ← mod_rewrite is so bloated it has its own forum 23:20:47 and why not/ 23:21:16 :P 23:21:27 is mod_rewrite TC? 23:21:29 yes 23:21:34 see olsner.se 23:21:40 thue in mod_rewrite 23:21:41 by our olsner 23:22:02 grr, it annoys me that the best graphics card that you can buy passively cooled by default is an ATI 23:22:10 ehird, so a .htaccess with mod_rewrite can hang a server forever 23:22:12 interesting 23:22:16 AnMaster: no 23:22:20 ehird, no? 23:22:22 I wonder if a nvidia card would work with a replaced cooler 23:22:29 AnMaster: with thue it's done as a series of redirects 23:22:33 ehird, ah 23:22:34 so if you killed the browser, the computation would end 23:23:06 hmm 23:23:19 the Accelero S1 Rev.2 claims to work with the 9800GTX+ but is that w/ a fan? 23:23:22 I bet so 23:23:28 ehird: my interpreter ran a BCT program successfully 23:23:33 oerjan: cool 23:23:33 ehird, is this olsner in here btw 23:23:39 AnMaster: "our", so yes, he used to be. 23:23:47 To provide passive cooling for high-end graphic cards, Accelero S1 Rev. 2 is a high performance passive cooler featuring 4 heatpipes connected with extra large surface area. It effectively removes a great deal of heat from the graphic cards keeping the components cool. Thanks to the elegant design, Accelero S1 Rev. 2 outperforms active cooling solutions. Accelero S1 Rev. 2 creates a true industry leading zero noise cooling solution for all enthusiast gam 23:23:49 ehird, ? 23:23:49 ers. 23:23:51 sounds promising! 23:23:55 AnMaster: I said "our olsner" 23:23:59 our implies he's one of us 23:24:18 ehird: that's marketingspeak for what every passive cooler ever does 23:24:20 ehird, I can't find thue in rewrite, only thue in haskell 23:24:25 ais523: I know 23:24:28 ais523: but it's passive, is the point 23:24:34 and claims support of a nice card 23:24:37 ah it is there 23:24:39 found it 23:24:47 YAY!!! It seems it can do it 23:25:28 -!- jix has quit (No route to host). 23:25:57 "Did you think you'd be back to Mummy7 by Christmas?"... ah, OCR'd e-books, nothing like 'em... 23:25:57 ok, mystery: one of SCO's accountants billed it $1.92 for two month's work 23:26:21 Now for an important question: Given only the characters / and \, what should the BCT interpreter output? 23:26:24 ais523: :D 23:26:43 actually, I think they might have been lawyers, not accountants 23:26:51 the question is, what work is so minor that they'd only bill that much? 23:26:52 oerjan: can we have a newline too? 23:26:57 going, anyway 23:26:57 currently it's all interspersed with debugging so i can see what it says 23:26:59 -!- ais523 has quit (Remote closed the connection). 23:26:59 ehird: no 23:27:06 oerjan: ok, then: 23:27:11 Gracenotes, hi. Did you check that music? 23:27:23 oerjan: \\ 23:27:27 oof, not yet. *checks recently bookmarked links* 23:27:36 ehird: eww 23:27:43 oerjan: it works 23:28:04 ehird: not within my design 23:28:14 well, I like the first 25 seconds :) 23:28:19 oerjan: heh 23:28:40 ahh can't wait for my new pc 23:28:44 more importantly, with this memory squeeze 23:29:04 very distinct mood he's trying to create 23:29:10 Kraus 23:29:18 the BCT page says that for turing completeness, one should output the deleted data bits 23:29:25 oerjan: do that then 23:29:28 Gracenotes, of the C minor symphony, final movement. Afterwards is the final movement of the C sharp minor symphony (the C minor symphony is a rewrite of it. I prefer the original) 23:29:44 * ehird plugs new hardware into psu calculator 23:29:47 can't go over 430W 23:29:49 oh well, maybe that's simplest 23:30:03 very Vienna-ish, if one can call it that 23:30:17 AnMaster: yes me :) 23:30:18 Gracenotes, no idea what you mean with that 23:30:40 yes, not very clear, given that Vienna has had many different musical eras 23:30:43 er 23:30:55 is "sounds similar to Mozart" better? :P 23:30:58 mod_rewrite has recursion limits (that can be configured to be above what's required to complete your program) 23:31:11 aah! olsner's here? 23:31:12 i didn't notice 23:31:14 but it has a very stupid memory allocator so you'll quickly run out of memory on the server :) 23:31:41 Gracenotes, yes. 23:31:43 it essentially doesn't free anything it allocates until it has completed the request 23:31:43 hmm... 85% of cpu tdp, 90% system load and no capacitor aging = 330 watts 23:31:58 Gracenotes, Vienna - Classical period? 23:32:00 which is good 23:32:17 yeah. 23:32:22 at 100% load though goes to 440 23:32:25 ah well 23:32:29 (w/ aging) 23:32:31 (of 20%) 23:32:33 Gracenotes, still, he has a lot of different variants in his works. 23:32:44 "In my view the card series requires you to have a 500 Watt power supply unit at minimum if you use it in a high-end system, and I think that's barely on the safe side." 23:32:49 guess i'll have to get a more beefy psu 23:33:55 ehird, louder PSU fan! 23:34:01 AnMaster: he seems to use a lot of classical idioms, but in an altered form (usually with them ending up going somewhere unexpected) 23:34:16 ehird, where is that quote from btw 23:34:33 AnMaster: w/ acoustipack and the natural noise dampening of the case, I can afford a few more dBA on the PSU. Especially since the Nexus 430 Value is below audibility 23:34:39 and from http://www.guru3d.com/article/geforce-9800-gtx-512mb-plus-review/3 23:34:40 -!- olsner has quit ("Leaving"). 23:34:44 Gracenotes, I don't know enough about that kind of stuff to respond to it. 23:34:58 -!- Corun has changed nick to Corun|away. 23:35:11 ah. Myself, I'm just going by what I think I hear... possibly mistaken 23:35:23 i'm just happy since i was a bit sad about the 9800GT being the best nvidia passively-cooled-when-bought card you could get 23:35:35 but — as always — 23:35:45 Gracenotes, well the cover of the cd does mention "unexpectedness" a lot 23:35:48 so probably right 23:35:50 http://www.arctic-cooling.com/catalog/images/AcceleroS1Rev2_pic_300.gif 23:35:53 a giant heatsink saves the day 23:36:00 it's bigger than my cpu heatsink ^.^ 23:36:26 Gracenotes, and he lived during the classical era. Using these idioms makes perfect sense. 23:36:40 ehird, scale 23:36:57 right. He seems to be aware of them on a meta level, I guess. 23:36:59 AnMaster: sec 23:37:02 ehird, it will take two PCI-E slots right? 23:37:05 23:37:11 AnMaster: http://www.pc-erfahrung.de/fileadmin/Daten/Bilder/vga-luefter-accelero-s1-07.jpg 23:37:14 ↑scale 23:37:22 bigger than the card it goes on :) 23:37:35 more scale: 23:37:35 ehird, make sure you can fit in other cards as well as it 23:37:36 http://media.photobucket.com/image/accelero%20s1%20rev.2/night_wolf_in/DSC00352.jpg 23:37:42 AnMaster: I don't need other cards 23:37:42 Gracenotes, heh 23:37:54 if I really do, I can get a shitty card to use when I do need to use them 23:38:09 AnMaster: but graphics cards are mounted facing downwards 23:38:15 so this shouldn't obstruct the slot 23:38:25 ehird, hm, what about the next slot 23:38:34 and all cards face downwards 23:38:38 AnMaster: well, yes 23:38:40 but the point is 23:38:45 the accelero will be well away from the slot 23:38:55 if anything the videocard will block it 23:38:56 ehird, yea, about three slots away! :P 23:38:58 and I can't really help that 23:39:05 23:39:46 along with games I'm gonna love doing parallel computation on the GPU 23:41:08 ehird, computing what 23:41:13 AnMaster: stuff! 23:41:19 ehird, such as 23:41:19 Anything massively parallel can go to the GPU. 23:41:28 ehird, you do that often? 23:41:30 AnMaster: I don't know, having the means will provide the inspiration :-) 23:41:38 fair enough 23:41:55 if I turn out to not do much of it, welp, it's still there for games 23:42:08 ehird, what about games. Didn't you say linux? The games I can think of on Linux runs just fine on a GeForce 7600 GS 23:42:28 AnMaster: I plan to dual-boot at some point. 23:42:36 ehird, to windows vista? 23:42:38 :D 23:42:42 Windows 7, probably. 23:42:52 you play games? 23:42:55 ehird, even so. that sounds crazy 23:42:59 oklodok, "dok"? 23:43:03 AnMaster: definitely. 23:43:06 that's a new one? 23:43:06 oklodok: not much, but that's mostly due to using a mac 23:43:18 I'm not a huge gamer, but I've wanted to try quite a few games for a while 23:43:18 ehird: i can't imagine you wasting your time on games 23:43:20 AnMaster: what sounds crazy/ 23:43:22 ? 23:43:34 ehird: okay i can imagine you trying out all games in existance 23:43:35 ehird, dual booting with win7 23:43:37 oklodok: I waste my time all the time 23:43:41 AnMaster: why's that sound crazy? 23:43:41 ehird, insecure :) 23:43:46 how 23:43:50 there's no ext4 drivers for win7 23:44:04 ehird, overwriting with zero would work 23:44:18 to mess up 23:44:21 that's why I'd run a virus scanner and a firewall and try and limit internetty stuff on the win7 partition 23:44:24 oh and you could do a virus too 23:44:24 ehird: i can imagine you wasting your time, just not on games, i think of you as more of a channel surfer than an intensive player. 23:44:37 oklodok: yes, I am very channel surfy 23:44:44 but I've wasted a lot of hours on Worms: Armageddon 23:44:50 oklodok, what about me and games 23:44:51 well that's an awesome game 23:44:57 yes, yes it is :) 23:45:14 AnMaster: i can imagine you playing a few well-chosen games 23:45:16 hmm the 9800 gtx+ is still beaten by the Radeon HD 4850 sometimes xD 23:45:20 oklodok: like TUX RACER!! 23:45:23 oklodok, correct 23:45:35 ehird, you play that? 23:45:37 using Hardware 3D Rendering(TM) technology 23:45:39 I tried it, boring 23:45:42 and 3DNow! 23:45:47 requires at least a Pentium III 23:45:50 AnMaster: 23:45 oklodok: AnMaster: i can imagine you playing a few well-chosen games 23:45:53 was what I was responding to 23:46:00 -!- Corun|away has changed nick to Corun. 23:46:22 AnMaster: i probably won't be dualbooting with windows w/ a 160GB X25-M though 23:46:26 a bit too small for comfort w/ games 23:46:31 what's tux raver 23:46:32 ... 23:46:33 racer 23:46:34 oklodok: tux raver 23:46:35 that sounds 23:46:36 awesome 23:46:38 yes 23:46:39 :) 23:46:49 oklodok, nethack, kmines, lbreakout, some stuff in zsnes and mupen64 (I love Zelda games). Oh and I could FlightGear as a simulator, not a game. 23:47:01 AnMaster: you gotta have a powerful rig to play nethack 23:47:06 that thing makes my hardware squeal 23:47:11 esp. in some of the battles 23:47:13 ehird, haha 23:47:20 totally amazing graphics though 23:47:24 AnMaster: enable anti-aliasing 23:47:25 it's amazing 23:47:33 everything just smooths ou 23:47:33 t 23:47:37 it's just like the real thing 23:47:37 ehird, I always set 2x AA in nvidia-settings 23:47:40 :P 23:47:53 AnMaster: try overclocking your GPU sometime... nethack will never be the same again 23:48:05 ehird, nethack doesn't use GPU powers 23:48:06 :P 23:48:20 haha, maybe that's what you think— but try higher anti-aliasing settings 23:48:26 that thing is taxing 23:48:28 you can only take irony to a limit before it gets tedious 23:48:29 ehird: i'm pretty sure AnMaster plays nethack in text-mode, that is, he uses somekinda thingy to play it with textual commands and responses instead of the usual graphics. 23:48:32 AnMaster: not irony, joke 23:48:40 oklodok: you're joking too right :D 23:48:43 like "a approaches from west" 23:48:47 hahahah 23:49:02 oklodok, and yes I play it in ASCII art mode. Tried QT mode. Didn't like it. 23:49:06 AnMaster: he's joking 23:49:09 he means: 23:49:13 you don't play it in the ncurses-esque mode 23:49:17 you play it in the text adventure mode 23:49:19 oh adventure style 23:49:21 instead of the "graphical" (console) mode 23:49:23 right 23:49:23 it's a joke. 23:49:25 laugh. 23:49:30 ehird, I misread it first 23:49:30 oklodok: sry for ruining it 23:49:31 and haha 23:49:51 ehird: no matters 23:49:52 but 23:49:58 such a mode would be awesome 23:50:02 in a horrible way 23:50:11 I always get lost in text adventures 23:50:11 yes 23:50:17 I prefer ASCII art like nethack 23:50:20 -!- oerjan has quit ("Good night"). 23:50:23 the hitchhiker's guide to the galaxy text adventure is fun 23:50:30 it's hard just getting out of the house 23:50:33 ehird, where is it? 23:50:42 AnMaster: er... an infocom floppy in the 80s 23:50:46 oh 23:50:50 AnMaster: there's a Flash version of it 23:50:52 made by the bbc 23:50:59 basically an interface to the infocom version 23:51:01 but, flash. 23:51:05 http://www.bbc.co.uk/radio4/hitchhikers/game.shtml 23:51:14 AIIIEEEEEEEEEEEEEEEEEEEEEEE! 23:51:29 AnMaster: you could try and download the Z-machine file 23:51:45 ehird, uhu. What emulator is best 23:51:49 it'd be technically illegal, but the BBC have it online in Flash, so it's not as if getting it for free is unintentional 23:51:50 and is it legal 23:51:51 ah 23:52:05 AnMaster: not sure about emulators; I'll look it up 23:52:16 ok I guess I could try them then 23:52:20 AnMaster: Frotz 23:52:24 just wondered if you knew some was good 23:52:25 mhm 23:52:26 http://frotz.sourceforge.net/ 23:52:38 in portage :) 23:52:38 terminal based, even 23:52:50 anyway I need to sleep now. Early morning tomorrow 23:52:53 night 23:52:53 bye 23:53:19 wow 23:53:34 the 9800GTX+ runs Crysis at 1920x1200 at 41fps 23:53:36 that's pretty good.