< 1161044267 0 :kipple_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1161044624 0 :GregorR-L!unknown@unknown.invalid QUIT :"Leaving" < 1161045982 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1161046371 0 :Asztal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1161047536 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1161051242 0 :GregorR-L!n=GregorR-@host-225-127.dhcp.pdx.edu JOIN :#esoteric < 1161051355 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders how he can get divmod to work. . . < 1161051371 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks he just may have done exactly that < 1161051380 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :just one last test < 1161051424 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok, i found two bugs. < 1161051438 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1. there is no set mod 0 at the beginning < 1161051492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :2. there is no set temp2 0 to get out of the temp2 loop when temp1 happens to be 0. The latter happens with 10/10 which you mentioned in the logs. < 1161051556 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh, and in the tarball bfm.tcl there is one $:location that should be $::location or something. < 1161051606 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with these changes i managed to get 10/10, 11/10, 0/10 and 1/10 to work. < 1161051847 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Whoohoo! < 1161051859 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is in retard mod. XD < 1161051861 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :mode < 1161051892 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :3rd bug is fixed in my local copy, BTW. < 1161052055 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i suspected so as otherwise you would have problems running at all... < 1161052377 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now, itoa.bfm works. < 1161052394 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now to fix basm.bfm, so that *it* gets the job done right. . . < 1161053495 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which it does. < 1161053541 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Unfortunately, *somewhere*, the optimization routine is breaking things; need to find it. < 1161053815 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION becomes somewhat glad that he made optimization optional ;) < 1161054227 0 :bsmntbom1dood!n=gavin@ppp-70-251-151-218.dsl.rcsntx.swbell.net JOIN :#esoteric < 1161054227 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i suspect that is usually a wise choice < 1161054296 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm starting to become convinced the issue is in itoa. . . < 1161054386 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Nick collision from services. < 1161054399 0 :bsmntbom1dood!unknown@unknown.invalid NICK :bsmntbombdood < 1161054409 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it is. < 1161054420 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Somewhere, it's removing a needed cell clear. < 1161054492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :suggestion: make a debug mode for the optimiser, where it inserts information about what it has removed. < 1161054560 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Agreed; that could be a *very* good idea. < 1161054560 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, even more: make it insert runtime tests < 1161054564 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I've fixed itoa, BTW. < 1161054600 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Even better: make the optimization perfect. < 1161054618 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :instead of removing a [-], changing it into [complain and die] < 1161054648 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not necessarily better, since it will probably be broken again. < 1161055079 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :As the ultimate test, I should probably compile LostKng.b with basm.b. . . < 1161055174 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :perhaps. for the time being, have you tried compiling basm.b with basm.b? < 1161055245 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Good idea. < 1161055489 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :After some bug fixing, it works. < 1161055517 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(outputting numbers in reverse order) < 1161055569 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I could probably make this much shorter just by some judicious memory rearrangement. . . < 1161055704 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Although, by necessity, it's always going to be a little bit long. . . < 1161056023 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1161056206 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's broken on LostKng.b < 1161056944 0 :RodgerTheCodin!unknown@unknown.invalid NICK :RodgerTheGrear < 1161056951 0 :RodgerTheGrear!unknown@unknown.invalid NICK :RodgerTheGreat < 1161056971 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :At least it works right on itself. . . :p < 1161057010 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Probably some minor little quirk with handling large amounts of pointer movement. . . < 1161057089 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :are you storing the length of >>>>>>>> runs in single cells? < 1161057107 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1161057160 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Needn't worry for things like ++++ and ----; cells wrap in this implementation. < 1161057180 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The >>>> and <<<< bit. . . Yeah, that could use some work. < 1161057228 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think LostKng.b is the only program I'll run into that issue with. < 1161057258 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you might run into it with large BFM generated programs. < 1161057270 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :more than 256 variables. < 1161057435 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Large, inefficiently written ones. < 1161057465 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But then, most large ones are inefficient. . . :p < 1161057528 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just for the record, basm.bfm is probably the largest BFM generated program out there. < 1161057658 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :one would expect a "decent" bf compiler to optimize away simple inefficiencies such as long runs and cell moving/copying < 1161057666 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Scratch that: basm.bfm is *undoubtedly* the largest BFM generated program. < 1161057688 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how big is it? < 1161057704 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :17764 characters compiled, according to wc. < 1161057757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but it probably does not have 256 variables, or it would be terrible to write. < 1161057766 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :704 lines of code. < 1161057787 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's got more lines than bfm.tcl. XD < 1161057804 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BTW, it has 174 variables. . . < 1161057838 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sounds pretty terrible already < 1161057852 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Most of which are in hardcoded strings in strings.cur.bfm (p+=, p-=, the whole string of stuff to start the C program off. . .). < 1161057887 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It'd get even more terrible if I started to set those strings in an optimized manner (strings.cur.bfm just does large strings of "++++".). < 1161058068 0 :bsmntbom1dood!n=gavin@ppp-70-251-151-218.dsl.rcsntx.swbell.net JOIN :#esoteric < 1161058368 0 :dbc!n=dbc@130-94-161-238-dsl.hevanet.com JOIN :#esoteric < 1161058384 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://pikhq.nonlogic.org/basm.b < 1161058701 0 :pikhq!unknown@unknown.invalid QUIT :"Lost terminal" < 1161058720 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Software Title Qty Item Price/Unit Total < 1161058722 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Visual Studio 2005 Professional Edition CD1 1 Download £0.00 GBP £0.00 GBP < 1161058723 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Visual Studio 2005 Professional Edition CD2 1 Download £0.00 GBP £0.00 GBP < 1161058725 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Windows XP Professional with SP2 (Single User) ISO Image 1 Download £0.00 GBP £0.00 GBP < 1161058726 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Total for this order £0.00 GBP < 1161058727 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1161058729 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Excellent. < 1161059163 0 :pikhq!n=pikhq@67-21-19-37.clspco.adelphia.net JOIN :#esoteric < 1161059295 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :[<<+<,>>>[-]<<<[ < 1161059311 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :(looking at this) < 1161059361 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :seems a bit inefficient < 1161059402 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :[[-]<<+<,[ being equivalent < 1161059454 0 :GregorR-L!unknown@unknown.invalid QUIT :Read error: 148 (No route to host) < 1161059578 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :and I thought I was slightly insane < 1161059641 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :we all are insane here. what's the matter? < 1161059756 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :I'm sorry, it's just that from here it's like you speak fluent brainfuck < 1161059933 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now _that_ is quite normal. to get my certificate of insanity, i had to write an unlambda interpreter in INTERCAL. < 1161059993 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :I think the most complicated I ever got was quicksort. >:( < 1161061097 0 :GregorR-L!n=GregorR-@c-24-21-138-66.hsd1.or.comcast.net JOIN :#esoteric < 1161061796 0 :Eidolos!unknown@unknown.invalid QUIT :Connection reset by peer < 1161061810 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :I don't 100% get the reason for using dynamic memory allocation in the C code either. < 1161061843 0 :Eidolos!n=Sartak@c-24-128-121-242.hsd1.ma.comcast.net JOIN :#esoteric < 1161062696 0 :lindi-!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1161062879 0 :lindi-!n=lindi@kulho150.adsl.netsonic.fi JOIN :#esoteric < 1161063264 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Actually, in context [-<<+<,[ is equivalent. < 1161063330 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :It shouldn't be hard to make a brainfuck optimizer. It would really only benefit macro-generated code, which is why I haven't done it yet. < 1161063412 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :C2BF 8-D < 1161063430 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :(One thing I have done is a profiler to spot outright dead code. Macro-generated code often has big swaths of it. Cleaning the dead code out of basm.b, and then removing consequent []s and <>s and so on, reduces its size by 15%... < 1161063468 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :which wouldn't be impressive if basm.b weren't 70% brute force initialization to start with. < 1161067219 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :) < 1161069440 0 :Asztal!unknown@unknown.invalid QUIT :"Lister, does this look even *remotely* like a 14B?" < 1161069594 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1161070053 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Plof + operator overloading. Possible? < 1161070054 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Hmmmmmmmm < 1161071279 0 :oerjan!unknown@unknown.invalid QUIT :"Later" < 1161071695 0 :anonfunc!n=pimaniac@adsl-67-121-235-143.dsl.chic01.pacbell.net JOIN :#esoteric < 1161071918 0 :GregorR-L!unknown@unknown.invalid QUIT :"Leaving" < 1161071999 0 :clog!unknown@unknown.invalid QUIT :ended < 1161072000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1161072445 0 :anonfunc!unknown@unknown.invalid QUIT : < 1161072480 0 :anonfunc!n=pimaniac@adsl-67-121-235-143.dsl.chic01.pacbell.net JOIN :#esoteric < 1161080707 0 :Arrogant!i=Arrogatn@12.78.67.61 JOIN :#esoteric < 1161080790 0 :Arrogant!unknown@unknown.invalid QUIT :Client Quit < 1161081835 0 :pgimeno!unknown@unknown.invalid QUIT :"You're lucky as you can read this message but I can't" < 1161082063 0 :pgimeno!n=pgimeno@124.Red-80-59-211.staticIP.rima-tde.net JOIN :#esoteric < 1161082988 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :# 14 days 'til Halloween, Halloween, Halloween. 14 days 'til Halloween, Silver Shamrock. # < 1161082994 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :# 14 days 'til Halloween, Halloween, Halloween. 14 days 'til Halloween, Silver Shamrock. # < 1161083002 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Halloween_III:_Season_of_the_Witch < 1161083010 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to a lecture not intended for him < 1161084202 0 :jix!n=jix@L60f4.l.strato-dslnet.de JOIN :#esoteric < 1161087961 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1161090967 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmkay, *. . . That was my first attempt; I'm going to do it *efficiently* later. ;) < 1161091026 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(that's about how my first attempt would look, even if doing hand coding. . .) < 1161099209 0 :anonfunc!unknown@unknown.invalid QUIT : < 1161104157 0 :sekhmet!unknown@unknown.invalid QUIT :"leaving" < 1161104304 0 :sekhmet!n=pez@ppp-70-226-146-92.dsl.mdsnwi.ameritech.net JOIN :#esoteric < 1161105890 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now, we begin to optimize. . . < 1161105923 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :b < 1161106253 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Removed 32 characters. . . < 1161106366 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Make that 50. . . < 1161106384 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what program? < 1161106435 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :basm.b < 1161106445 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :58. . . < 1161106499 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, ok < 1161106699 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :564. . . < 1161106708 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :??! < 1161106714 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(just by some judicious memory rearrangement) < 1161107110 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1161107317 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION teleports. < 1161110515 0 :tgwizard!n=tgwizard@c-103fe155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1161111294 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm currently short of my previous version by 607. < 1161111835 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :624. < 1161112409 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It'll be much shorter if I decide to get the header done right. < 1161112581 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :664. . . < 1161113485 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://pikhq.nonlogic.org/basm.opt.b Any suggestions (beyond fixing that huge string of plusses at the front)? < 1161114112 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :what's that? < 1161118383 0 :bsmntbom1dood!unknown@unknown.invalid NICK :bsmntbombdood < 1161119138 0 :Asztal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1161119147 0 :paparent!unknown@unknown.invalid QUIT :Remote closed the connection < 1161119183 0 :paparent!n=paparent@111-80-252-216-dsl.enter-net.com JOIN :#esoteric < 1161119240 0 :pgimeno!unknown@unknown.invalid QUIT :"You're lucky as you can read this message but I can't" < 1161119691 0 :tgwizard!unknown@unknown.invalid QUIT :"Leaving" < 1161120200 0 :Robdgreat!n=RobdgreA@70.43.98.34.nw.nuvox.net JOIN :#esoteric < 1161121581 0 :pgimeno!n=pgimeno@124.Red-80-59-211.staticIP.rima-tde.net JOIN :#esoteric < 1161122239 0 :kipple_!n=kipple@167.80-202-102.nextgentel.com JOIN :#esoteric < 1161122535 0 :pgimeno!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1161122600 0 :pgimeno!n=pgimeno@124.Red-80-59-211.staticIP.rima-tde.net JOIN :#esoteric < 1161123568 0 :Eidolos!unknown@unknown.invalid QUIT :Connection reset by peer < 1161123606 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1161126017 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :jix: Brainfuck-> C compiler in Brainfuck (version 2). < 1161126023 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1161126040 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Slightly more efficient version. ;) < 1161126048 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :should be possible to do it in a lot less bytes < 1161126093 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, yeah, yeah. . . < 1161126098 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Haven't fixed up the header yet. < 1161126218 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :huh why calloc and not malloc? < 1161126251 0 :Robdgreat!unknown@unknown.invalid QUIT : < 1161126282 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :jix: calloc also sets all of the allocated memory to 0. < 1161126408 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(my usual method of Brainfuck coding, BTW: get it working, get it optimised) < 1161127097 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And we now have it down 685 characters from my initial attempt. . . Without removing the obvious string of +s. < 1161127173 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And the new build is up. . . < 1161127438 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Any suggestions (aside from the obvious, "That's way too much '+'s!")? < 1161127746 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :is it done by hand < 1161127749 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :? < 1161127759 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, it's not. . . < 1161127772 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Largest BFM program in existence. < 1161127788 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Larger than BFM itself, actually. < 1161127847 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And I'm not even done with it; that huge string of plusses is set for rewrite as soon as I can bother. < 1161129414 0 :GregorR-L!n=GregorR-@host-202-18.pubnet.pdx.edu JOIN :#esoteric < 1161129530 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor! < 1161129549 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Foobar! < 1161129563 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://pikhq.nonlogic.org/basm.opt.b See anything that I can optimize (aside from that large string of "+"s)? < 1161129580 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :<-- in class < 1161129587 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1161129590 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm. let's see here... < 1161129597 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which class?