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