< 1270512323 0 :adam_d_!~Adam@client-86-23-116-15.brhm.adsl.virginmedia.com JOIN :#esoteric < 1270512787 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has created a Linux distro less featureful than DOS. Hooray. < 1270512815 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1270512871 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So I was curious how silly-small I could get something. < 1270512897 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Funny, that's exactly what she said. < 1270512906 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Also, just have a kernel with no userland, that'll be small :P < 1270512974 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Close. < 1270513120 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :combinatorial explosion of linux distros/penises < 1270513187 0 :adam_d_!unknown@unknown.invalid NICK :adam_d < 1270513578 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: what did you come up with? < 1270513628 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Currently at 344 kIb... < 1270513647 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It possesses the following programs: /bin/sh, /bin/clear. < 1270513652 0 :Gracenotes!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270513667 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And its kernel has the following features: initramfs, ELF support. < 1270513673 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :why /bin/clear? < 1270513693 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise, the BIOS text doesn't get cleared in Qemu. < 1270513699 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Tragic :P < 1270513702 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1270513726 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I hope /bin/clear is a shell script ... < 1270513727 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :actually, I would have to say sh makes it more feature rich than dos < 1270513744 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Quite possibly < 1270513760 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Heavily, heavily pared down shell. < 1270513761 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Ohwait, echo isn't built into sh, is it :P ... so /bin/clear couldn't be a shell script probably. < 1270513764 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :cat is pretty useful too ... < 1270513771 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what kernel? < 1270513776 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :2.6? < 1270513780 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :2.6.31 ATM. < 1270513789 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I may experiment with other kernels. < 1270513789 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :wow, didn't realzie 2.6 could get that small < 1270513800 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though 2.6 has the nice feature that you can *compile in the initramfs*. < 1270513810 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :There's a bunch of "tiny" patches to 2.6 that help downsize it. < 1270513825 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Those tiny patches were put into the main tree a while back. < 1270513838 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ORLY? < 1270513839 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Sweet. < 1270513850 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to compare compression formats for the initramfs... < 1270513851 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :So it just takes some special .config frunging. < 1270513886 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I may be at the point where the compression overhead of LZMA negates the benefits for the filesystem. :P < 1270513893 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :all you need now is to add egobfi < 1270513900 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :8-D < 1270513909 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :How much does TCC cost? < 1270513910 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1270513920 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Oh, but eh, headers >_> < 1270513933 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :What's the world's smallest scripting language that borders on usable? :P < 1270513933 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :339 KB without compressing the root filesystem. < 1270513942 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :sh. < 1270513942 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but anyhow, impressive.. could boot that off a 5 1/4" floppy :) < 1270513967 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I missed something, but does that 339K /include/ the kernel? < 1270513989 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I thought that was the FS, which actually sounded pretty big for sh and clear :P < 1270514029 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Yes. < 1270514032 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :How much of busybox can you stuff in before you can't boot from a floppy? < 1270514040 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :All of it. < 1270514048 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :WELL THEN GET STUFFING < 1270514056 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: tomsrtbt < 1270514070 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :calamari: That's ancient, and has ancient utils, things tend to grow over time :P < 1270514081 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :BTW: What is maximum one can put into floppy (using normal 1.44M floppy drive)? < 1270514083 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Actually. I'm going to go check and see if dietlibc and manual-built dash gets me a smaller shell. :P < 1270514083 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Also, isn't it a superformatted floppy? < 1270514090 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: 2.88M < 1270514090 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://wormtube.worms2d.info/?id=4 [some NSFW language] < 1270514095 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I think you can get like 2 mb < 1270514102 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's a man page somewhere which goes into ridiculous difficulty < 1270514107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*ridiculous detail < 1270514113 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : BTW: What is maximum one can put into floppy (using normal 1.44M floppy drive)? <-- this question should be stupid, and yet it's not ... < 1270514118 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :My first computer had 2.88M floppy drive... :-) < 1270514122 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :talking about things like interleaving sectors, and forcing the drive head past the normal limits < 1270514131 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(which might break your drive, or might give you an extra couple of tracks) < 1270514141 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: 2.88? wow.. so there must be no error correction at all? < 1270514163 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Actually, floppy drives are just horribly overengineered. < 1270514165 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Even today. < 1270514185 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270514197 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Aaaw, with dietlibc I can only get the shell down to 96k. :( < 1270514201 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :the drives, maybe.. but the media, no < 1270514206 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Apparently the I/O interface supports up to 255 sectors and 256 tracks (but only up to two sides). < 1270514209 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :calamari: By the time floppies died, most floppy drives supported 2.88MB, there just were no 2.88MB disks ... < 1270514224 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: yeah but he said standard 1.44 hehe < 1270514227 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(currently, my busybox is down to 72k.) < 1270514240 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :calamari: I assume "1.44M" means "3 1/4 in" :P < 1270514257 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Good quality 1.44MB disks formatted as 2.88MB without bad sectors (and appeared to work). < 1270514269 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. I'm going to (quickly) overengineer "clear". < 1270514274 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Actually, 90mm. :-) < 1270514327 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ahem-hem! Everybody quiet, it's ANNOUNCEMENT TIME. http://iki.fi/deewiant/ < 1270514328 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For one thing: CCBI 2.0, at long last. Along with the usual Mycology update on the side. Too tired to build non-x86-64 bins now, but will do so. < 1270514331 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Also: Fungicide, the Befunge-98 benchmark suite! < 1270514333 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(CCBI 2.0 completes it in about one-fifteenth of the time that cfunge does. SO YEAH. AnMaster: macro-optimization > micro-optimization.) < 1270514336 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Finally: I am tired, and am going to bed. Complaints can be directed to /dev/null. -> < 1270514339 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :As you were. < 1270514459 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I just realized something silly. An ordinary key has 48 keys used for typing ASCII; 47 of these each can type two characters, and the remaining one (the space bar) just types one. < 1270514507 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :*keyboard < 1270514513 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Quite right. < 1270514520 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :that's because there are 95 ascii characters < 1270514522 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :The shift key determines which of the two characters a key types. < 1270514529 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks confusedly at his tab key < 1270514537 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :$ wc -c clear < 1270514538 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :55 clear < 1270514539 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Well, I guess technically, the backspace, enter, tab, etc. keys type ASCII. < 1270514546 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay, then. clear overengineered. < 1270514557 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: If you installed echo, you could replace clear with an echo-based version for much fewer bytes. < 1270514570 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :But I meant the 95 printable ASCII characters, of course. < 1270514571 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: But echo involves a larger shell. < 1270514577 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :smallest executable you can make is 45 bytes < 1270514587 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Well aware. < 1270514598 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Guh? < 1270514608 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to make a smaller executable. < 1270514621 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: echo is only a shell builtin in busybox. And you can remove it. < 1270514632 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmm of course that's assuming elf < 1270514643 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :touch blih; chmod +x blih; ./blih;. Which doesn't count, of course. < 1270514646 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what was before elf? < 1270514646 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: OK, but you'll gain a lot with echo ... such as the ability to do anything useful at all :P < 1270514656 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :calamari: COFF < 1270514658 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Then a.out < 1270514661 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Your point? < 1270514668 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :how small could coff get < 1270514674 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Ask Windows. < 1270514680 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh god < 1270514684 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is there anything that was just machine code? < 1270514691 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: DOS COM files < 1270514695 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, it would be plausible to make a platform where all executables are shell scripts. < 1270514704 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah .com was the ultimate < 1270514704 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Of course, that would require the kernel to have a built-in shell. < 1270514706 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Well, more accurately, it's just "throw this crap in memory" < 1270514709 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, hey. Busybox has a smaller shell. < 1270514731 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Interactive execution is optional. < 1270514734 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What would happen if you renamed a .exe to .com ? < 1270514735 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Throw-this-crap-in-memory works best when you can do relative jumps, I imagine. < 1270514742 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Which is to say, the correct way to load a DOS COM file is to copy it into memory at 0, then jump to a predefined point. < 1270514751 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I don't know what DOS .exe files are, but they're not raw. < 1270514755 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: depends on the exe < 1270514764 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It's probably not dissimilar to a.out < 1270514780 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :exe's have memory segment information < 1270514781 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"Support if/then/elif/else/fi" < 1270514789 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now *there's* a useless feature if ever I saw one. < 1270514790 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :We [some computer specialty summer camp kids] were at this lab, and someone was showing us "how to mess up the computer" < 1270514804 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :He showed removing the registry entry that tells Explorer how to open .exe files < 1270514815 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1270514821 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Someone actually followed the instructions on one of the computers. < 1270514853 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I fix it by using Start->Run to open command.com, and from there opening regedit.exe < 1270514861 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Actually, .com files load at 0x0100 (there are some information structures in first 256 bytes of segment it is loaded to). Entrypoint offset is 0x0100. < 1270514863 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And then copying the relevant entries from a good computer < 1270514876 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: yep < 1270514891 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So the guy who messed up the computer in the first place is all "He [the guy who gave the instructions] could have done it." < 1270514895 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :My memory of useless binary formats is slightly bitrotted. < 1270514903 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I guess you could hack a headerless executable format into the kernel < 1270514903 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :64K busybox < 1270514905 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The guy who gave the instructions wanted to rename regedit.exe to regedit.com < 1270514905 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1270514908 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs command.com and finds that it works. < 1270514925 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Is there similar registry entry for .com? < 1270514939 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, I think so, but it was untouched by these instructions < 1270514948 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well you can try exe2bin ;) < 1270514954 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :62240 busybox <-- without echo 62240 busybox <-- with echo. < 1270514965 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/gelfload/ < 1270514974 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay then. echo uses no space, so I'm satisifed. < 1270514989 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Echo.. uses no space..? < 1270514989 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Some malware uses that EXE registry entry (but I haven't heard of using COM entry yet). < 1270515005 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :take a look at the files it compiled.. might have some other freebies in there like true and false < 1270515043 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Somehow. < 1270515048 0 :zzo38!~zzo38@h24-207-48-53.dlt.dccnet.com JOIN :#esoteric < 1270515054 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I invented a game http://zzo38computer.cjb.net/GAMES/meskilb.png http://zzo38computer.cjb.net/GAMES/meskilb.zip < 1270515064 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Huh. What's the extension of the filename foo.bar.baz? < 1270515069 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Is it baz or bar.baz? < 1270515074 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Instructions: T to display level description text. Arrows or vi keys to move. < 1270515081 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: baz < 1270515081 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: In Windows, just "baz" < 1270515104 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Instructions: R to reset, numpad -/+ to prev/next < 1270515114 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Top row is inventory row. < 1270515125 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :That slightly implies that if a file is just named "foo", its extension is "foo". < 1270515129 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I'm going to guess it has something to do with padding. < 1270515139 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :zzo that looks cool!! < 1270515150 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I can see that, but at least Windows treats as no extension in that case < 1270515158 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I guess I can't play it < 1270515161 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Wow, that game is huge. < 1270515163 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I like the graphics though < 1270515165 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :UNIX doesn't care about extensions, o it is OK < 1270515181 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :zzo did you make them < 1270515187 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :That game is not finish yet I will add in more objects and levels more later < 1270515192 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I should install windows so I can play this < 1270515196 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :fax: I didn't make the graphics I found icons in various things < 1270515197 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: Context makes you confusing. < 1270515199 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1270515201 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :fax: That's what wine is for < 1270515205 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I'm not pikhq! < 1270515208 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm discussing how echo takes no extra space in Busybox. < 1270515219 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: btw sometimes -Os isn't the smallest, try -O3 < 1270515232 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION assumes that that .GMD file is not needed. < 1270515235 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :fax: You can use Wine or you can do it a different way by converting the GMD (although no such program exists yet, but I have started writing it) < 1270515236 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it probably got compiled anyways < 1270515245 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :333 kib! < 1270515249 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :The .GMD is the source-file, you don't need it to run < 1270515260 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: what files is busybox compiling? < 1270515292 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Or possibly I might later re-write a similar engine in C so that it can be cross-platform < 1270515297 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Can you make a version with a volume control? This computer doesn't have one. < 1270515299 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Not many. < 1270515301 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :And make the same game using that < 1270515310 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Don't have an exact figure, though. < 1270515315 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: do any of them look like linux commands? < 1270515333 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I could probably get things down by passing the whole thing to the compiler at once. < 1270515336 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I should say GNU commands shouldn't I < 1270515337 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270515339 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (CCBI 2.0 completes it in about one-fifteenth of the time that cfunge does. SO YEAH. AnMaster: macro-optimization > micro-optimization.) < 1270515339 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1270515339 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :uber < 1270515339 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :snappeth < 1270515474 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That's so much snap I've got ropeburn. < 1270515577 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: on level 2, how come you have to go down and get the key before you can go through the door? < 1270515599 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Is the idea that you're only allowed to make one attempt every fifteen seconds? < 1270515661 0 :oklopol!~oklopol@a91-153-122-35.elisa-laajakaista.fi JOIN :#esoteric < 1270515686 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :How does "because the door is locked" strike you? :P < 1270515704 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :That doesn't answer my question; it just leaves me wondering why the door is locked. < 1270515753 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: man 4 fd < 1270515780 0 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1270515781 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it is becausey ou need the key < 1270515786 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :It is obvious, isn't it? < 1270515797 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :/dev/fd0u1920 < 1270515799 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :There is no idea of attempt < 1270515799 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :It's not obvious why that locked door is there. < 1270515817 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Every time I hear "ow!", that's one attempt. < 1270515818 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :This game is turn-based only, not time-based. The only reason the door is there is to practice to use the key/door < 1270515845 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :How much practice do you think I need? It's pretty obvious how to do it; once I do it once, I don't need to do it three more times. < 1270515886 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Just once. The other three times are completely different kind of puzzles having to do with key < 1270515903 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :If you don't like it, skip that level (push numpad + sign) < 1270515915 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I still have to go get the key multiple times on level 2 if I want to pass that level. < 1270515935 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I should also say something else: You can push F5/F6 to quicksave/quickload < 1270515952 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Ah, that changes things. < 1270515964 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I am sorry I didn't tell you that before < 1270515985 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1270515997 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what game < 1270516047 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: You can check the log if you don't know what game? < 1270516072 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can, yes < 1270516190 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What game? < 1270516218 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you can check the log if you don't know? < 1270516227 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :That game: http://zzo38computer.cjb.net/GAMES/meskilb.png http://zzo38computer.cjb.net/GAMES/meskilb.zip (arrow or vi move, R reset, numpad -/+ prev/next, F5/F6 qsave/qload) < 1270516231 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :HEY < 1270516235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's not fair < 1270516237 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i had to work for it < 1270516253 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sorry I just posted now because enough people ask < 1270516257 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1270516261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm being silly < 1270516265 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Somebody else could also have posted the same message < 1270516282 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cuz i'm a funny dude < 1270516350 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so what are the absolutely essential features of a linux shell? starting programs and globbing? < 1270516374 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Perhaps also environment variables < 1270516378 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Bah, who needs globbing. < 1270516390 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: echo * < 1270516397 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so that you don't need ls < 1270516398 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1270516407 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Well, just use ls. :P < 1270516411 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Hum, are environment variables really a shell thing? < 1270516420 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :ls actually does some additional things too like ls -l and ls -la and so on < 1270516434 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: of course :) < 1270516443 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Yes, environment variables are a shell thing because no program can set environment variables of their parent process < 1270516481 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Even if you don't have the "set" command to list all environment variables you still need to be able to set value of individual environment variables < 1270516491 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :But the env program can set environment variables for its child even if you can't set them in the shell. < 1270516524 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I was going to say create a glob program and use backticks.. but backticks aren't free either < 1270516533 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :OK, then, if that is how you want, so. < 1270516561 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh, there is a glob call.. include glob.h hehe < 1270516609 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: how big is your busybox < 1270516636 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Don't you think that's an awfully personal question? < 1270516637 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1270516651 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1270516942 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: 64k < 1270516970 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not bad at all! were you able to include any more executables after looking at the compiles? < 1270516978 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1270517004 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to find a smaller shell. < 1270517023 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1270517027 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do i need diagonal movement in level 2? < 1270517043 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: if you compile without the shell, how big is it? < 1270517075 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Uh... 0k, I'd imagine? < 1270517078 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's... All I have. < 1270517089 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :you have echo < 1270517097 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: do i? < 1270517103 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: There is no diagonal movement. < 1270517106 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah okay < 1270517109 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah, right. < 1270517113 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just left up right down < 1270517129 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :This game is orthogonal movement only. (If there is any extra controls you need, they will be described in the level description (push T)) < 1270517154 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm still trying to find a smaller shell. ;) < 1270517170 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. Actually... < 1270517192 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :How small is Tcl? < 1270517221 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Just roll your own shell. < 1270517229 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :while (true) + strtok + fork + execl = bad shell < 1270517272 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Heheh. < 1270517285 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Tempting. < 1270517286 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :shsh.. short for shit shell < 1270517289 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I forgot about fgets ... < 1270517301 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :while (true) + fgets + strtok + fork + execl < 1270517314 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Or hell, so long as it's an intentionally terrible shell, use gets :P < 1270517318 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :+glob < 1270517323 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1270517336 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :globbing is for pussies, real men remember all the files they have and type out the names. < 1270517367 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :the question is whether you can make it smaller by excluding libc and using int 0x80 calls < 1270517370 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Yes, if you are trying to write a shell using as small codes as possible that's OK I suppose < 1270517394 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :calamari: You can try writing in asm or machine-codes and see if you can do that < 1270517396 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Probably. < 1270517404 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though, my libc is pretty darned small. < 1270517405 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hmmm, FORTH is an idea. FORTH doesn't have to be big ... < 1270517411 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: okay i'm giving up at level 2 < 1270517426 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Hmm. < 1270517433 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: well the thing is that executables are slightly bigger when they have to use libc < 1270517438 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: Try the other level then (push -/+ numpad) < 1270517440 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what is the fourth programming language you learned? < 1270517465 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :fax: ... lesse ... do different dialects of BASIC count as different languages? < 1270517474 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :only if they are called FORTH < 1270517481 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :........... < 1270517494 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Yeah, but not by much. Particularly when you have a decent libc. < 1270517507 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION enjoy his uclibc cross-compiler. < 1270517508 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmmm 1) gwbasic, 2) quickbasic extended 3) x86 asm 4) c? < 1270517511 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :may have been logo < 1270517527 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh damn you're right.. logo is in there < 1270517533 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Could've been logo for me too, that was the first thing that came to mind. < 1270517539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :8 < 1270517539 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmmm 1) gwbasic, 2) quickbasic extended 3) logo 4) x86 asm < 1270517542 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :| < 1270517544 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :But I don't know if it was logo or AVR ASM < 1270517551 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Why does the anarchy golf when you access a file in ../ it accesses /dev/ directory but if you use cd ../ it works correctly?? < 1270517554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no one knows logo < 1270517570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: you probably aren't one to give hintss? < 1270517572 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*hints < 1270517573 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I know logo < 1270517580 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :everyone knows logo < 1270517586 0 :atrapado!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1270517588 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: What hint did you want? < 1270517593 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :HOW IS 2 SOLVED :p < 1270517595 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has heard of logo, but that's pretty much it < 1270517600 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I remember writing a spirograph program in it in class and getting a few minutes of fame followed by years of nerd hell < 1270517606 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I should probably actually play the game < 1270517609 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :calamari hahaha < 1270517617 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :nerd hell? < 1270517624 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I should probably rewrite the game in JavaScript. < 1270517626 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Because that's what I do. < 1270517630 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Rewrite things in JavaScript. < 1270517637 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Gregor that would mean I could play it !!! < 1270517640 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: Which part are you stuck on? < 1270517653 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :fax: Play http://sibeli.us/ instead. < 1270517660 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric : I have I didn't like it :( < 1270517670 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you're like pushing buttons in time I can't do that < 1270517673 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :it made me ill < 1270517673 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Someone should write a game that the makers of the game don't know how to solve, but know it's solvable < 1270517694 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I have in fact done that. < 1270517701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: there's not that much to get stuck on, i have no keys left when i get to the room with the rocks, and there's no way to get the key without them falling and blocking the exit < 1270517710 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, with this game, or a different game? < 1270517714 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Many times. < 1270517732 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: You need the arrow in the other room to block the stones falling < 1270517736 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, I found a more... complete shell that's about 72k. < 1270517747 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: No, not this game. A different game (actually multiple different games) < 1270517751 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: yeah i was just thinking i might actually try using them for something < 1270517758 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sorry. 60k if I use dietlibc. < 1270517765 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I <3 dietlibc. < 1270517784 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1270517793 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: You can also push the stones left/right < 1270517800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1270517802 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Look mah, I've got tar! < 1270517818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and yeah okay it's really obvious now, i just, for some reason, completely dismissed the ball and the arrow < 1270517829 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: What a sticky situation HYUK HYUK < 1270517839 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Grogor did you make sibelius < 1270517843 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :There is a game I made but I don't know how to solve but I know it is solvable: http://zzo38computer.cjb.net/GAMES/MUTCHNAM.ZIP < 1270517845 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I assume you have tar without gz or whatnot. < 1270517849 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Hmm. More features in less space, or fewer features. Tricky. < 1270517851 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And yes. < 1270517855 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is still trying to figure out what the card suites are for < 1270517857 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I disabled the builtin gzip. < 1270517857 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :fax: What a hilarious statement when you don't make it clear that you're referring to sibeli.us :P < 1270517858 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: dietlibc's author is a nutjob who GPL-licensed it so MS don't steal his code :( so distros can't use it as a libc < 1270517863 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :fax: But yes, I wrote that code. < 1270517868 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :oh sorry :((( < 1270517869 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :since you can't redistribute non-gpl software linked with dietlibc < 1270517872 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I didn't realize this < 1270517879 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Yes, that's my only issue with dietlibc. < 1270517884 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pretty big issue < 1270517895 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Did you push "T" at the first level it will explain you need to get four suits, please. < 1270517900 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though that's not *entirely* true. You can redistribute anything "gpl-compatible" linked with dietlibc. < 1270517905 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :This includes 3-clause BSD. < 1270517910 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(note: whole thing is GPL now) < 1270517912 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I just never managed to play these kinds of game, the music/timing type < 1270517921 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh. Thought I had to get to the peace thing < 1270517923 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sadly, that limits dietlibc's usage a lot. < 1270517930 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :fax: This exists mainly as a hilariously bad idea for such a game :P < 1270517944 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :diet i386-linux-uclibc-gcc *.c -Os --combine -fwhole-program -DHAVE_GZIP=0 -DHAVE_LINUX_ATTR=0 -DHAVE_LINUX_MOUNT=0 -DMOUNT_TYPE=\"ext3\" -o sash < 1270517948 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Yes you do but you need 4 suits < 1270517951 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now *there's* a build command. :) < 1270517961 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :It shows the inventory row on the top < 1270517970 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I need no mount! I need no chattr! I need no gzip! < 1270518011 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: is there a way to restart the game < 1270518033 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't have a numlock + so i can't really just restart the game and replay till 3rd level every time < 1270518037 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: Push R key < 1270518044 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kay < 1270518047 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Push -/+ to skip levels < 1270518056 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Or use P/N if you don't have numpad -/+ < 1270518057 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :doesn't do anything < 1270518061 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh okay < 1270518066 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can I move on diagonals? < 1270518075 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: No. Orthogonal only. < 1270518089 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And I don't QUITE understand the logic of the stone < 1270518096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wwwhat was the point of level 3 :D < 1270518099 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :You can also save/load at any time by pushing F5/F6. < 1270518110 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how many levels are there? < 1270518128 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: No much yet, but it will have a lot more levels and more objects later. < 1270518138 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can i have a number, i have to decide whether to play them all < 1270518150 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or to do something i consider more useful < 1270518157 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION does NOT understand how the stone decides to move < 1270518170 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :go near it and move once or soemthing like that? < 1270518172 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*something < 1270518197 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Going near it does not always cause it to move < 1270518206 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1270518207 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: It is like Hero Hearts or PC Wanderer if you have played it. Whenever anything departs from a space up to 1 left/right from it and up to 2 down (but not up) it will fall < 1270518245 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: You can skip levels if you want. (And remember to push T it displays useful (or sometimes useless) information and level code. Push F and type in the level code to skip immediately to that level. < 1270518260 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So I walk into that space and then move, that's when it falls < 1270518267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So above it is a blind spot < 1270518269 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1270518273 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay so '8 < 1270518274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*8 < 1270518289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's a bit too much, i'll mention if i do it some other time < 1270518321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also Sgeo part of the puzzle if to figure out the rules < 1270518324 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*is < 1270518328 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ah :/ < 1270518329 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Arrows and balloons move in a similar way to stones but a different direction < 1270518331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1270518332 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at least imo < 1270518339 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders how well upx works on Linux kernels < 1270518352 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Apparently "no longer". < 1270518377 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's why they're interactive, so the rules need not be stated < 1270518381 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well dunno < 1270518430 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Level code EHQN is the first level that has additional controls that you have to use (push T it will tell you what they are) < 1270518537 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Got it! < 1270518718 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(These lambda-terms cannot be checked by modern systems like Coq or Agda, because the lambda-typed lambda-calculi of de Bruijn are "incompatible" with the Pi-typed lambda-calculi of modern type theory.) < 1270518722 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ha fax was wrong it is feasible < 1270518893 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what exactly did I say that is "wrong"? < 1270519011 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :if you took the time to actually read the paper you are quoting you might find that there are foundational problems with this < 1270519076 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Have you ever made music using Bohlen-Pierce? < 1270519088 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should learn what Pi Calculus is < 1270519147 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: not related < 1270519157 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: well you didn't seem to know that automath did that at the time < 1270519157 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise stop being an ass < 1270519166 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :also i feel cheated on by coq after how nice mizar proofs are :( < 1270519174 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: no. < 1270519187 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :just shut up about stuff you have no clue about < 1270519248 0 :zzo38!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270519479 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: i don't remember you having contact with the authority of having clueness... < 1270519798 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, g'bye everyone: see you Friday. < 1270519815 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see ya < 1270519907 0 :alise!unknown@unknown.invalid QUIT :Quit: Leaving < 1270520132 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, crud < 1270520676 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://arstechnica.com/microsoft/news/2010/04/why-microsoft-did-the-right-thing-in-ditching-xp-for-ie9.ars < 1270520687 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That Low Integrity thing sounds.. excellent < 1270520920 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1270520985 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :POOPPY! < 1270520995 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pooppy, meet carlinet. carlinet, meet pooppy. < 1270521043 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Both people whose names I cruelly massacre for no good reason. < 1270521062 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Heheh. < 1270521097 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay, 339k and it's not going down much further... < 1270521325 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks at the HTML5 Quake2 < 1270521400 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Um, is there a link to actually try it somewhere? < 1270521408 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :329k. And fin. < 1270522279 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION went for a walk. Great northern lights tonight. < 1270522348 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you upload the mental pictures < 1270522395 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually i would interpret that as "describe them", but i'm not sure that's a very fair thing to ask. < 1270522405 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, but if you're in finland maybe you can see them too? < 1270522428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've never seen northern lights in turku < 1270522432 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a few times in lapland < 1270522436 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1270522457 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :they were very fast-moving tonight, and in a broad band straight overhead < 1270522467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1270522468 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1270522477 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not very colorful though, i've seen that a few times < 1270522492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well almost straight overhead < 1270522587 0 :augur!~augur@c-98-218-226-149.hsd1.dc.comcast.net JOIN :#esoteric < 1270522676 0 :roper!~roper@46.188.116.91.dynamic.mundo-r.com JOIN :#esoteric < 1270522837 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1270523150 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ACTION steps out of the other room in a robe with a girl on each arm. < 1270523160 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It's not what it looks like, Mr. roper! < 1270523523 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://asm.sourceforge.net/asmutils.html < 1270523557 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!userinterps < 1270523557 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore chef chiqrsx9p choo cockney ctcp dc drawl dubya echo eehird ehird fudd funetak google graph gregor hello id jethro kraut num ook pansy pirate plot postmodern postmodern_aoler redneck reverse rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh slashes svedeesh swedish valspeak warez yodawg < 1270523583 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :!aol Hello my friends! < 1270523588 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :HELO MY FR1END5!!!!!!!!!!1 < 1270523611 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Doesn't build on modern nasm. < 1270523622 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: bummer < 1270523669 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ACTION fails at being a c programmer.. can't figure out how to create this array of char *'s in the right format for strtok < 1270523686 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :calamari is actually building shsh :P < 1270523699 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah, took a break when my mom called hehe < 1270523713 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :at an amazing 26 lines of code < 1270523738 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sadbf? < 1270523742 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :!sandbf Testing < 1270523745 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :school me please: < 1270523747 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :!sadbf Testing < 1270523755 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :!sadbf +[.+] < 1270523755 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :char * args[16]; < 1270523755 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric : < 1270523765 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :args[0] = strtok(cmd, " "); < 1270523781 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why did EgoBot want to DCC Chat with me? < 1270523790 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :that line gives me a "you retard" error < 1270523803 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, to send me "Hey, here are the results" < 1270523813 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!show sadbf < 1270523813 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1 < 1270523838 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :holy crap what is in this thing, it's 10k already < 1270523878 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh, forgot to strip < 1270524080 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Please don't >.> < 1270524106 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :har har < 1270524120 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1270524307 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Please do :P < 1270524338 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Can you be more specific about the error? < 1270524368 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :warning: assignment makes pointer from integer without a cast < 1270524435 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :You #include'd string.h? < 1270524455 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1270524474 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :wow it compiles, thanks :) < 1270524508 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why not switch to Haskell! < 1270524515 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has become a fanatic almost overnight < 1270524530 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :actually.. why fork? < 1270524546 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Because system() requires a shell and exec() needs a fork. < 1270524547 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: that was fast < 1270524552 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Unless you want a one-time-use shell :P < 1270524599 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: i don't think haskell is very good for making supertiny executables < 1270524609 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1270524641 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although i recall something about a jhc compiler being better at it < 1270524677 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whole program optimization iirc < 1270524699 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but it was still experimental last i heard (quite a while ago) < 1270524717 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should probably ask for advice on beautifying some code fragments < 1270524717 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :couldn't compile itself < 1270524727 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yay < 1270524767 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The interpreter seems to be working, kind of.. it's not crashing when I give it a bounded tape and "<", which is strange < 1270524776 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :paste? < 1270524828 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24710#a24710 < 1270524839 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, you want the whole interpreter to help me debug? < 1270524865 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well let me look at that first < 1270524884 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's working, it's just ugly < 1270524893 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yay it's working < 1270524899 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lots of superfluous parentheses, i see :D < 1270524952 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm not really all that certain which are superfluous < 1270524997 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And there's no where that ... wait. I could have written a function with type BFCmd -> String -> ([BFCmd], String) < 1270525005 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And have passed stuff into that function for most of those < 1270525015 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :(but not all) < 1270525085 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah all those fst and snd really beg for a common where clause and pattern matching < 1270525170 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is it possible to have a common where clause to all those definitions? < 1270525205 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24710#a24711 < 1270525210 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :less parentheses < 1270525249 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically function application has higher precedence than _all_ operators < 1270525286 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1270525291 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(technically one pattern matching exception, @) < 1270525294 0 :coppro!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1270525328 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and not at the top level, no, but just a moment... < 1270525413 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i need vim for this... < 1270525782 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24710#a24712 < 1270525789 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :using a case expression < 1270525834 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh damn wait < 1270525848 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :code is not defined there < 1270525994 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fixed http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24710#a24713 < 1270526183 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :anyone know of an english parser grammar? < 1270526415 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: it should even be possible to factor out the identical ( : cmds, rest) part for most of the options, but i'm not sure that makes it better < 1270526438 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: it actually looks like wordexp will do nearly everything in one call < 1270526448 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :just need to figure out some quirks < 1270526707 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :got it < 1270526742 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if ithis would be smaller if I wasn't compiling on x64 < 1270526816 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yep, slightly < 1270526836 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :okay.. shit shell is 5684 bytes < 1270526969 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Pastebin? < 1270527121 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://pastebin.com/xJUQuFWX < 1270527132 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION feels guilty for not having written the code himself < 1270527137 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Erm, the cleaned code < 1270527142 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The original is mine, obviously < 1270527166 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION feels guilty for doing too much of your work, i tend to do that when i get carried away < 1270527205 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lol I didn't need the variable pid did I < 1270527273 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :doesn't save any byyes.. oh well < 1270527414 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: I'll see what I can do to it. < 1270527418 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.com/aMmXde7G < 1270527420 0 :myndzi!myndzi@tengototen.net JOIN :#esoteric < 1270527432 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :little less crap in that one < 1270527571 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :41824 shish < 1270527578 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... When you stop including malloc... < 1270527578 0 :myndzi\!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1270527586 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :? < 1270527597 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it's actually bigger with uclibc? < 1270527611 0 :fax!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1270527625 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's bytes. < 1270527631 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. < 1270527644 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so was mine < 1270527649 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :44K? WTF? < 1270527663 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wait. Are you dynamic linking? < 1270527667 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1270527673 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Failure. < 1270527679 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yours is several megabytes. < 1270527694 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(as it needs all of glibc.) < 1270527708 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I assumed you had uclibc already < 1270527713 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :doesn't work with it? < 1270527727 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I do not have a dynamic uclibc. < 1270527729 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1270527732 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270527757 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Among other things, this means the fewer functions you use the smaller your program is. < 1270527774 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Also, perror? Bah. < 1270527791 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :if you are static linking, then int 0x80 asm would be smaller < 1270527802 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :did not realize you were < 1270527814 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what's wrong with perror.. doesn't even increase the size < 1270527826 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a function. < 1270527840 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Including functions from libc means those functions are included in the binary. < 1270527883 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :113 shish < 1270527885 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1270527886 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Same damned program without perror. < 1270527895 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :113 bytes? < 1270527913 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1270527919 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :holy crap < 1270527927 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :perror took 44k? < 1270527944 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. Sorry, no. < 1270527952 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :wc -l instead of -c somehow. WTF, me? < 1270527964 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :41824 shish < 1270527969 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's more not fucking nuts. < 1270527975 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1270527985 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But, yeah... perror includes stdio. < 1270527996 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though, so does fgets. :P < 1270528002 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah that program sucks for static < 1270528012 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's probably wordexp. < 1270528024 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yup. < 1270528024 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah, wordexp is doing a lot < 1270528050 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What you really want to do is tokenise. And that's it. < 1270528070 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah well it would have to be in asm next time < 1270528209 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :out of curiousity, how big is it when dynamically linked against uclibc < 1270528229 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Dunno. I don't have a dynamic uclibc. < 1270528236 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :k < 1270528242 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well it was fun writing it < 1270528249 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though probably about a megabyte if you *include* uclibc. ;) < 1270528301 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'm going to go ahead and fix it to do utterly naive tokenizing. < 1270528324 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I had that before but wordexp was so much better with the globbing and all for "free" hehe < 1270528409 0 :cal153!unknown@unknown.invalid QUIT : < 1270528792 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :9040 shish < 1270528800 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Could probably be made smaller. < 1270528833 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :shish kebab < 1270529200 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :5288 shish < 1270529201 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's using read. < 1270529203 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lol was looking at which syscalls I would need and it was going down the elementary list, 1, 2, 3, 4.. but then 11 and maybe 12 < 1270529223 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not bad < 1270529230 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :does it still work? < 1270529272 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1270529377 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :1948 shish < 1270529380 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :With dietlibc. < 1270529499 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1270529505 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pastebin? < 1270529556 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/ShKE < 1270529685 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fun fact: uninitialised static variables use 0 space in the output binary. :) < 1270529747 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I could probably make this smaller by plopping down into assembly, but not by much. < 1270529766 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :YEAH THAT'S NOT BAD < 1270529777 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... What's with the capslock? < 1270529786 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :does it help to remove the function call < 1270529787 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1270529798 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :was in ASM programming mode.. that's a caps lock operation :) < 1270529798 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which function call? < 1270529813 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :tokenise < 1270529818 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's inlined. < 1270529825 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh, true < 1270529839 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :++cmd_offset? < 1270529867 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Where at? < 1270529869 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :dunno if that is a rumor or truth when they say x++is bigger than ++x < 1270529875 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :two places < 1270529901 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :for(cmd_offset = 0; cmd[cmd_offset] != 0; cmd_offset++) { < 1270529906 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In any sane compiler, there's not any difference unless you're using the result value. < 1270529909 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cmd_offset++; < 1270529912 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ahh k < 1270529928 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And if you're using the result value, you're getting bigger code regardless. < 1270529948 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so how many bytes did that save on your disk? < 1270529973 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Let me go make a new image. Without anything. Bwahahah. < 1270530091 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :System is 301 kB < 1270530111 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay, 301 kiB for a Linux bzImage which does nothing but start shish. < 1270530195 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That is the shittiest shell ever. < 1270530210 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yay!!!! < 1270530211 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1270530223 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And this... Is the shittiest Linux distro ever. < 1270530241 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You actually can't do anything on it. :) < 1270530262 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not even error messages, because dietlibc doesn't have any, and nor does this kernel build. < 1270530268 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well you can run more shells < 1270530275 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. Yes you can. < 1270530299 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so I take it echo is gone? < 1270530305 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1270530309 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1270530315 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :As is everything else. < 1270530329 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I was previously using sash, which had a few builtins, and was 60k. < 1270530359 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well chdir is probably not too big since there is a syscall for it < 1270530398 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should be eating and doing laundry < 1270530442 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :does ctrl-D still work to terminate the shell? < 1270530466 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1270530475 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :dietlibc? < 1270530487 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Yes. It's freaking tiny. < 1270530487 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :shish? < 1270530493 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Shit Shell < 1270530543 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: When read reads nothing, it returns 0. So, it exits. :) < 1270530867 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :shsh turned into a fork bomb lol < 1270530881 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hahah. < 1270530911 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, might want to fix that... < 1270530915 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :come on linux you can kill this thing < 1270530943 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You're not running this in a VM? < 1270530951 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :nope haha < 1270531009 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :whew, closing the term did it < 1270531023 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :okay what did I screw up < 1270531130 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1270531260 0 :Alex3012!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270531543 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: there is a bug.. trying to track it down.. if more than one parm is used, you can't go back to using just one parm < 1270531562 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Mmm. That is an issue. < 1270531776 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1270531806 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I love how we're at the point that malloc is absurd bloat. < 1270531981 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1270532022 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :fixed it < 1270532029 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Whooo. < 1270532034 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : for (--tokened_offset; tokened_offset < MAXSIZE; ++tokened_offset) < 1270532034 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : tokened[tokened_offset] = NULL; < 1270532078 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1270532090 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :seems to break the ctrl-d after a cmd tho < 1270532098 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :maybe unrelated < 1270532172 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Works here. < 1270532239 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hrm. Still seeing that bug, though. < 1270532258 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah maybe that wasn't the fix < 1270532532 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : for(;read_result < MAXSIZE; read_result++) < 1270532532 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : cmd[read_result] = 0; < 1270532555 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Might be more than is needed, but it works. < 1270532603 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It is. < 1270532607 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : cmd[read_result + 1] = 0; < 1270532609 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There. < 1270532627 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so it was an off by one error? < 1270532676 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1270532767 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Even though it's 12:44, and I need to be up early, I need to go wash clothes now < 1270532812 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Dear Gmail: Emails from the email list I'm on are not spa < 1270532813 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :spam < 1270532899 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/NWgK < 1270532927 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :" i wish all the glasses had the brown dark lenses...i can only see out of one eye so i could never see the 3d when i tryed to watch them all i would see is a blurry red image..im glad there attepmting to change it" < 1270532955 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although maybe she's saying that if they change it, she'll still be able to watch the programs even though they happen to be in 3d < 1270532983 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I particularly love how this shell cannot handle spaces in any arguments. < 1270533410 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I think you want a break; after the exec, otherwise syntax errors are a problem < 1270533436 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :and cmd[read_result + 1] = 0; was right I think you may have a typo on your new source < 1270533518 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: "break"? "break"? That is a forkbomb. < 1270533528 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1270533528 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :comex is a redditor? < 1270533531 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The new source does not have read_result any more. < 1270533554 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh, okay < 1270533711 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :why is it a fork bomb? < 1270533730 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it should never get to the line after the exec, unless the exec fails < 1270533732 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, wait, no it's not. < 1270533750 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It'll just jump out of the while loop and exit. < 1270533755 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Unlike now, where it exists. < 1270533756 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1270533758 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. Exits. < 1270533772 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm pretty sure GCC will compile the two as equivalent. < 1270533773 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should be washing clothes right now < 1270533777 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :In fact, I'll go do that < 1270533792 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :if it doesn't break, then the child won't terminate < 1270533810 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Uh, return from main *is termination*. < 1270533818 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Note that it currently does a "return 0". < 1270533821 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :and how does it return < 1270533826 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :return 0; < 1270533835 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :how does it get out of the loop < 1270533845 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It returns from main. < 1270533877 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :put a puts about return.. you wont get there with a syntax error < 1270533881 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :above < 1270533881 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :_start then calls the exit system call with the return value from main. < 1270533901 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes, and with a syntax error the forked process exits from main. < 1270533917 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Unlike what you propose, which is... A jump to a return from main. < 1270533940 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : puts("e"); < 1270533940 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : return 0; < 1270533942 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Do I need to beat "return 0;" into your head some more? < 1270533946 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : execvp(tokened[0], tokened); < 1270533947 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : return 0; < 1270533964 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh, my bad, you do have it < 1270533975 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Yes*. < 1270533983 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :the old source didn't < 1270533995 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah either one is pretty much the same < 1270534006 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes, and I added it because it was going to forkbomb otherwise. :P < 1270534023 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah that is why I added break < 1270534029 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :we just solved the same problem two different ways < 1270534051 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And GCC compiles them equivalently. < 1270534062 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :good < 1270534223 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :changing the directory doesn't work lol.. duh the environment goes bye bye < 1270534253 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I think in order to do that, parsing of the command will have to go before the fork < 1270534276 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1270534480 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :got it < 1270534745 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/GFKJ < 1270535430 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmm unsetenv isn't working for some reason < 1270535475 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : } else if (strcmp(tokened[0], "unset") == 0) { < 1270535476 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : puts(tokened[1]); < 1270535476 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : printf("%i\n", unsetenv(tokened[1])); < 1270535525 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :unset PATH prints PATH then 0, indicating success < 1270535551 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :set works though < 1270535698 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :does adding cd bloat it quite a bit? < 1270535776 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1270535812 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :since unset didn't work: < 1270535820 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : if (strcmp(tokened[0], "cd") == 0) { < 1270535821 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : chdir(tokened[1]); < 1270535821 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : } else if (strcmp(tokened[0], "set") == 0) { < 1270535821 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : setenv(tokened[1], tokened[2], 1); < 1270535821 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : } else if (fork() == 0) { < 1270535821 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : execvp(tokened[0], tokened); < 1270535823 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : break; < 1270535826 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : } < 1270535836 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :there.. feature complete, right? :P < 1270535878 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: thanks for the fun < 1270535938 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: No problem. < 1270535972 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'm guessing adding strcmp, chdir and setenv adds a bit to the size < 1270535988 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :can't really see it here since I'm compiling dynamic < 1270536002 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'll check. < 1270536030 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/OfEd < 1270536049 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :shish.c:(.text+0xcb): warning: setenv calls malloc. Avoid it in small programs. < 1270536066 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :change it to putenv then < 1270536085 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1270536111 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :one minute, that will require a code change < 1270536113 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That'll... do the same thing. < 1270536126 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :4448 shish < 1270536130 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not exactly, different args < 1270536150 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1270536165 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :malloc is overheady. < 1270536180 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :putenv shouldn't require malloc < 1270536207 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :2032 shish < 1270536212 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Without the setenv. < 1270536228 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"so altering the string changes the environment." < 1270536243 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah, fun huh? < 1270536260 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : } else if (strcmp(tokened[0], "export") == 0) { < 1270536261 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric : putenv(tokened[1]); < 1270536295 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so the syntax is export PATH=/bin or whatever < 1270536336 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Then the PATH will be /bin/ until you have a command long enough to overwrite the PATH. < 1270536403 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wait, "long enough"? As in, buffer overflow? < 1270536418 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Well, not really a buffer overflow. < 1270536447 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's just that putenv makes the buffer given as an argument be part of the environment. Meaning that when you change the buffer, the environment changes. < 1270536450 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :dunno, it seems to work < 1270536475 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :As it just so happens, that buffer is also where command parsing happens. < 1270536515 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't seem to overwrite it < 1270536516 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: I'm going to statically allocate an array of buffers for that. < 1270536556 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Touching my chin no longer means blood on my hand, yay! < 1270536557 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :although I can't explain WHY it isn't < 1270536567 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: hows that laundry coming along < 1270536573 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :In the drier < 1270536587 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'll go to sleep when it's time for the dryer to be off < 1270536693 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it's possible that libc is doing a malloc for me < 1270536714 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :put that would break the spec < 1270536717 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :*but < 1270536811 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wait, nope, there's still blood on my hands < 1270536816 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmm according to the man page, it depends on the libc < 1270536928 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION listens to random songs in the Avatar: The Last Airbender soundtrack < 1270537887 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :got primitive \ escape sequences working < 1270537915 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so now you can escape spaces < 1270537941 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/iFNP < 1270537970 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1270537989 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :\space is special, everything else turns back to whatever it was after the \ < 1270538003 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well space does too, but it sets a flag < 1270538165 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :and with that, I think it actually is usable now < 1270538230 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Give it rawirc, and you'd make zzo38 happy. :P < 1270538240 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :vonkeror? < 1270538248 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :telnet. < 1270538259 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: so how big is http://sprunge.us/iFNP < 1270538319 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :4448 bytes. < 1270538339 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :whats odd < 1270538343 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :**err that's odd < 1270538347 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :why is it so big < 1270538370 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :putenv? < 1270538375 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Probably. < 1270538392 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well the next closest shell was 60k, right? < 1270538405 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :2108 without putenv. < 1270538408 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, yeah. < 1270538417 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well kinda need putenv < 1270538430 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or setenv. < 1270538438 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1270538450 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but that was even bigger < 1270538463 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That was about the same size, actually. < 1270538503 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmm then we should definitely use setenv since it is safer < 1270538516 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :4448 with setenv. < 1270538534 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Yeah, no reason not to. < 1270538543 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what syntax did you use for it? < 1270538553 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :set foo bar < 1270538581 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :setenv(tokened[1], tokened[2], 1); ? < 1270538594 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1270538599 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :okay cool < 1270538627 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well there you go then .. shsh lives :) < 1270538637 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1270538654 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I guess that put it at around 335k < 1270538689 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :er 305k < 1270538709 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :i'll check. < 1270538768 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :302k. < 1270538778 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not bad! < 1270538802 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :btw does ctrl-z do anything? < 1270538830 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, you need more logic for job control. < 1270538853 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :in the kernel? < 1270538859 0 :MigoMipo!~migomipo@84-217-13-224.tn.glocalnet.net JOIN :#esoteric < 1270538864 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, in the shell. < 1270538884 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :For job control, you need to actually watch the terminal for Ctrl-Z to send sigsusp. < 1270538933 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I guess I'm wondering how you could ever run more than one thing at a time with our shell :) < 1270538948 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :nohup? < 1270538951 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. < 1270538953 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1270538959 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Detaching from the terminal. < 1270538989 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah would have to daemonize < 1270539014 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which is nearly what a job-controlling shell does anyways. < 1270539082 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :we could almost use vfork instead of fork < 1270539087 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :wonder if it's smaller < 1270539130 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They're system calls. < 1270539144 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :true < 1270539147 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The libc functions literally do nothing but jump to the kernel. < 1270539183 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :guess putenv isn't a system call < 1270539184 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It would be *saner* to use vfork, though. < 1270539206 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not at all. < 1270539225 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The environment is done entirely in userspace, IIRC. < 1270539290 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh, then execv might be smaller < 1270539393 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not really. < 1270539438 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The environment is just extern char **environ. < 1270539462 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but the call has to get the PATH and find the command < 1270539474 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :maybe that's not much code < 1270539501 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah, that. < 1270539543 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I doubt it's much code. < 1270539623 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how hard it'd be to hack shsh into busybox < 1270539638 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :haven't ever tried adding a command to bb before < 1270539640 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Probably not very. < 1270539748 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why am I still up? < 1270539769 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :because being asleep sucks < 1270539789 0 :adu!~ajr@pool-173-66-9-50.washdc.fios.verizon.net JOIN :#esoteric < 1270539937 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION just found out that lamebook doesn't show ALL entries on a topic on the main page < 1270539944 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to be awake for a bit longer < 1270540607 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is a git < 1270540799 0 :clog!unknown@unknown.invalid QUIT :ended < 1270540800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1270540981 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION will be waking up in 3hrs :( < 1270541169 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :good luck with that < 1270542304 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I'm totally wearing e by numbers to my math contest < 1270544616 0 :coppro!unknown@unknown.invalid QUIT :Quit: I am leaving. You are about to explode. < 1270545182 0 :calamari!unknown@unknown.invalid QUIT :Quit: Leaving < 1270545347 0 :adu!unknown@unknown.invalid QUIT :Quit: adu < 1270545516 0 :adu!~ajr@pool-173-66-9-50.washdc.fios.verizon.net JOIN :#esoteric < 1270547018 0 :cheater2!~cheater@ip-80-226-44-159.vodafone-net.de JOIN :#esoteric < 1270547125 0 :cheater3!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1270547316 0 :oobe!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270547847 0 :adam_d!~Adam@client-86-23-116-15.brhm.adsl.virginmedia.com JOIN :#esoteric < 1270548503 0 :lereah_!~lereah@nanpc301.in2p3.fr JOIN :#esoteric < 1270550208 0 :tombom!~tombom@wikipedia/Tombomp JOIN :#esoteric < 1270550801 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1270552703 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1270556999 0 :Deewiant!unknown@unknown.invalid QUIT :Quit: Changing server < 1270557014 0 :Deewiant!~deewiant@kekkonen.cs.hut.fi JOIN :#esoteric < 1270557864 0 :cheater2!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270557893 0 :cheater2!~cheater@ip-80-226-44-159.vodafone-net.de JOIN :#esoteric < 1270560550 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1270560732 0 :roper!unknown@unknown.invalid NICK :atrapado < 1270561735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : (CCBI 2.0 completes it in about one-fifteenth of the time that cfunge does. SO YEAH. AnMaster: macro-optimization > micro-optimization.) <-- hm really? < 1270561751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but did you compare with all fingerprints disabled for both? < 1270561766 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :after all, last I looked ccbi 2 implemented way fewer fingerprints < 1270561774 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Here's a nice Microsoft support experience: https://connect.microsoft.com/VisualStudio/feedback/details/546053/ < 1270561776 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"But Unfortunately we will not fix this issue as it is not a common code and is not a high priority issue.Thanks for playing with our product." < 1270561777 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :All fingerprints enabled for both < 1270561794 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I especially like the "thanks for playing" bit. < 1270561796 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, then what bit is so much faster? < 1270561812 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Last I looked cfunge doesn't implement any of the mainloop-intrusive fingerprints like IMAP/TRDS? :-P < 1270561819 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, true < 1270561832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :my question still stands < 1270561833 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(They're the only ones that really matter) < 1270561846 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :A better Funge-Space helps < 1270561855 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, better in what way? < 1270561858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in, how do you do it < 1270561870 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I haven't profiled both cfunge and CCBI to see where exactly each one spends their time, you know ;-P < 1270561877 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Complicatedly < 1270561894 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, I know on my system cfunge spends most time in string pushing in y. That bit could be optimised somewhat < 1270561899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :env -i reduces it of course ;) < 1270561921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how do you mean "Complicatedly" < 1270561922 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270561936 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :How about you check out the benchmarks and the results at iki.fi/deewiant/befunge/fungicide.html first :-P < 1270561959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is this not on mycology? < 1270561960 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then < 1270561981 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You could read the whole announcement instead of just that one line, you know :-) < 1270561987 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well I couldn't find it < 1270561990 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mycology is pointless to benchmark < 1270561995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that line I quoted was first in my scrollback < 1270561995 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Since both cfunge and ccbi do it in 0.000s < 1270562003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is now out of it completely < 1270562017 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Fortunately /topic < 1270562027 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, 0.000? You have a fast computer then < 1270562033 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I do. :-P < 1270562035 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I get it down to two zeros at best < 1270562046 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(That's with fingerprints disabled) < 1270562065 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :even with fingerprints disabled iirc it is something like 0.0024s for both here < 1270562078 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :With them enabled, maybe 0.002s or something, can't remember. Still less than 0.01s so any differences are completely pointless. < 1270562123 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"A Linux system (due to the /proc usage for memory use measurement) with GNU Coreutils" <-- then it will have to wait. I'm on freebsd for most of today alas. < 1270562153 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You probably don't want to run the benchmarks yourself. < 1270562158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1270562160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why not < 1270562179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is hard to profile to find out where the issue is without running them myself < 1270562202 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, you didn't explain how your funge space works... < 1270562247 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Lastly, a table." What a wonderful sentence. < 1270562261 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Gah, tkk.fi is timing out for me < 1270562264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why http://users.tkk.fi/~mniemenm/befunge/fungicide-rankings/ times out < 1270562271 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah not only me then < 1270562287 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Your Funge benchmarks generated too much traffic for it to handle. < 1270562298 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I seriously doubt that :-P < 1270562307 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, still: 1) why don't I want to run the benchmarks myself to be able to profile it? 2) how does your funge space work? < 1270562319 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Soon you'll receive angry letters from the computing centre folks. "Why are you hosting such a popular site on our server?!" < 1270562339 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I wouldn't be that surprised, since they do say that they don't like that. < 1270562349 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But I would be surprised if it were /that/ popular. :-P < 1270562366 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I needed to check the numbers from my site to be able to answer 1) properly, but basically because they take a long time to run < 1270562387 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Maybe around 20 hours for cfunge on my machine < 1270562389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, then it is useless to test improvements with basically then? < 1270562393 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sigh < 1270562400 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, you can run individual ones of course < 1270562409 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, don't they take as long? < 1270562415 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not all of them < 1270562424 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and for 2)? < 1270562437 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Like said, it's complicated :-P < 1270562438 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I seem to be unable to access the source and read it atm < 1270562473 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so complicated that you don't know how it works? < 1270562475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or what < 1270562491 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I mean, seriously, I can't see a good reason for not being able to explain it...) < 1270562524 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :FWIW I think stinkhorn does something similar since it has similar performance characteristics (and beats cfunge often enough) < 1270562531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also, how much ram do they use? < 1270562552 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If the site weren't timing out I could answer you < 1270562558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I assume nothing too excessive. Since otherwise I won't be able to run them < 1270562569 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Depends on the interpreter :-P < 1270562574 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It stopped timing out for me when I did one stop + reload now. < 1270562580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, if it is more than 2 GB then I will end up swap trashing < 1270562590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, still times out for me < 1270562598 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For cfunge it'll be more than that on a few of the bigger ones, IIRC < 1270562603 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For ccbi it won't be, IIRC. < 1270562611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1270562628 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I'm getting this on ssh to kirves: 'NFS server korppu not responding still trying' < 1270562631 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, then why don't you explain how your funge space work. Just saying it is complicated isn't a reasonable excuse < 1270562674 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Well, "broken" *is* the natural state of a NFS system. < 1270562678 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Basically, AABBs whose contents are stored as arrays, with a hash table as a fallback < 1270562681 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: :-D < 1270562687 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, AABBs? < 1270562692 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's a term. < 1270562695 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :meaning? < 1270562707 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Axis-Aligned Bounding Box. < 1270562713 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh. < 1270562729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, something similar to what glfunge was doing? < 1270562741 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what GLfunge was doing. < 1270562764 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :something with octtrees iirc < 1270562767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks at fizzie  < 1270562793 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, how large is each such AABB? < 1270562793 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GLfunge had fixed-size (axis-aligned) blocks in a treeish way, I forget the details exactly. It certainly didn't try to figure out code-wise sensible regions to put in a block, for example. < 1270562794 0 :augur_!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270562818 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Dynamic. < 1270562828 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, okay, but do you have some size limits for it? < 1270562831 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1270562834 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270562840 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how do you decide when to split them off then? < 1270562852 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and when do you use the hash table fallback? < 1270562854 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"Split them off"? < 1270562866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, maybe I misunderstood how you were doing it then < 1270562879 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :See, it's complicated. ;-P < 1270562887 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I assume you create new such ones at runtimes? < 1270562903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well I can't access the code to read it myself atm < 1270562908 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Do a facebook account with the name "CCBI 2's fungespace", and set your relationship status with it to "it's complicated". < 1270562908 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since the server is still down for me < 1270562921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, hehe < 1270562953 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I even just booted into Windows so I could make Windows binaries so now I can't access the source code myself either :-P < 1270562973 0 :adam_d_!~Adam@client-86-23-64-15.brhm.adsl.virginmedia.com JOIN :#esoteric < 1270562974 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Incidentally, do you have any sort of looping in those benchmarks? I was looking at the descriptions and most of them seemed to be of the form "repeat X Y times". Which makes a jitfunge developer sad, since for a benchmark like that, it'd just end up tracing (and interpreting) the contents once. < 1270562975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, if you were to make windows binaries you surely have the source for *making* them around too? < 1270562988 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: The -p style ones loop. < 1270562995 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I was going to download it from the site. < 1270562997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1270563013 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Since I forgot to copy it over to the NTFS disk. < 1270563020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, reboot then? Btw tried mingw? Debian/Ubuntu has a package for mingw cross compiler iirc < 1270563047 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't think cross compiling D is easy enough < 1270563053 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm true < 1270563060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well it should be with llvm :P < 1270563071 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, because LLVM bitcode is not platform-independent < 1270563080 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1270563086 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There's platform-specificity before the code reaches LLVM. < 1270563094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :isn't the llvm asm in theory if you do it right? < 1270563103 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mostly platform independent < 1270563120 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a few things like type sizes need to be adjusted < 1270563153 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Rebooted. < 1270563164 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: "Mostly" != "fully". < 1270563184 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but the remaining bits shouldn't be *too* hard to account for < 1270563197 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And really, it depends. For D it won't be since it'll e.g. be using the wrong exception-handling code. < 1270563201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some of the OS API + some type sizes < 1270563203 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I.e. DWARF instead of SEH. < 1270563206 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :OS API, exactly. < 1270563212 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Which is a big thing and nontrivial to convert. :-P < 1270563238 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, stuff like D already does it, doesn't it? Since there are linux and windows versions < 1270563251 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The LLVM D compiler doesn't support Windows. < 1270563255 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270563263 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :good for their sanity < 1270563269 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And even if it did, it wouldn't "do that" < 1270563276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :do what? < 1270563281 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It just grabs the appropriate #ifdef-equivalent when compiling < 1270563285 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :LLVM can't see that < 1270563291 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well yes you would need system headers < 1270563299 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270563324 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Temp copy of my site hosted locally at http://tar.us.to:5423/ < 1270563325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like any cross compiler it would need headers from the target system < 1270563338 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And since a cross compiler doesn't exist... :-P < 1270563374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what the hell is txz? < 1270563387 0 :augur_!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270563404 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :tar.xz < 1270563413 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what is xz? < 1270563437 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://tukaani.org/xz/ < 1270563440 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, did ccbi use 32-bit or 64-bit cells? < 1270563446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and which did cfunge use? < 1270563452 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because cfunge defaults to 64-bit cells < 1270563454 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Look.at.the.results. < 1270563462 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes it says ccbi2-32/64 and so on < 1270563463 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but < 1270563470 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't tell me if that is -m64 or -DUSE64 < 1270563478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which are *very* different things < 1270563484 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the fastest variant is -m64 -DUSE32 < 1270563489 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :All executables involved (the interpreters themselves or the interpreters’ interpreters, such as perl and python) were x86–64 ELF binaries. < 1270563496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270563500 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It says that on the page, you know. < 1270563506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :brb phone < 1270563517 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, my SVGs aren't working. < 1270563723 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :O Firefox, why fail'st thou so < 1270563752 0 :augur!unknown@unknown.invalid QUIT :Quit: Leaving... < 1270563771 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270563980 0 :adam_d_!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1270564402 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :back < 1270564422 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :tkk.fi seems back as well. < 1270564425 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270564437 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, 403? < 1270564445 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm reloading two times helped < 1270564451 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :weird < 1270564520 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, if this is mostly due to funge space (and I have no clue about profiling D code...) < 1270564527 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then I'm lucky < 1270564539 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because my funge space code is well abstracted < 1270564548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :good generic API against it < 1270564559 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So you'll just copy it over as usual? ;-P < 1270564563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, nah < 1270564585 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, did you implement BOOL btw? And what about REXP? < 1270564594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you did, then surely you just copied it from me! < 1270564606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since I implemented those before you did < 1270564613 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :REXP and FING are the two new ones in CCBI2, for fungot < 1270564613 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: letrec is fine, i can verify it < 1270564625 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you copied it from me then clearly :P < 1270564628 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Hey, at least you have a history of taking code from CCBI :-P < 1270564639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, not really. Of studying it yes < 1270564665 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Weren't the original issues with TURT in cfunge due to my buggy implementation? ;-) < 1270564726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that wouldn't have been an issue if you hadn't made it buggy < 1270564727 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1270564730 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1270564767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but yes, TURT and I guess the matrix fingerprint were based on your ones < 1270564781 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because at the time I implemented those I didn't really know much about the underlying areas < 1270564788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would be required to implement them < 1270564839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, looks like cfunge won at http://users.tkk.fi/~mniemenm/befunge/fungicide-rankings/horizontal.b98.html < 1270564845 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1270564846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :misread < 1270564847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hrrm < 1270564864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, where does it list the size of the program? < 1270564869 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :IIRC cfunge wins at diagdown,diagup,hollow-square < 1270564872 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't < 1270564880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you said that varied on the main page < 1270564883 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :based on some parameter < 1270564911 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, you meant the parameter value? < 1270564913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also I care much more about speed than memory usage. Relatively speaking, memory usage is not very interesting to me < 1270564916 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes < 1270564925 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Where are you looking for it? < 1270564938 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at http://users.tkk.fi/~mniemenm/befunge/fungicide-rankings/horizontal.b98.html < 1270564939 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :On that page the graphs at the top have it as the x-axis < 1270564954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, eh? where are the graphs < 1270564957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I didn't see any graphs < 1270564966 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :SVG :-/ < 1270564973 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I use firefox < 1270564986 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :They work for me at tkk.fi but they didn't at my locally-hosted one, which was weird < 1270564998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, they don't work on tkk.fi for me < 1270565011 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, they do work on wikipedia < 1270565018 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(tried http://en.wikipedia.org/wiki/File:SVG.svg ) < 1270565030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and also clicking the image) < 1270565038 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's a PNG < 1270565039 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1270565045 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, not if you click the image < 1270565059 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that works but embedding seems a bit unfortunately random < 1270565095 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Cactus plot for time used. < 1270565095 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I presume you see the text instead? "Line plot of foo bar" or whatever < 1270565096 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1270565105 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For example that text, yes < 1270565108 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What what < 1270565113 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why not ? < 1270565117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I thought that was the normal way < 1270565118 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Because that doesn't work in Firefox :-P < 1270565122 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, eh!? < 1270565131 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :SVG img doesn't work in Firefox: it's a known bug < 1270565139 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :https://bugzilla.mozilla.org/show_bug.cgi?id=276431 < 1270565140 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'm pretty sure it worked for me with .svg in 3.0.x versions < 1270565144 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haven't tested recently < 1270565146 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You're wrong < 1270565160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, shouldn't this be a trivial fix < 1270565174 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, rewriting them to object tags internally or something < 1270565175 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's a security issue since SVGs can be scripted < 1270565179 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or something like that < 1270565185 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Can't remember the details but no, it's not trivial. < 1270565186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but so can web pages... < 1270565196 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But other images can't... I DUNNO < 1270565218 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Anyway I presume you see that "cactus plot" text? < 1270565229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :okay what the hell < 1270565234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :after view source I do see the images < 1270565237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :.................. < 1270565239 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1270565283 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway it is pretty much guaranteed that whatever-32 is faster than whatever-64 < 1270565288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since more data fits in cache < 1270565289 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it is. < 1270565313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how comes mine was so fast for the squares? < 1270565345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway the table below, it doesn't state what problem size it is for < 1270565356 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's a summary, it includes all problem sizes < 1270565363 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so the total memory? < 1270565366 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is it average? < 1270565367 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :peak? < 1270565375 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It is the total memory. < 1270565380 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sum. < 1270565383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you mean run1 + run2 + run3 ...? < 1270565389 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that is what "total" means. < 1270565389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and in what unit < 1270565400 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"All time measurements are in seconds (s) and all memory measurements are in mebioctets (Mio)." < 1270565425 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... that unit... < 1270565431 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1270565462 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it took like 3 seconds to figure out what was written. Because "word form" reading broke down < 1270565473 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and then another second to parse it < 1270565509 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I would complain about you not justifying how these benchmarks are reflective of real-world Funge-98 use, if there was any. < 1270565526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, :D < 1270565531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, there is fungot < 1270565532 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: magic takes away most of the " _" is 0??? < 1270565536 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that would be a minor problem if there were any. < 1270565562 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you could test fungot's ul and bf interpreters instead < 1270565563 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: nngh or something? ( so when cmuscheme48 sends the ' ,from-file foo.scm' command, it would be. < 1270565565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as free standing < 1270565608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ccbi1 stats for hollow square are amazing < 1270565614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how did it even manage that < 1270565617 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :CCBI1 is quite amazing :-D < 1270565623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :slower than language::befunge < 1270565630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why does it say language-befunge there? < 1270565632 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not the proper name < 1270565649 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :None of them say the proper name because I was too lazy to prettify them < 1270565700 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: And hey, cfunge is slower than Language::Befunge on the two biggest fork.b98 < 1270565700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh read that as petrify < 1270565710 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, fork.b98 as in t? < 1270565711 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1270565722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I will argue that forking a lot is not realistic < 1270565732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :thus it is a pretty useless stats < 1270565742 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sure < 1270565753 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :most programs won't have more than 2 or 3 threads. I can't imagine anything with more than 50 say < 1270565798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, cfunge is optimised for expecting few threads. It only grows the thread list in very small chunks. Unlike the stack that is grown in chunks of 1024 elements iirc < 1270565824 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what I'm confused about is diagup/diagdown being efficient in cfunge < 1270565834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is that x to set a delta of 1,1? < 1270565857 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It uses x to do that, yes (what else?) < 1270565865 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh and if I implement another funge space, expect it to be a compile time option. < 1270565875 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you have to list 4 variants of cfunge next time ;P < 1270565888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, then it goes like 11x11x? diagonally < 1270565903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or what does it travel over < 1270565907 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :empty space? < 1270565908 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No? It travels over z < 1270565911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270565917 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"11x followed by the given number of z in a diagonal line." < 1270565930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well I don't know how you implement z... < 1270565939 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1270565948 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :sleep(1); return; < 1270565953 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sleep(1)? ;P < 1270565954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why < 1270565958 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course not :-D < 1270565961 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :har < 1270565994 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The problem is that CCBI doesn't handle loading of sparse files efficiently < 1270565997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how many decimals did you use for http://users.tkk.fi/~mniemenm/befunge/fungicide-rankings/diagdown.b98.html ? < 1270566001 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :more than is listed I assume < 1270566013 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :look at cfunge-32/64 ordering down ther < 1270566014 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there < 1270566016 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :gettimeofday() < 1270566020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on "Individuals" < 1270566024 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So microseconds, I guess < 1270566029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since the sorting shows more than what you list < 1270566046 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It really doesn't matter if the difference is that small :-P < 1270566059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, each is an average over how many runs? < 1270566077 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://users.tkk.fi/~mniemenm/befunge/fungicide.html#measurements < 1270566116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"First, the interpreter is run on a benchmark once and its time and memory use are measured. Memory usage is assumed to not vary, and thus it is measured only this one time per benchmark. " < 1270566117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1270566123 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how can it not vary? < 1270566130 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Why would it vary? < 1270566145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh you mean vary between runs, not vary during a run < 1270566154 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, of course :-D < 1270566176 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I suppose I could just always take the memory usage as the first value < 1270566183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, since cfunge sets up randomness at startup, presumably the code path to write it could look slightly different < 1270566198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so srandom(19847682764) vs. srandom(19847682372) < 1270566200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1270566202 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I also assume that that makes absolutely no difference < 1270566209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm wait < 1270566219 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think I use the microseconds from gettimeofday() < 1270566317 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the thing to do is to make it double fork and run the original process only for console IO < 1270566322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that should confuse your stuff ;P < 1270566342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also I notice you skipped efunge < 1270566343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how comes < 1270566345 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'll disqualify such an implementation for being abusive :-P < 1270566377 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"There have not yet been any release, first release (0.0.1) is expected in late October or early November (2008)." < 1270566389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, what does mmap() calls show up as in /proc/self/smaps ? heap? < 1270566399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1270566404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/self/pid/ < 1270566407 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'll be honest: I don't know. The numbers seemed representative so I went with them. < 1270566456 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also since cfunge mmap()s the input file I assume it will drop sharply once the file is loaded < 1270566531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what is up with plots/horizontal.b98/1000000/line-memtime.svg < 1270566557 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Something up? < 1270566572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes? < 1270566619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it looks weird for the lower one < 1270566620 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you mean the Rc/Funge-98 messing about, I've seen it do that elsewhere as well and I don't think the measurements are wrong < 1270566625 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270566642 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and why is the cfunge plot in plots/horizontal.b98/100000/line-memtime.svg discontinuous? < 1270566659 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it goes to almost zero at one point? < 1270566714 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know; that happens as well, with many interpreters; they start out high, then drop, then climb "normally" < 1270566718 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and uh plots/horizontal.b98/10000000/line-memtime.svg has two red lines at once? < 1270566726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :memory is no longer a function of time < 1270566736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since there is more than one value < 1270566743 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1270566755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there is a constant red line at the top < 1270566765 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and there is one normal one further down < 1270566768 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes; that's in all the plots < 1270566773 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah indeed < 1270566775 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It just marks the theoretical maximum < 1270566775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and why= < 1270566779 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I.e. the amount of memory in my system < 1270566782 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270566794 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The time ones have something similar, for the timeout of 10800 seconds < 1270566797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I thought it was ccbi1 :P < 1270566804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe some other way to mark it < 1270566806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :say dashed line < 1270566809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :would work better < 1270566828 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For some reason the SVG terminal in gnuplot doesn't use non-solid lines for the interpreters, it was better in postscript < 1270566828 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, did cfunge ever hit the timeout? < 1270566845 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You can see that in the main summary: no, it didn't < 1270566857 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :2318.5 seconds was the maximum for cfunge-32 < 1270566881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1270566889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and what about memory limits < 1270566893 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :plus the graphs on the main page < 1270566897 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :? < 1270566897 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I haven't figured them out < 1270566905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they make little sense < 1270566917 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :benchmarks completed -> time? < 1270566921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't make sense to me < 1270566934 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There's a textual explanation above, you know < 1270566936 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how is time a function of how many of the benchmarks were successfully completed? < 1270566942 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, read it, confused me even more < 1270566963 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's just the maximum time needed to complete that many benchmarks < 1270566965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"First a few cactus plots: the vertical axis displays the maximum amount of resources (time or memory) used to solve the corresponding number of benchmarks" <-- perhaps you mean "correspondingly numbered"? < 1270566972 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, I don't < 1270566978 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then I can't read it still < 1270566989 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh it is a sum? < 1270566996 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of the time up until then? < 1270567005 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, it's not cumulative, it's the maximum. :-P < 1270567016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1270567020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that makes NO sense < 1270567041 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you have ten benchmarks that take: 1 1 1 1 1 2 2 2 2 3 seconds, you'll get five dots at 1, four at 2, one at 3 seconds < 1270567052 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(With the x-coordinate increasing by one each time) < 1270567096 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270567106 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :See e.g. http://www.cril.univ-artois.fr/SAT09/results/timegraphs.php?idev=22 for a precedent, I didn't make this up ;-P < 1270567127 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so what if the ten benchmarks take: < 1270567135 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :1 1 1 1 1 2 2 2 3 3 2 < 1270567141 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Same thing < 1270567141 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or 11 I guess < 1270567148 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or wait, that's one more 3 < 1270567150 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But anyway < 1270567151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so you get three or two three dots? < 1270567152 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's sorted first < 1270567157 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :........... < 1270567165 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So that's equivalent to 1 1 1 1 1 2 2 2 2 3 3 < 1270567171 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that is useless for getting an overview of which ones are slow < 1270567185 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's meant for comparing the interpreters, not the benchmarks < 1270567195 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and didn't stinkhorn complete any btw? < 1270567198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1270567202 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :only a few < 1270567204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it looks like it < 1270567205 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :? < 1270567211 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1270567213 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is pyfunge < 1270567218 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so pyfunge crashed? < 1270567227 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :This is all explained in the text < 1270567232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which part < 1270567240 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"Note on misbehaviour" < 1270567276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :# CCBI 1.0.20 can’t handle fork.b98 past 4096 threads at all, crashing in some way. < 1270567278 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1270567279 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1270567287 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"in some way" == "I don't know" < 1270567290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, does it stop at the first one crashed? < 1270567297 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"it"? < 1270567301 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1270567307 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the diagram < 1270567319 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it seems cut short very early for ccbi if just the fork one failed < 1270567340 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You can see the number of benchmarks run in the table below < 1270567347 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :74 for most, 69 for CCBI 1, 42 for PyFunge < 1270567353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270567377 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, do the fork threads exit right away? < 1270567382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or do they continue to run? < 1270567388 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :They're all alive when the first one hits @ < 1270567409 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270567432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for the forks one, I think that simply tuning the realloc() growing size for threads would change it a lot < 1270567443 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Possibly < 1270567469 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://users.tkk.fi/~mniemenm/befunge/fungicide-rankings/fork.b98.html <-- why are there extra smaller diagrams? < 1270567470 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :CCBI just does a braindead append, leaving the GC to handle it (and everybody who's used D for a while knows that this is a good way to kill performance) < 1270567482 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There are no extra diagrams, they're all the same < 1270567491 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there are a lot of tiny ones at the end < 1270567494 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Why Firefox displays some as small, I do not know < 1270567499 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270567499 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Move your mouse over them < 1270567524 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, does nothing? < 1270567536 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For me it enlarges them if they're small :-P < 1270567553 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :reloading the page makes them large < 1270567555 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :View in a separate tab/window/program if they're problematic < 1270567563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw I found out I have to allow scripts if I want the svgs to show < 1270567575 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that blocks them < 1270567591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is silly, it noscript only blocks the scripts, not the whole page normally < 1270567597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so why should it be any different for svgs < 1270567604 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :only block the scripts in the svgs < 1270567610 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Shrug < 1270567635 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For me noscript displays a placeholder with its logo if it blocks them, so I thought that'd be obvious, sorry :-P < 1270567679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway I bet I could make a number of benchmarks where cfunge would be way faster :P < 1270567701 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi1 as the fastest one would have a hard time though < 1270567707 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl making food < 1270567726 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I've asked you for benchmarks three times over the past six months; IIRC you responded once saying that you didn't have any ideas < 1270567732 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So suffer ;-P < 1270568092 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think you mentioned life.bf once, but I couldn't be bothered to figure it out and adapt it into a benchmarkable form < 1270569592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well life.bf is useful < 1270569605 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and so is fungot's ^bf and ^ul < 1270569605 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: misc/ packages.scm < 1270569639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and what I do with life.bf is run it for 20 seconds. then kill it. Then check how large the output file is < 1270569649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :quite easy to benchmark < 1270569666 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I think I told you the command line I used before < 1270569683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it is very benchmarkable yes < 1270569695 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Changes there might even depend on the level of I/O buffering < 1270569704 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Which has nothing to do with performance < 1270569733 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, stdout redirected to something tends to become fully buffered < 1270569766 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Where the buffer size can vayr. < 1270569767 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :vary. < 1270569785 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Fungot seems to suggest using "misc/packages.scm", but I'm not sure how that'd work. < 1270569854 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Is there some sort of canonical brainfuck benchmark? You could run that on the ^bf interp, or some other Befunge-brainfuck. Not that that'd be very indicative of those mythical real-world workloads either. < 1270569856 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Preferably: replace the , with $ and set it up so that it stops after some (preferably easily changeable) number of iterations < 1270569875 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(But that's what I haven't bothered to do) < 1270569937 0 :Alex3012!~chatzilla@ool-18b989d3.dyn.optonline.net JOIN :#esoteric < 1270570429 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1270570598 0 :adam_d_!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1270571652 0 :lereah_!unknown@unknown.invalid QUIT :Quit: Leaving < 1270572142 0 :augur!unknown@unknown.invalid QUIT :*.net *.split < 1270572196 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270572198 0 :augur!unknown@unknown.invalid PART #esoteric :? < 1270572198 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270572456 0 :augur!unknown@unknown.invalid TOPIC #esoteric :History | News: 0 events tunes.org private sector in the beginning of Christ Foundation | http: / / / ~ 2 per year - and through Torah mandelstam. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1270572501 0 :augur_!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270572525 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :spot the difference. < 1270572576 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270573103 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, IO tests are interesting too < 1270573148 0 :adam_d__!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1270573149 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But try not to conflate it with non-IO. < 1270573318 0 :adam_d_!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1270573332 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm? < 1270573348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw: awk '{print $6}' /proc/*/maps | sort -n | uniq -c | grep -Ev '/usr/lib/.*\.so' indicates mapped files are shown not as heap < 1270573352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure about anon mmap < 1270573376 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I.e. if you're going to benchmark IO, try to benchmark only IO, not IO + something otherwise performance-intensive. < 1270573380 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there are also lines like: < 1270573382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/proc/8939/maps:7fab50ecf000-7fab50f2f000 rw-s 00000000 00:04 23592979 /SYSV00000000 (deleted) < 1270573383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/proc/9438/maps:7f1396aa0000-7f1396b00000 rw-s 00000000 00:04 23756833 /SYSV00000000 (deleted) < 1270573385 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :quite interesting < 1270573399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, btw for bf benchmark that mandelbrot in bf wasn't very fast iirc < 1270573403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it should be useful < 1270573415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in, extremely slow without optimising < 1270573423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and still slow with optimising compiler < 1270573460 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/proc/2407/maps-7f7165c88000-7f7165c89000 ---p 00000000 00:00 0 < 1270573460 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/proc/2407/maps-7f7165c89000-7f7166489000 rw-p 00000000 00:00 0 < 1270573465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :now those are some strange mappings < 1270573480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is - after since it was from grep -C < 1270573508 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and smaps is iirc the same, just with more info < 1270573512 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so harder to grep in < 1270573517 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it is not one entry per line < 1270573563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, looks like firefox mmap()s ~/.mozilla/firefox/profilename/extensions/{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}/chrome/adblockplus.jar and so on < 1270573566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for all the extensions < 1270573569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1270573606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw as far as I can tell erlang doesn't use the system heap < 1270573614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is zero in size < 1270573624 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it mmap()s areas and use those I think < 1270573641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so yeah testing efunge that way would require adjustments < 1270573681 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm /fairly/ sure that anon mmap() is included. < 1270573698 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd be very surprised if those programs all used only brk(), at least. < 1270573719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no, I'm pretty sure there isn't < 1270573726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :7f55b454e000-7f55b46e5000 rw-p 00000000 00:00 0 < 1270573726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :7f55b4762000-7f55b7f18000 rw-p 00000000 00:00 0 < 1270573726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :7f55b7f84000-7f55b8085000 rw-p 00000000 00:00 0 < 1270573726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :7f55b80f2000-7f55b8572000 rw-p 00000000 00:00 0 < 1270573729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :those are anon mmaps < 1270573732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as far as I can tell < 1270573745 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, because the way that erlang works, I can see how those varies < 1270573752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :both in number and in size < 1270573753 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when it runs < 1270573773 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I mean, included by my measurer: it doesn't grep over anything that looks like that IIRC < 1270573782 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(I.e. I don't really know what you're talking about) < 1270573826 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you said you added heap + stack from smaps iirc? < 1270573830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or did I misunderstood you? < 1270573842 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I didn't say anything, I wrote something on the web page < 1270573842 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :misunderstand* < 1270573847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well okay < 1270573862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but [heap] is brk() as far as I can tell in some simple tests < 1270573864 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :'Memory usage is measured using a Python script which repeatedly reads the /proc//smaps pseudofile, summing up any “Shared” and “Private” values.' < 1270573866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and anon mmaps are not there < 1270573891 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, Shared_Clean or Shared_Dirty? < 1270573900 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or both? < 1270573908 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Both < 1270573911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :both Shared and Private seems to be split into Clean/Dirty here < 1270573929 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Anything that starts with "Shared" or "Private" is summed < 1270573945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, due to COW and such on I'm not sure this is actually good < 1270573950 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you should look at the type of the object < 1270573952 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Neither am I < 1270573954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1270573956 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But it seemed representative < 1270573965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, like libc seems mapped more than once into some processes < 1270573967 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is weird < 1270573976 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait no < 1270573983 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :those are read/readonly/nx and so on < 1270574009 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Unless you have a full replacement solution ready or you can find something that would cause a significant mismeasurement I'm not fussed :-P < 1270574033 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well for one, erlang -smp would cause problems I think < 1270574056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me check < 1270574103 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah hm < 1270574129 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seems the threads go into /proc//task//smaps < 1270574149 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270574166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1270574175 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the thread specific stacks are gone from the main one it seems < 1270574182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :7f1106688000-7f1106699000 rw-p 00000000 00:00 0 [threadstack:0000fff0] < 1270574196 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or wait < 1270574234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well not sure < 1270574246 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :linux does seem to try to do something "reasonable" for phtreads apps < 1270574274 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is there any graph over which test took the longest for a given implementation? < 1270574286 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Like I want to see what else than t that cfunge was extremely slow at < 1270574294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if anything < 1270574344 0 :augur_!unknown@unknown.invalid QUIT :Ping timeout: 268 seconds < 1270574351 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh btw: < 1270574353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :// For concurrent funge: how many new IPs to allocate in one go? < 1270574353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#define ALLOCCHUNKSIZE 1 < 1270574357 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that explains a lot I think < 1270574358 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :How would one graph that? :-P < 1270574369 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, as a venn diagram! < 1270574372 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(not really) < 1270574373 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1270574390 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, was that >_< over the #define? < 1270574393 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270574397 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, the venn diagram < 1270574401 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But I suppose it works for that too < 1270574435 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It is soon AI competition time again; I get to invent new plots to draw about the games, yay. < 1270574441 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For finding the "worst" for anything, grab the preprocessed data and do some awk or something... < 1270574445 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'm not sure non-1 sizes will work properly < 1270574452 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have to check < 1270574461 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Some #define if only one value is ever correct :-D < 1270574463 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(ipList*)malloc(sizeof(ipList) + sizeof(instructionPointer[ALLOCCHUNKSIZE])) < 1270574467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I thought I fixed that code? < 1270574473 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(ais helped me figure it out) < 1270574484 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hint: instructionPointer is a *type* < 1270574521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, fizzie now one C nerd mark if you can tell me what it does and why it works. < 1270574538 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also, it confused no ends out of the static analyser sparse < 1270574562 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Isn't it just taking the sizeof of a static array? < 1270574568 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Seems rather trivial to me... < 1270574569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, not a static array no < 1270574576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but yes in that case < 1270574579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the other case was better < 1270574584 0 :adam_d__!unknown@unknown.invalid NICK :adam_d < 1270574599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there it was sizeof(instructionPointer[(*me)->size + ALLOCCHUNKSIZE]) < 1270574602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, :) < 1270574603 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I remember that VLA one... but I guess that should be equally obvious < 1270574604 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270574637 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why he cast the value of malloc() < 1270574644 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it isn't like this is C++... < 1270574681 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :uh, what did I just do... < 1270574685 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :recursive sshfs I think < 1270574775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, where was the link to the .xz tools now again? < 1270574788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because < 1270574793 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it isn't in repos < 1270574798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of ubuntu 9.04 it seems < 1270574803 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :O_o < 1270574813 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's in [core] in Arch < 1270574827 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You sure you don't have it already? < 1270574847 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Indeed, xz-utils only appears in karmic and lucid. < 1270574852 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'm on my laptop... < 1270574858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it has a better CPU < 1270574862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :way better one < 1270574865 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(C.f. http://packages.ubuntu.com/search?keywords=xz-utils&searchon=names&suite=all§ion=all) < 1270574885 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :meh *third level recurses ssfs to uncompress it* < 1270574901 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(since I mounted a different subtree before < 1270574903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :) < 1270574904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270574908 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: What do you decompress lzma with? < 1270574925 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, lzma -d ? < 1270574930 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Where lzma is from? < 1270574942 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :$ which lzma < 1270574943 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :/usr/bin/lzma -> /usr/bin/xz < 1270574946 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ lzma --help < 1270574947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lzma 4.32.0beta3 Copyright (C) 2006 Ville Koskinen < 1270574947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Based on LZMA SDK 4.43 Copyright (C) 1999-2006 Igor Pavlov < 1270574957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ file /usr/bin/lzma < 1270574957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/bin/lzma: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped < 1270574973 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Huh. < 1270574981 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Homepage: http://www.7-zip.org/sdk.htm < 1270574984 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :says apt-cache < 1270574989 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if I guessed the right package < 1270574990 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1270574998 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You did. < 1270575000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :got to do something other, more important, RL < 1270575012 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, with luck, that'll decompress it as well :-P < 1270575075 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :fis@eris:~$ apt-cache show $(dpkg-query -S $(which lzma) | cut -d ':' -f 1) | grep ^Homepage: < 1270575075 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Homepage: http://www.7-zip.org/sdk.htm < 1270575643 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :This Ubuntu lucid installation has xz-utils installed by default (depended by Gnome's file-roller thing), but it still won't overwrite /usr/bin/lzma with a symlink. (The "lzma" package has priority: required, and is therefore also installed.) < 1270575716 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1270576328 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so the xz file is just lzma? < 1270576352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks for the README on fungicide < 1270576366 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It might be different if xz does something different based on argv[0]... < 1270576404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, neither integrates into tar though, at least there seem to be no equiv to tar -z or tar -j for lzma here on ubuntu < 1270576419 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's GNU tar specific anyway < 1270576420 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The page about xz-utils did say that .xz is a newer container, even though the LZMA algo is still LZMA. < 1270576431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, true, but that is the tar I normally use < 1270576445 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And lucid's GNU tar has a -J flag for xz. < 1270576450 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : -J, --xz < 1270576450 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : filter the archive through xz < 1270576471 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And --lzma for lzma. And --lzop for lzop. < 1270576479 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Lzo too? Nice. < 1270576480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lzop? < 1270576482 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(The latter is yet another LZMA-based thing.) < 1270576500 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Isn't LZO completely different? < 1270576500 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right, lzop *was* LZO-based. < 1270576503 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, I can't figure out how to just run a timed test on forking < 1270576510 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I was just under the impression that lzop had a silly name. < 1270576519 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lzop is deliciously fast. < 1270576528 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, bad compression ratio iirc? < 1270576528 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You can comment stuff out from runs.dat with # < 1270576533 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But it was in fact so that lzop is based on LZO; it was *lzip* that was the yet another LZMA-based utility I was thinking of. < 1270576538 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Then make an interpreters.dat and use runallruns < 1270576541 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's certainly a number of them. < 1270576547 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Not too far from gzip, actually. < 1270576566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes but where do I run just the fork test. Like I need to run it under valgrind --tool=cachegrind < 1270576580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, (for small sizes only of course) < 1270576583 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: The nice thing about lzop, though, is tat it means your compression is likely IO bound. ; < 1270576587 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1270576595 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what about from ramdisks ;P < 1270576616 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(where small is something like mycology sized) < 1270576617 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Just set up an interpreters.dat with valgrind < 1270576639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that needs to be valgrind --tool=cachegrind --lots-of-other-parameters build_opt_dbg/cfunge < 1270576644 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270576647 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So do that? :-P < 1270576655 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You can use runone.pl directly too I guess < 1270576671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, okay, and where does that helper fungify need to be? < 1270576675 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :In path < 1270576683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and how does one compile it? < 1270576688 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ghc --make < 1270576696 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: The speed of LZO is approx. 1/6th that of memcpy. < 1270576700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, in the same dir as the .hs file? < 1270576702 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's all? < 1270576705 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ghc --make file.hs < 1270576709 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1270576720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fungify.hs:54:7: < 1270576720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Could not find module `Test.ChasingBottoms.TimeOut': < 1270576720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Use -v to see a list of the files searched for. < 1270576721 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, you need to have the dependencies installed, which you may or may not < 1270576722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, any clue? < 1270576731 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cabal install chasing-bottoms IIRC < 1270576741 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you lack cabal... blame your distro < 1270576763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bash: cabal: command not found < 1270576764 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1270576786 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nothing matching "chasing-bottoms" either < 1270576800 0 :cal153!~cal@c-69-181-46-213.hsd1.ca.comcast.net JOIN :#esoteric < 1270576826 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, if I compile it on another system, will it run on this one? < 1270576831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also what the heck is up with ghc on arch: < 1270576846 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If it's the same arch and dynamic library versions, it probably will < 1270576846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Targets (1): ghc-6.12.1-4 < 1270576847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Total Download Size: 54.21 MB < 1270576847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Total Installed Size: 665.06 MB < 1270576860 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's normal, isn't it? < 1270576861 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I have 6.8.2 on ubuntu < 1270576866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sigh < 1270576876 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Get cabal < 1270576878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, can you provide a static binary of it? < 1270576879 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :On your ubuntu < 1270576881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the file < 1270576882 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: x86-64 < 1270576887 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes that is fine < 1270576893 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is exactly what I need < 1270576899 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :tar.us.to:12345 < 1270576932 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lets try it < 1270576960 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :./fungify: error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory < 1270576961 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1270576966 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1270576971 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, doesn't it support static linking? < 1270576985 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :To GMP, I don't think so < 1270576988 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Since that would violate GPL < 1270576990 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :IIRC < 1270576995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1270577002 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hooray for GPL :-P < 1270577004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, wouldn't even using GMP at all do so then? < 1270577010 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, dynamic linking is fine < 1270577024 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Note: I can't remember but I think this was an issue once) < 1270577052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and how can I quickly check that it works. Just running it does nothing < 1270577061 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fungify 123 < 1270577078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION copied /usr/lib/libgmp.so.10 from another computer and is using LD_LIBRARY_PATH < 1270577084 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, '{ ? < 1270577094 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If it outputs something it probably works :-P < 1270577113 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right. what a mess though :P < 1270577162 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It was originally just meant for my own use but then it turned out to be very handy in fungicide < 1270577171 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there is no option to just generate the file? Since I know from experience that running valgrind with LD_LIBRARY_PATH will set will sometimes break all hell lose < 1270577204 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: If you use runone.pl directly it'll take the program as an argument (i.e. the generated file) < 1270577211 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270577260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Can't locate BSD/Resource.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./runone.pl line 6. < 1270577261 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1270577273 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Use the CPAN, Luke < 1270577290 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And if your distro doesn't have /that/, take it around the corner and shoot it :-P < 1270577295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is it BSD::Resources? < 1270577320 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah libbsd-resource-perl seems relevant < 1270577355 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why is there a libbsd-resource-perl-dbgsym I wonder... < 1270577390 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm it installs a *.so, right < 1270577441 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, okay this one is more confusing: < 1270577443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"make_path" is not exported by the File::Path module < 1270577443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : "remove_tree" is not exported by the File::Path module < 1270577454 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :File::Path *does* seem to be there < 1270577475 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Which version? < 1270577484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mine is 2.08 < 1270577495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh, trying to find out < 1270577504 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpani File::Path < 1270577507 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric : < 1270577535 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpan starts asking me questions instead < 1270577553 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Answer it? ;-P < 1270577566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I don't know them, about build dirs and such < 1270577580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway I don't want to end up with non-distro files in /usr < 1270577617 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Then set up some kind of site_perl in $HOME, which I would guess is possible < 1270577622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is it libfile-path-expand-perl ? < 1270577638 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it seems File::Path is built into perl? < 1270577639 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :How would I know? It is File::Path < 1270577644 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in, same package < 1270577661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :perl v5.10.0 btw < 1270577669 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :5.10.1 here < 1270577688 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Feel free to modify runone.pl if you think that'll be easier :-P < 1270577706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1270577713 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://search.cpan.org/~dland/File-Path-2.08/Path.pm < 1270577731 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/share/perl/5.10/File/Path.pm < 1270577732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wth < 1270577742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there is /usr/lib/perl and /usr/share/perl < 1270577744 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :INST_FILE /usr/share/perl5/site_perl/5.10.1/File/Path.pm < 1270577770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how wound one tell version from the *.pm file? < 1270577779 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know < 1270577786 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270577789 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :version is 2.04 < 1270577797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least it says $VERSION = '2.04' < 1270577809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/$/;/ < 1270577829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, bbl, have to rush, will be back in ~1 hour, 20 minutes < 1270577830 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I know very little Perl-the-language and practically none Perl-the-community apart from that CPAN typically works very well < 1270577903 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You also realize that you don't have to use any of the Fungicide scripts... I typically didn't when playing around with them, I just used time(1) < 1270577919 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :s/them/the benchmarks/ < 1270578032 0 :uorygl!unknown@unknown.invalid QUIT :Quit: leaving < 1270578142 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :make_path and remove_tree are File::Path's new names for mkpath and rmtree; they do much the same thing, but with a bit different arguments. < 1270578224 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :File::Path 2.04 is from 24 Nov 2007, that's not so new. According to its documentation -- http://search.cpan.org/~dland/File-Path-2.04/Path.pm -- it didn't yet have those new variants. < 1270578380 0 :charlls!~charlls@201.226.222.130 JOIN :#esoteric < 1270579100 0 :ehirdiphone!~ehirdipho@82.132.248.40 JOIN :#esoteric < 1270579113 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Teleparts of? Pseudo-dispatch time. < 1270579150 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yote. < 1270580500 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehirdiphone: How farest thou? < 1270580519 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Shitty. < 1270580544 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I need to figure out a way to code on this thing. < 1270580570 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jailbreak + terminal.app? < 1270580693 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :SSH over IRC? < 1270580716 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Ow < 1270580717 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Although I guess that's not on that thing specifically < 1270580914 0 :cheater2!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1270580925 0 :cheater2!~cheater@ip-80-226-206-102.vodafone-net.de JOIN :#esoteric < 1270581005 0 :charlesq__!~charlls@201.226.222.130 JOIN :#esoteric < 1270581017 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Well, the keyboard is an issue. < 1270581048 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :And considering my language preferences the lack of Greek letters ;-) < 1270581111 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric ::•) it can type €$¥• though < 1270581117 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Esy. < 1270581207 0 :charlls!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1270582016 0 :Gregor!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270582153 0 :charlls!~charlls@201.226.222.130 JOIN :#esoteric < 1270582212 0 :ehirdiphone!unknown@unknown.invalid QUIT :Quit: Get Colloquy for iPhone! http://mobile.colloquy.info < 1270582311 0 :charlesq__!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1270582338 0 :charlls!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270582345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh? I thought the scripts were there to generate something. Otherwise, why would that fungify be needed? < 1270582365 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1270582401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in fact I can't find any *,b98 files in there < 1270582407 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: The scripts in benchmarks/ generate the files run < 1270582412 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :They're all self-contained < 1270582423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270582424 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1270582439 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why not use y to get the the value on the command line? < 1270582474 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Too complicated :-P < 1270582481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, So I run something like: perl fork.b98.pl 123 > fork-123.b98? < 1270582487 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yep < 1270582501 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Note that for fork it has to be a power of two; not sure what'll happen if not < 1270582503 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I can't see where fork invokes fungify? < 1270582511 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :They don't /all/ need it < 1270582515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh? why? < 1270582526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1270582527 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Why would they all need it? :-P < 1270582528 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the power of two < 1270582532 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not the needing of the script < 1270582543 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Because it was easy to write it that way < 1270582564 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If it's not a power of two it'll probably behave as though it were rounded down to the next power of two... I think < 1270582570 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :s/next/previous/ < 1270582572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm the output size of the fork one grows one line per power of 2? < 1270582583 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, something like that < 1270582645 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, does language::befunge have some huge fixed overhead? Since it was way slower than cfunge until the 65536 graph < 1270582657 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course it does < 1270582658 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's in PERL < 1270582677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes but I would have expected a constant factor, not a constant term, which it what it looks like to me < 1270582686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe I'm too tired < 1270582697 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :been up for 15 hours now < 1270582698 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The plot is logarithmic, remember < 1270582709 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270582709 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(IIRC) < 1270582723 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I always disliked log plots. Don't know why. < 1270582732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe because they are so wooden? < 1270582741 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Har de har < 1270582794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh and I think that fork script rounds down to nearest power of two < 1270582798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least it looks like that < 1270582809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1270582812 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :round to nearest? < 1270582815 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that's what I guessed < 1270582822 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, nearest? < 1270582834 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd think it goes down but whatever < 1270582865 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no. It is inconsistent. 32767 and 32768 are same size, but 32769 is one larger < 1270582874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and isn't 32768 a power of two? < 1270582881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so rounds upwards < 1270582885 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not downwards < 1270582889 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Alright < 1270582895 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION *is* tired < 1270582901 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that actually makes sense < 1270583056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, okay, so the thing to do is to grow it by 2^16 bytes each time right? ;P < 1270583061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that will lead to few reallocs < 1270583075 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or maybe 2^24 < 1270583079 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :even fewer reallocations < 1270583098 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You're hopeless, you know that? :-P < 1270583107 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you know I'm joking right < 1270583108 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :? < 1270583116 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1270583160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I may allow all these as user tunables btw < 1270583198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and then suggest in README that "for optimal performance, these tunables should be carefully tested and optimised for your needs" or such < 1270583340 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what do you think about that? < 1270583369 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Go ahead? Nobody will tune them :-P < 1270583381 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you know iirc ATLAS does something like that < 1270583391 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/ow/ow,/ < 1270583469 0 :ehirdiphone!~ehirdipho@82.132.139.145 JOIN :#esoteric < 1270583621 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how many IPs does ccbi allocate in one go? < 1270583638 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :2010-04-06 17:24:06 ( Deewiant) CCBI just does a braindead append, leaving the GC to handle it (and everybody who's used D for a while knows that this is a good way to kill performance) < 1270583648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh I thought that was CCBI1? < 1270583655 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Didn't change it in 2 < 1270583660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270583675 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is that a linked list? < 1270583682 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Nah, array < 1270583696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, high level array that might allocate in chunks internally? < 1270583741 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, the builtin array that does whatever and in practice does something poor < 1270583762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270583809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well strange, allocating 32 ips per chunk doesn't change the time very much < 1270583831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :about 10 seconds, from 3 minutes, 13 seconds, to 3 minutes, 2 seconds < 1270583834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1270584166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also wtf at cpufreq-info: < 1270584168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : current policy: frequency should be within 800 MHz and 1.60 GHz. < 1270584170 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I can't change it < 1270584178 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in, changing seems to work but does nothing < 1270584625 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, Wait, do you append the ip even if it isn't the last one that is forking? < 1270584630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how would that work < 1270584640 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I memmove it to the right place < 1270584661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think I found the issue, and that I need to reverse the order I traverse the ip list in < 1270584696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270584971 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, do you memmove to delete an IP in the middle too? < 1270584980 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah IIRC < 1270585016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270585179 0 :tombom_!tombom@wikipedia/Tombomp JOIN :#esoteric < 1270585244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, okay the issue seems to be the code that basically does memmov < 1270585253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, do your list only contain pointers to IPs or such? < 1270585258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that could explain it somewhat < 1270585279 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it does < 1270585282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1270585316 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, on the basis that for the normal use case I reduce fragmentation and increase locality of reference I store them inline in the list < 1270585322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course, that backfires for this weird case < 1270585333 0 :tombom!unknown@unknown.invalid QUIT :Ping timeout: 268 seconds < 1270585346 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, because for smaller cases I found it was faster than storing a list of pointers < 1270585359 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :How big is one of your IPs? < 1270585371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, not sure on the top of my head < 1270585373 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me check < 1270585377 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1270585378 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :s/on/off/ < 1270585437 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1270585451 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :680 bytes according to gdb < 1270585467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :most is due to the array of fingerprint stacks being inline in the IPs < 1270585471 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :gtg, bye! < 1270585473 0 :ehirdiphone!unknown@unknown.invalid QUIT :Quit: Get Colloquy for iPhone! http://mobile.colloquy.info < 1270585496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, this works very well when we have a "realistic" number of IPs. Which would be something less than 10. < 1270585515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe I will provide a compile time option for another variant < 1270585545 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So 85 pointers' worth; moving that around will obviously be more expensive, yes < 1270585566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, for most programs the locality of reference wins over that easily. < 1270585582 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I would say that this is a non-realistic test case anyway. < 1270585639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it would have been smaller if only you would have let HRTI have a global state, and SUBR being relative also being global < 1270585666 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :those add 9 bytes in total (1 x pointer to HRTI data + 1 x bool for SUBR being relative) < 1270585693 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so yeah, I'm going to make a "stupidly large" variant a compile time option < 1270585734 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You don't have to win on every stupid benchmark :- < 1270585734 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :P < 1270585749 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, sure I do. If I make a better funge space it will also be an option < 1270585844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so that gives 2^3 options (32/64, model1/model2 funge space [note: need to think of good names for them], normal/super-sized-benchmark IP list model) < 1270585846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so far < 1270585871 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm not going to test every silly variant :-P < 1270585880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, drop 64-bit cells then < 1270585911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that one is always slower, or at least same speed. Sure it sorted above in one table, but both showed same value there, so probably not statistically significant < 1270585912 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd rather drop 32-bit ones < 1270585917 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why? < 1270585925 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's a 64-bit machine... < 1270585933 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but 32-bit *cells* are faster < 1270585937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :quite obviously < 1270585978 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The difference is small enough that I don't really care < 1270585990 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ bzr branch trunk alt_ip_list < 1270586012 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hey, in one place it was cfunge-32 - stinkhorn - cfunge-64 iirc < 1270586027 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So improve cfunge, not my problem ;-P < 1270586045 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I could make 32-bit cells default, and hide 64-bit on the advanced page or such < 1270586099 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :only reason 32-bit isn't default is to make funge programmers aware of that they can't assume 32-bit in their programs < 1270586162 0 :Gracenotes!unknown@unknown.invalid QUIT :Quit: Leaving < 1270586192 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Clearly you should use 8 bit cells and assembly. < 1270586216 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(so you can use ah, al, and friends) < 1270586233 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ah is slow, don't use that. < 1270586332 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, funge-98 requires 32-bit or more < 1270586359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the text on http://users.tkk.fi/~mniemenm/befunge/mycology.html seems outdated < 1270586385 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Whoops, forgot to change the year < 1270586387 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Anything else? < 1270586396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, don't know, is the file the current one? < 1270586403 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Should be < 1270586405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the zip to be specific < 1270586414 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Fine, fine. Do it on a 32-bit Brainfuck then. < 1270586446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, yes that is what I use for speed testing < 1270586456 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah, good. < 1270586497 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, about mycology 3DSP test: "Loaded and unloaded FPSP, assuming it and its F and P commands will work from now on..." < 1270586499 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1270586503 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :after you unloaded it? < 1270586510 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1270586518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, typo? < 1270586522 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No < 1270586526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then what does it mean < 1270586528 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1270586531 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It means that it assumes FPSP works < 1270586532 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I can't make sense out of it < 1270586533 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hi ais523 < 1270586543 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1270586547 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It has successfully loaded and unloaded FPSP but didn't test any further < 1270586548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what happens if FPSP is not implemented then? < 1270586555 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably it reflects on loading < 1270586556 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Then it shouldn't have loaded it < 1270586565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and then will it skip the 3DSP test? < 1270586569 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1270586575 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1270587309 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1270587411 0 :charlls!~charlls@201.226.222.130 JOIN :#esoteric < 1270587473 0 :charlesq__!~charlls@201.226.222.130 JOIN :#esoteric < 1270587473 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I might have to switch to a kernel-like make menuconfig soon ;) < 1270587716 0 :charlls!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1270588478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw will use my memory pool infrastructure for the large model IP list < 1270588489 0 :adu!unknown@unknown.invalid QUIT :Quit: adu < 1270589041 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1270590321 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, real 0m0.699s < 1270590331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for that fork test (not largest one) < 1270590342 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Parameter? < 1270590351 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Compare to stinkhorn, it's the fastest on those < 1270590358 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me grep shell history < 1270590370 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also note this runs on a 2.26 GHz Core 2 Duo < 1270590370 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Just wc -l the file :-P < 1270590383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, 17 < 1270590399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so 2^16 I guess < 1270590404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since the last line has no forks < 1270590407 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, presumably < 1270590427 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or what about trailing newline? < 1270590428 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1270590442 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :wc -l doesn't count that < 1270590443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, I don't have stinkhorn around < 1270590448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so can't compare < 1270590463 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So obtain it? :-P < 1270590468 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I allocate 4096 IPs in each chunk. < 1270590474 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, link? I'm lazy < 1270590474 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1270590485 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :code.google.com/p/stinkhorn IIRC < 1270590516 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And since building it is such a complicated task: find src -name "*.cpp" -not -ipath "*tests/*" -not -ipath "*win32*" | xargs g++ -o stinkhorn -O3 -march=native -DNDEBUG -fpermissive < 1270590546 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I know that's a lot of IPs... This happens because of that the memory pool code was originally tuned for hash funge space < 1270590553 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, wth < 1270590562 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why not a makefile, or even a build.sh < 1270590576 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That is my build.sh for it :-P < 1270590610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, there should be one there < 1270590618 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It has a VS solution and project file but you probably don't care about those < 1270590620 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what does -fpermissive do? < 1270590627 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Make it build < 1270590635 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1270590650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it errors < 1270590654 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :-fignore-errors-just-compile < 1270590657 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me pastebin < 1270590668 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because it is a HUGE C++ error < 1270590670 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, one diff < 1270590674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also it hasn't finished yet < 1270590676 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh? < 1270590683 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :src/interpreter.cpp line 111, I think < 1270590687 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Change const_iterator to iterator < 1270590710 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, chhm < 1270590712 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm* < 1270590718 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no compile errors so far < 1270590738 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but why does it swap trash... < 1270590757 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh wait, building all in one go. Bad idea. Per object file is better < 1270590784 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you do it that way for stinkhorn you should gcc -combine and such for cfunge as well ;P < 1270590811 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cfunge has a build system, which I use: your problem if it's not optimal < 1270590864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270590906 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I will write some "profile feedback" build scripts :P < 1270590907 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1270590945 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270590971 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270591238 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, some testing indicates stinkhorn has a faster setup time than cfunge. While the difference is near none for large cases < 1270591253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the break-even seems to be around 2^17 threads or so < 1270591272 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or perhaps 2^18 < 1270591312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't seem statistically significant at 2^18 though. Sometimes one is slightly faster, sometimes the other < 1270591312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1270591378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and then stinkhorn is faster again for a bit, strange < 1270591388 0 :Gregor!~gregor@65.183.185.22 JOIN :#esoteric < 1270591397 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I believe some code could possibly be tuned < 1270591418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh I know < 1270591429 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I set the pointer array realloc size to 1 again for testing something < 1270591463 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Statically. Allocate. Everything. :P < 1270591478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, a bit hard :P < 1270591490 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :IP ips[1 << 20]; < 1270591548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :har < 1270591561 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well the chunk here was for the list of pointers in this case < 1270591584 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway, growing it with 256 at a time seems to give pretty much the optimum < 1270591724 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yeah, but it'll mean no need to link against malloc! < 1270591835 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, ... har? < 1270592040 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh, stinkhorn doesn't use exact bounds < 1270592045 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that explains some of the speed I guess < 1270592146 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also: how the fuck did stinkhorn manage http://users.tkk.fi/~mniemenm/befunge/mycology-output/concurrency/stinkhorn.txt < 1270592188 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Easily, CCBI used to do that at some (hopefully never released) points < 1270592201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how? < 1270592210 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Basically: handle markers for all IPs before executing any instructions < 1270592210 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it ran lots of spaces before < 1270592216 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh I see < 1270592221 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Then get screwed if one gets p'd on top of you < 1270592223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge handles it the same way as instructions < 1270592224 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1270592250 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just with a "continue with this IP after" flag < 1270592285 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm maybe I should rewrite that, possibly checking that flag every time we call execute_instruction has some severe overhead < 1270592297 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there is an obvious alternative of course < 1270592323 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Most likely your CPU can branch-predict well enough that the difference for most code is negligible < 1270592344 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, it would need to do that after it returned to main loop < 1270592354 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I doubt it can actually know which one will happen this time very well < 1270592453 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1270592624 0 :tombom__!tombom@82.2.73.142 JOIN :#esoteric < 1270592678 0 :tombom__!unknown@unknown.invalid QUIT :Client Quit < 1270592680 0 :tombom_!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1270592689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers the next cfunge version number. < 1270592710 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what about 02010.04 or such? < 1270592719 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Why? < 1270592724 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :long now < 1270592838 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :as in, april 2010? < 1270592857 0 :MigoMipo!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1270592876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you didn't add efunge to mycology results I see? < 1270592885 0 :MigoMipo!~migomipo@84-217-13-224.tn.glocalnet.net JOIN :#esoteric < 1270592894 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :2010-04-06 17:05:53 ( Deewiant) "There have not yet been any release, first release (0.0.1) is expected in late October or early November (2008)." < 1270592900 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I will remove that message < 1270592913 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Make a release instead :-P < 1270592924 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no time now. < 1270593038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, see that page now :P < 1270593066 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Still says the same thing, sorry :-P < 1270593070 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://www.ohloh.net/p/efunge < 1270593073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh there < 1270593076 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I was on launchpad < 1270593141 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, now it doesn't any more < 1270593268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw I see overall stinkhorn was slower than cfunge? < 1270593279 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :by quite a bit < 1270593281 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mostly due to the stack, I think < 1270593297 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh? what does stinkhorn do with the stack? < 1270593307 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know, I don't delve into sources < 1270593316 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, then why do you think it is it? < 1270593342 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Because it loses very badly in y-rep-n < 1270593352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and wth do you do with your stack: http://users.tkk.fi/~mniemenm/befunge/fungicide-rankings/pushpop.b98.html ? < 1270593395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that looks like cheating. I just don't find it plausible < 1270593412 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You'll notice the timings behave almost exactly like the ones of horizontal.b98 < 1270593421 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I.e. it's the file that's the bottleneck, really. < 1270593427 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1270593435 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the file loading?! < 1270593445 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not the loading necessarily < 1270593449 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But just traversing it < 1270593454 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It is 10 million cells, after all < 1270593458 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :" Not the loading necessarily"? < 1270593465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in you load lazily? < 1270593476 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No... < 1270593479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1270593480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :misread it < 1270593552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so basically you manage so well because of your funge space? < 1270593564 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Most likely, yes < 1270593572 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But having a non-shitty stack helps as well (c.f. stinkhorn) < 1270593588 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what does y-rep-n do? < 1270593600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ynynyn forever? < 1270593606 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :y-repeatedly-then-n < 1270593606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1270593609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270593615 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and yn-rep is what I said? < 1270593618 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1270593628 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Note stinkhorn's total time for all benchmarks is 12888.2 < 1270593635 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Its time for y-rep-n is 12236.0 < 1270593639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1270593650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ideas: n pops each element? Or it shrinks the allocated stack? < 1270593650 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cfunge's is 1.0 / 1.8 (32 / 64 bits) < 1270593657 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So if we exclude that < 1270593676 0 :cheater2!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1270593679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then stinkhorn isn't too bad < 1270593685 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :stinkhorn is about 5.6 times as fast as cfunge-32 < 1270593695 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1270593706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it doesn't pass mycology and doesn't do exact bounds < 1270593714 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :without exact bounds cfunge is quite a bit faster < 1270593736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you shouldn't compare apples and pears < 1270593736 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Right, it is a bit nonconforming. < 1270593751 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cfunge won't be six times faster without exact bounds :-P < 1270593803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, more like 150% faster. And sometimes much more (if you write spaces to your "edges") < 1270593864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, stinkhorn seems to be missing from last y-rep-n graph? < 1270593880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :even though it presumably ran for most of that < 1270593883 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :before it timed out < 1270593884 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :timeouts are missing, I don't know why < 1270593908 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Noticed it pretty late and haven't looked into it yet < 1270593928 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The data should be there, the plotter is just failing. < 1270593948 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the ccbi2 0.07 vs. 0.10 for cfunge is probably due to startup overhead for cfunge < 1270593965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I noticed all the memory pools and such does have a constant overhead for very short running programs < 1270593968 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Don't bother comparing times below one second. < 1270593975 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Seriously, just don't. :-P < 1270593978 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1270593987 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I want to be first on the list again you see. < 1270593994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I'm going to make sure I am < 1270594005 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1270594018 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, maybe not for every test < 1270594026 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'll make sure you never are; I'll delay updating the rankings just long enough for CCBI to be in the lead again ;-) < 1270594043 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, was the main overhead for cfunge that fork test? < 1270594051 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that isn't fair you see < 1270594078 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It may've been, I can't remember < 1270594079 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1270594108 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's what the cactus plots are for: you can see that there are only a few benchmarks where cfunge takes a noticeable hit < 1270594123 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I wonder why I was so fast at diagdown... < 1270594126 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And in the zoomed-in one you can tell that the difference isn't really that big < 1270594143 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's not you being fast, it's me being slow < 1270594186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why are you slow at it then? < 1270594212 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :A diagonal line is the worst case for an AABB < 1270594218 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway the thing to do is to expand static area to fill most of that ;) < 1270594224 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm. Sparse matrix? < 1270594238 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :? < 1270594245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it is basically the shape of an identity matrix < 1270594253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aren't there fast ways for such iirc? < 1270594277 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also: hollow-square < 1270594278 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's assuming sparse data, which won't usually be the case < 1270594280 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm fast at that too < 1270594293 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :s/I'm fast/You're slow/, and yes, I know. < 1270594302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how comes that time? < 1270594308 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Same thing. < 1270594316 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it isn't diagonal though? < 1270594329 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's still a mostly empty box. < 1270594337 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well yes < 1270594371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, idea: require a statistical analysis file to be pre-generated < 1270594378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that selects algorithm < 1270594384 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1270594396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and since it must be pre-generated, it shouldn't be counted to the running time < 1270594403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it would be a one-time thing for most programs < 1270594432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I was inspired by db engines analysers here < 1270594447 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Fortunately Funge interpreters aren't DB engines < 1270594459 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why do you do so well at filled square? is all of that square executed? < 1270594471 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it is < 1270594474 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1270594496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :horizontal-p? how does that differ from horizontal? < 1270594502 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Read.the.page. < 1270594533 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the results one? < 1270594557 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, that describes the results, not the benchmarks themselves < 1270594584 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm diagdown-p, why are you faster at that one? < 1270594601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't think initial file loading is *that* much more efficient < 1270594613 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Beats me < 1270594660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also amusing that rcfunge2 uses more ram for diagup-p at 5000 than at 10000 < 1270594697 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :When the runtime is that small it's just a case of the measurer missing it < 1270594710 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270594716 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, try with massif instead < 1270594720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you can't miss it that way < 1270594727 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course you can't profile speed either < 1270594731 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And take a 100x performance hit? No thanks < 1270594736 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :These things can take hours as-is < 1270594740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it is useful for the "runtime is too short" cases < 1270594744 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you only need to use it for them < 1270594754 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And I'd be measuring different things < 1270594763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well what about additional info then? < 1270594764 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :One uses /proc/smaps, the other massif < 1270594770 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't matter < 1270594785 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Like said, just forget about any differences when the time is less than a second :-P < 1270594797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, be happy I didn't continue with bashfunge. You couldn't have profiled it easily, since it invoked awk and sed and what not quite often iirc < 1270594810 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and subshells < 1270594816 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd've just said "counts aren't accurate" :-P < 1270594819 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1270594844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'm tempted to make an interpreter using sqlite with a disk db for the funge space or such < 1270594850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just to mess up the memory stats < 1270594905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway I'm not 15x slower than you if we exclude the forks case < 1270594925 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Correct < 1270594932 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how much slower am I then? < 1270594941 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know < 1270594950 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Subtract and divide, it's not difficult :-P < 1270594977 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I hope your funge space code is well commented < 1270594984 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I can learn what the hell you do < 1270594990 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I hope it isn't < 1270594994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1270595012 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :TBH I trust that it's complicated enough that you won't be able to rip it easily < 1270595030 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you do succeed, good on ya then I guess :-P < 1270595037 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wc -l space/*.d < 1270595037 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : 3245 total < 1270595039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is < 1270595051 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's up from maybe a tenth of that previously < 1270595054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like more than 1/3 of cfunge size < 1270595070 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc cfunge is ~9000 lines of code < 1270595078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or maybe 1000, something like that < 1270595082 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1270595083 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :10000 < 1270595086 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1270595148 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1270595165 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh *~ files < 1270595168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that explains it < 1270595188 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Language Files Code Comment Comment % Blank Total < 1270595189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :---------------- ----- --------- --------- --------- --------- --------- < 1270595189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Total 112 11941 4914 29.2% 2291 19146 < 1270595193 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :$ wc -l cfunge/trunk/src/**/*.[ch] | tail -n1 < 1270595193 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric : 14092 total < 1270595198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :vs, < 1270595200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Language Files Code Comment Comment % Blank Total < 1270595200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :---------------- ----- --------- --------- --------- --------- --------- < 1270595200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :dmd 61 10462 1833 14.9% 2573 14868 < 1270595203 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1270595209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you forgot lib < 1270595211 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but yeah < 1270595217 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lib should be semi-counted only < 1270595217 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :lib isn't your code is it/ < 1270595218 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :? < 1270595229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it isn't mine originally, apart from the mempool stuff < 1270595237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and some of it is heavily modified < 1270595256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but yes, without lib: < 1270595258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Total 98 9052 3546 28.1% 1609 14207 < 1270595269 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :$ wc -l ccbi/src/**/*.d | tail -n1 < 1270595270 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric : 15249 total < 1270595283 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see, more than mine < 1270595285 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and the C wrappers < 1270595287 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :$ wc -l ccbi/src/**/*.[dc] | tail -n1 < 1270595287 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric : 15425 total < 1270595299 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ? < 1270595306 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they aren't here? < 1270595306 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :NCRS and REXP < 1270595319 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :are they generated? < 1270595325 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :They should be in src/ < 1270595328 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or is the ccbi zip file outdated? < 1270595331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh there < 1270595334 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :didn't saw them < 1270595335 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1270595336 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :looked in ccbi/ < 1270595345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw the mempool stuff: Total 3 240 151 38.6% 71 462 < 1270595374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but to be fair some of that includes other files with different defines multiple times < 1270595384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure how to count that ;) < 1270595403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(yeah, C lacks templates, sometimes they would be useful) < 1270595405 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :$ wc -l space.d < 1270595405 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :125 space.d < 1270595408 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :CCBI 1.0.2) < 1270595409 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :20* < 1270595419 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1270595425 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So yeah, 25x bump there < 1270595437 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, when do you switch to hash fallback? < 1270595457 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :When there're too many boxes < 1270595475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah, so it is basically like a number of static funge spaces that you create in various places? < 1270595475 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1270595485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :based on some heuristic? < 1270595521 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sounds maybe about right < 1270595569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, clever, and sounds like it contain plenty of more or less randomly selected constants that have to be fine tuned < 1270595580 0 :cheater2!~cheater@ip-80-226-206-102.vodafone-net.de JOIN :#esoteric < 1270595590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lots of fudge factors basically < 1270595663 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yep < 1270595668 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I haven't tuned them at all < 1270595668 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :do you grow AABBs btw? < 1270595677 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/aforteforpiano/12f.ogg < 1270595709 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, bad soundfont? < 1270595720 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Perfectly good soundfont. < 1270595724 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :weird < 1270595727 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sounds like a bad mic < 1270595734 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1270595750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, also I didn't like that one very much. Not my type of music. < 1270595758 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1270595771 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That's me practicing Chopin for an hour, compressed into one minute :P < 1270595778 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, hah < 1270595785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, so no soundfont then? < 1270595800 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Steinway_IMIS2.2 < 1270595802 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1270595809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so midi recording right < 1270595815 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Zzz -> < 1270595817 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Digital piano + ridiculously fast MIDI playback = lawlz < 1270595828 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :fluidsynth + ridiculously fast MIDI playback = OK :P < 1270595832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, heh < 1270595834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, cya < 1270595846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, how do you mean "lawlz"? < 1270595866 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :My digital piano gets all flustered when you send it MIDI data too fast. < 1270595881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :flustered? < 1270595931 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :sounds anthropomorphic < 1270595939 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I've got to restrict my English a bit X-D < 1270595942 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :`define flustered < 1270595949 0 :charlesq__!unknown@unknown.invalid QUIT :Quit: Saliendo < 1270595957 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :* thrown into a state of agitated confusion; (`rattled' is an informal term) \ [13]wordnetweb.princeton.edu/perl/webwn \ * Confused, befuddled, in a state of panic by having become overwrought with confusion < 1270595989 0 :poiuy_qwert!~poiuy_qwe@CPE001b115db0ae-CM0018c0c24ffc.cpe.net.cable.rogers.com JOIN :#esoteric < 1270596002 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, perhaps 'virrigt', but that doesn't imply the same kind of agitation < 1270596084 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :bah, deprecate swedish and teach everyone english, this language is too insignificant to motivate keeping it alive < 1270596112 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Swedish is your native language, innit? :P < 1270596121 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it is < 1270596274 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That is now a Facebook post with every Swedish friend of mine tagged :P < 1270596302 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1270596389 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ANYwho, specifically it drops a bunch of notes and actually occasionally plays the WRONG note when you send it MIDI data too fast. It also drops pedal-offs, so it'll sometimes get stuck in pedal mode. < 1270596395 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :This is only when you send it data crazy-fast, mind. < 1270596434 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :doesn't MIDI define ways to cope with devices with limited data rates? are you exceeding the specs? < 1270596446 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270596454 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Idonno, aplaymidi is doing whatever aplaymidi does :P < 1270596477 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :But like I said, this is only crazy-fast, e.g. http://codu.org/aforteforpiano/12f.ogg < 1270596666 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :could be on the aplaymidi side though, filling up an input buffer or whatnot < 1270597118 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :otoh, at 30kbit (which midi appears to be using) you should still be able to send several hundred notes per second