< 1168388992 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1168392525 0 :ShadowHntr!unknown@unknown.invalid QUIT :Client Quit < 1168393060 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...OOP terminology makes me nauseas. < 1168393064 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :and I have no idea why./ < 1168393100 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmph < 1168393168 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I like the simplicity of functions... but I also like the sheer amount of shit you can accomplish with OO... < 1168393174 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I just don't like how... weird... OO is./ < 1168393240 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :OO isn't that weird < 1168393288 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :In python, it's just a thin abstraction over dictionaries < 1168393320 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yeah.. < 1168393325 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I just mean... the way people talk about it. < 1168393328 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :gives me shivers. < 1168393335 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :the wording and shit... < 1168393387 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :objects, classes, polymorphism? < 1168393487 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...yeah. < 1168393587 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :abstract base class, wrapper, instance of a class, class method, members, handler (dear God... I despise anything with "handler" in its name...) < 1168393669 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1168393692 0 :bsmnt_bot_chroot!unknown@unknown.invalid PRIVMSG #esoteric :Handle this! < 1168393718 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec for i in range(5): self.raw("PRIVMSG CakeProphet :handler!") < 1168393733 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1168393743 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec for i in range(5): self.raw("PRIVMSG CakeProphet :handler!") < 1168393746 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1168393766 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :gah, stupid freenode < 1168393774 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hee-hee ... I made a DNPTB-themed wallpaper for my cell phone :) < 1168393804 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :DNPTB? < 1168393821 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :http://www.donotputthebaby.com < 1168393824 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1168394718 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :DO NOT < 1168394722 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :PUT THE < 1168394725 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :baby < 1168396433 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1168396526 0 :pikhq!n=pikhq@75.71.223.179 JOIN :#esoteric < 1168398304 0 :loopd001!n=strangel@202.130.127.226 JOIN :#esoteric < 1168401543 0 :pikhq!unknown@unknown.invalid QUIT :"leaving" < 1168402508 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1168404673 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :bah, no one has broken my chroot yet < 1168404720 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the 35 bytes in /home/bsmntbombdood/proof.txt await you! < 1168405307 0 :digital_me!unknown@unknown.invalid QUIT :"night" < 1168405340 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what does it proove? < 1168405398 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that you broke my chroot < 1168405491 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :somehow i felt i had to ask what proof.txt prooves without considering the context at all < 1168405956 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :probably the only way you could see what's in the file is if you broke the chroot jail? < 1168405978 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hugs his Solaris installation... :D < 1168406158 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i only have a vague idea what a chroot is... but i'm sure i'd enjoy breaking one < 1168407081 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: want me to explain? < 1168407851 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ShadowHntr: yeah < 1168407868 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Chroot < 1168407879 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :maps the specified directory to root < 1168407885 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :changes root directory < 1168407899 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :so it creates a "jail" in which the user can't access anything outside of. < 1168407975 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :There's ways to get out of one, but I think they require root < 1168408530 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :break it! break it! < 1168409018 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :breaeaeaeaeeaeaek it < 1168409645 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :come on! < 1168411551 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1168414150 0 :ShadowHntr!unknown@unknown.invalid QUIT :"End of line." < 1168415999 0 :clog!unknown@unknown.invalid QUIT :ended < 1168416000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1168418459 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1168421342 0 :wooby!unknown@unknown.invalid QUIT : < 1168422753 0 :Sukoshi!n=user@user-11fabd6.dsl.mindspring.com JOIN :#esoteric < 1168422767 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Does anyone know the typical error of a good perceptron? < 1168422806 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :???? < 1168422822 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION means no, and what is a perceptron? :) < 1168422856 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :A basic neuron model. < 1168424074 0 :loopd001!unknown@unknown.invalid QUIT :"DISCO" < 1168431812 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1168431812 0 :clog!n=nef@bespin.org JOIN :#esoteric < 1168435082 0 :ihope!unknown@unknown.invalid QUIT :Connection timed out < 1168441493 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1168442899 0 :tgwizard!n=tgwizard@c-9b3ee155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1168443106 0 :jix!n=jix@L6241.l.strato-dslnet.de JOIN :#esoteric < 1168455439 0 :RodgerTheGreat!n=Rodger@c-68-42-107-2.hsd1.mi.comcast.net JOIN :#esoteric < 1168455445 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1168455524 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/Fortuna < 1168455532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can someone explain this? < 1168455557 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :0 Change nothing < 1168455557 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1 Take hand on or off the wheel < 1168455567 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what the fuck does a hand do? < 1168455569 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::\ < 1168455627 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"there is a theoretical wheel, spinning at a constant speed of 1, that manipulates a set of bits" < 1168455639 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ye < 1168455703 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... executes a BF > or < between every instruction... or? < 1168455835 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I get this sudden urge to create the Incomprehensible template :) < 1168455855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if it's a constant speed of one, how can you change it? speed as a concept includes the direction, if it's constant, how is it changed? < 1168455858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :means velocity? < 1168455877 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, velocity includes direction, speed does not. < 1168455891 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1168455895 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good < 1168455931 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although with the rest of the description I wouldn't bet on the writer having considered that. < 1168455932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nah i don't understand the lang < 1168455987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i hate these descriptions, i have to read the long code of the interpretor to be able to understand the idea, which can easily be expressed in a few sentences < 1168455996 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or then i < 1168456011 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :'m just too stupid to understand clear descriptions < 1168456049 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which, tho, i wouldn't be suprised of, given i missed the on this wheel part in "On this wheel there are five commands:" < 1168456053 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :That would have been an option if there was actually a pointer to an implementation. < 1168456066 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, that's why i had to ask < 1168456078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you get it, please tell me :\ < 1168456123 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i got a result of almost printing 0000111 when executing the prog, but then it did something weird in the end < 1168456134 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and the scan... i have no idea what that means < 1168456199 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"move bit pointer in current direction" there are 3 directions, memory direction, wheel direction and ip direction, right? < 1168456216 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :OK I had one sudden insight. < 1168456225 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :on that, or smth else? < 1168456284 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The wheel does not actually contain the bits. The wheel only has 5 positions, each of which corresponds to a command. < 1168456333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1168456364 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Well, perhaps. It doesn't make very much sense even then. < 1168456365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, when scanning for example, wtf do you scan, the code? and are there multiple directions to iterate the code? or? < 1168456469 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the code, if i'm right, first fills in the memory 00001110, then changes wheel dir and does somt very strange < 1168456477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*something < 1168456480 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Impossible to say. Whoever wrote the description had no idea how to express an idea. < 1168456554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it changes wheel direction, then outputs, THEN SCANS, scanning being so badly described i have no idea about it, and scanning in that sence too that the output is done 8 times too < 1168456556 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1168456558 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :OK, perhaps if the example code can be deciphered, something more can be said. < 1168456632 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i could decipher that the wheel goes around, when hand is put on, that command is done, when hands are taken off, that command is not executed, while hands are on, all commands are executed < 1168456641 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is said in the description too < 1168456642 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Could you please explain how you get even as much as that out of the code? :) < 1168456647 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tho not very clearly < 1168456650 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1168456691 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually you said the essential thing while i was writing i think < 1168456695 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :0, no hands-on, so bit not changed, 1, wheel turned to 'move bit pointer' and hand were put on, so that is done, memory now 00 < 1168456697 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good < 1168456699 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thought so < 1168456722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was in a hurry to write that before you could figure it out so i'd get the credit :) < 1168456777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Well, congratulations :) < 1168456808 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the author really thought it's obvious that intructions are executed when hands are on the wheel? < 1168456822 0 :digital_me!n=digital@wikipedia/Digitalme JOIN :#esoteric < 1168456841 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I'll have to write up what we get after doing your initial decoding step. But first I actually need some food... < 1168457065 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Although if the code = bits and so is self-modifying, the decoding may have to be done continuously. < 1168457131 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Wait a minute - a second insight < 1168457160 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The "scan" may be a warped version of brainfuck [] - after all, it says the language is brainfuck inspired. < 1168457196 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Again, perhaps. < 1168457201 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, i think it is, but it's not needed there < 1168457214 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :very hard keeping track of the execution < 1168457260 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that is of course a plus :) but the documentation is bad, unless it's intentionally left as homework for the reader < 1168457406 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :OK, what did you say you thought the first actual command executed was? < 1168457492 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[0]1[2340]1[2340]1[2340]1[234]01[234]01[234]01[234]0[123]432[1]0401[2]3432[1]0401[2]3432[1]0401[2]3432[1]0401[2]343[2]104 < 1168457502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is all the commands if i omit 2's < 1168457509 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the beginning makes sence < 1168457519 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actual first command > < 1168457556 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or, the beginning is >>>>*>*>*>* then change wheel direction... and lost me :) < 1168457625 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you'd think it's the output part because there are as many commands as in the beginning where the 0000111(1?) is done < 1168457635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but no, it's full of weird loops and such < 1168457687 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a bell character should be 00000111, anyhow < 1168457706 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or, does the "Switch direction of wheel" actually mean "change direction of the bit pointer"? < 1168457715 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then it'd make sence < 1168457744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, i think the last bit might be output twice < 1168457746 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i would have thought it meant both < 1168457757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because the end is not identical to the almost-end < 1168457770 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :might mean both, but then 2's are executed < 1168457789 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :even tho i don't think that is sensible < 1168457876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[0]1[2340]1[2340]1[2340]1[234]01[234]01[234]01[234]0[123]4[012]301[2]3401[2]... now it seems to omit 2's but change direction all the time making the first >>>>*>... thing useless < 1168457928 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and, it's clear that in the past-middle output section, either almost every instruction or just one instruction is executed (0001100011 etc) < 1168457943 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, 2 would be most sensible to omit < 1168457963 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since it certainly has nothing to do with outputting a \0x7 < 1168458039 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is the author here? i'll spank him < 1168458088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought it'd take like 3 hours to write down a list of all brainfucks and their syntaxes < 1168458096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :has taken maybe 6 now < 1168458104 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i'm half down the list < 1168458175 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fuck it... next lang :) < 1168458183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you figure it out, tell me < 1168458283 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/FukYorBrane, once again, a thorough spesification :( < 1168458292 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bomb? < 1168458312 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a non-'<>+-[],.' instruction? < 1168458327 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It's inspired by brainfuck and redcode, i believe < 1168458340 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, there is an implementation < 1168458345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, i know < 1168458575 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now i realize it's one of gregorr's langs, which i already read on his page, well, who'd remember a name like FukYorBrane :D < 1168459184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, damn you, first brainfuck i couldn't specify in 5 sentences :D < 1168459236 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, gregorR's languages tend to have a certain quality. < 1168459515 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, i assumed all bf-copies are shit :) < 1168459524 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in fact, many are pretty nice < 1168459527 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/Hargfak < 1168459530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, the main stack < 1168459534 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is that the main array? < 1168459566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :<, > etc are just 'same as in BF', but then i'll have to know if the stack is the memory... it's not really a stack in bf :\ < 1168459609 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :plus, "{} Make a code-block, push to stack" wouldn't make sence then < 1168459638 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think the stack and array are separate < 1168459660 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :# ( Move top from main stack to top of stack at sub pointer < 1168459660 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :# ) Reverse function of ( < 1168459670 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea what that means :\ < 1168459680 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :top of stack at sub pointer? < 1168459684 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ask the GregorR himself < 1168459692 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sub pointer points to memory, i'd think :\ < 1168459698 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is Hargfak his? < 1168459701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i doubt it < 1168459704 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not on his page < 1168459715 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh, I thought you said it was < 1168459721 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FuckYorBrane is well commented < 1168459749 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nope it's ZZo38's < 1168459763 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1168459778 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :does he exist somewhere? :D < 1168459790 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :he is quite productive on the wiki < 1168459833 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, doesn't help me :\ < 1168459840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you understand ()? < 1168459845 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn, the wiki is slow. < 1168459860 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or you understand "top of stack at sub pointer" < 1168459876 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think i retract my first assumption < 1168459892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think the language has stacks as elements of stacks < 1168459901 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as one of the data types. < 1168459963 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, thought might be so, then all cells are numbers by default, but stacks can be put there < 1168459987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :put... what's the word... < 1168460026 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm starting to miss basic vocabulary, someone must be feeding me drugs or smth < 1168460094 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm sorry but obviously your brain is fucked. < 1168460117 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :put is fine, i think. < 1168460118 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... makes sence :\ < 1168460159 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :put is fine, yeah, but it's not really nice if i can't look-up the word i was gonna use... < 1168460187 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, generally, not nice to forget something you've known for ages < 1168460195 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :been doing too much brainfuck < 1168460196 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1168460225 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :inserted, placed, pushed? < 1168460255 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :any of those would've been nice :) < 1168460270 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :put was the only one i found < 1168460283 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :usually happens when i've been reading a dictionary < 1168460300 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i forget all other words for a while < 1168460315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tho, off-topic, gotta continue my task < 1168460370 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1168460382 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if stack is the same as the memory, "; Push data at pointer to stack" < 1168460430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, i have no idea, next lang < 1168461492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* that Fortuna program doesn't make sense either way. < 1168461536 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no matter which interpretation is used it looks like it is doing _input_ first. < 1168461927 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :looking at the history, a couple of points in the article might actually be misunderstandings by later people trying to clean up after the author. The author actually explained that hands on/off continued/suspended execution, and didn't actually say the beep was a single character. < 1168462418 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i figured it'd be nice to have 50 brainfucks rather that 48 so i'll have to improvise 2 < 1168462434 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the first one is nice, i'll add it in the wiki and feel proud < 1168462435 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1168463656 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :god ihope has a lot of langs there :O < 1168463696 0 :ihope_!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1168463720 0 :ihope_!unknown@unknown.invalid NICK :ihope < 1168463741 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :speak of the devil < 1168463812 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1168463818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was weird < 1168463836 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :What, you've never seen a synchronicity before? :) < 1168463840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i said god ihope, not devil < 1168463863 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, yeah, but things can be weird multiple times < 1168463864 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1168463872 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Basement bot change root again. < 1168463883 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yes? < 1168463909 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What happened? < 1168463915 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1168463943 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I see. < 1168463950 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1168463951 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :13:14:16 god ihope has a lot of langs there :O < 1168463958 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :13:14:56 --- join: ihope_ (n=foo@c-71-205-100-59.hsd1.mi.comcast.net) joined #esoteric < 1168463975 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ya < 1168463995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it was weird until i figured ppl here have a habit of actively reading logs < 1168464009 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is never done in any other channel i am on < 1168464016 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1168464051 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, this is one of the only channels that sometimes has stuff worth reading afterwards < 1168464075 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :due to it's experimental nature < 1168464080 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I didn't see that log until afterward. < 1168464085 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1168464089 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then it is weird < 1168464096 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I must be psychotic. ;-) < 1168464119 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :psychotic indeed < 1168464121 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1168464134 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ain't we all < 1168464155 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :psychos!") < 1168464155 0 :bsmnt_bot_chroot!unknown@unknown.invalid PRIVMSG #esoteric :psychos! < 1168464165 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know if you have many bf-langs there, just saw your name three times in a row when checking the author of pages randomly < 1168464172 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ihope < 1168464178 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1168464202 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :BF-langs, eh? < 1168464234 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in the category bf-derivatives < 1168464245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i saw your name in three random picks < 1168464261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ihope127 actually, assumed that's you < 1168464267 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it is. < 1168464273 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :whoa < 1168464277 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol is writing a thesis, "A survey of languages within the Mullerian sub-paradigm of Esoterics." < 1168464280 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :127 is 2**7-1 < 1168464282 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION clicks "Random Page" a few times and eventually lands on one of his own languages. < 1168464292 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1168464305 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how many do you have? < 1168464306 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Exactly why I chose the number 127. < 1168464321 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :No idea. < 1168464325 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, what a witty thing to notice :D < 1168464327 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :1<<7 - 1 < 1168464354 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it is indeed possible to do a search for the word "ihope" < 1168464362 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1168464362 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i believe < 1168464367 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :t < 1168464370 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :nil < 1168464371 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey, good idea < 1168464462 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :eh... 6 ones? maybe the search is too complicated for me < 1168464564 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I only get 3. hmmm.. < 1168464583 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I have Catch, Foobar, SMATINY, SNOBOL, quantum brainfuck, BF-SC, and BF-PDA. The fact that there are six there and you said six may be making me forget the others. < 1168464596 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I also have Subtle Cough. < 1168464625 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :...Wait, I listed seven there, not six. < 1168464628 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, ihope127 gave many more matches than ihope for some reason. < 1168464629 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a language were the only construct is raising and catching exceptions < 1168464631 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So that makes eight. < 1168464635 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: of course. < 1168464641 0 :CakeProphet!n=CakeProp@h146.231.213.151.ip.alltel.net JOIN :#esoteric < 1168464642 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: fun, no? < 1168464653 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Is that actually what it is? < 1168464655 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Of course, I could probably do it much better now. < 1168464664 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sweet < 1168464665 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: might be; I dunno. < 1168464671 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1168464672 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i thought it would match subwords as well. < 1168464679 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Also, I make Thubi. Nine, then. < 1168464798 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok i see 11 matches < 1168464814 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What'd I miss? < 1168464835 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait a minute, SNOBOL is not esoteric. < 1168464850 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, SLOBOL. 12 then. < 1168464856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, a qbit is a bit that has a certain probability for being 1 or 0? too complex for me again, if not :) < 1168464859 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Close enough. < 1168464869 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :BF-PDA is not listed. < 1168464877 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it is < 1168464891 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not under the search results < 1168464898 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no, there's a probability amplitude, which is a complex number, for every possible combination of bits. < 1168464908 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no name on the article < 1168464913 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe that's why < 1168464917 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And the probability corresponding to the amplitude x is |x|^2. Confusing, eh? < 1168464947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :|x|^2 is the length of the number ^ 2? < 1168464951 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :neither is Subtle Cough. < 1168464965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :|complex| is the length < 1168464965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1168464998 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :x is the amplitude. < 1168465011 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yo mommoa is the amplitude < 1168465013 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :|x| is the absulute value of the amplitude. < 1168465013 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, is that a complex number? < 1168465021 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes, x is a complex number. < 1168465039 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, absolute value of a complex number is it's length < 1168465043 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Also, I made ///, a.k.a. Slashes. Does that make 10? < 1168465043 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1168465049 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the length of its vector? Yes. < 1168465059 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, that's what i meant, yeah < 1168465088 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there is Slashes (///), REverge, Minimum, Pointy and Onoz. < 1168465091 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yay. < 1168465099 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :k, i'll just do like the wiki and assume the reader knows qubits :) < 1168465181 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So REverge isn't really a language, so that's Catch, Foobar, SMATINY, SLOBOL, quantum brainfuck, BF-SC, BF-PDA, Subtle Cough, ///, Minimum, Pointy, onoz. < 1168465193 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Twelve in all, I guess. < 1168465232 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And how many are joke languages? < 1168465272 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Ah yes, Subtle Cough is not really usable either, as I proved. < 1168465315 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that. < 1168465399 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :REverge seems a bit unfinished. < 1168465427 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I mostly forgot about Catch, Foobar is finite, SMATINY is not only finite but reversible, SLOBOL is Foobar in disguise, quantum brainfuck is Turing-complete, BF-SC and BF-PDA are guaranteed to terminate, Subtle Cough is not Turing-complete, /// is unknown, Minimum has no programs, Pointy is Turing-complete, and onoz is unknown. < 1168465434 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes, REverge might as well be deleted. < 1168465451 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So that's at least two languages I made that are Turing-complete. < 1168465467 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SMATINY is definitely not a joke, in my opinion. < 1168465483 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not any more than SMETANA. < 1168465552 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it's not a joke. < 1168465576 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Catch... oh, whether or not it's Turing-complete depends on the built-in exceptions and handlers. < 1168465656 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Onoz can of course express all programs known to terminate. < 1168465665 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yep. < 1168465763 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It is probably Turing-complete, although we will never know how to program in it, because for infinite loops we have to use a subprogram which we think but are not sure never terminates. < 1168465868 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... < 1168466042 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I expect some variant of the proof of the halting problem can be used to find a couple of algorithms such that one of them does not terminate but we can never know which. < 1168466124 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :halting problem + gõdel's incompleteness theorem (whose proofs are essentially very similar) < 1168466213 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1168466239 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wait. If we can never know something's incorrect, it's correct. < 1168466251 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If there's no observable difference, then they're the same. < 1168466257 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes, but we cannot necessarily prove it. < 1168466280 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :We can't prove two things to be the same, sure. < 1168466313 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If we have a collection of algorithms and we know exactly one is correct, we can figure out which one it is. < 1168466330 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and the definition of Onoz uses provability of non-termination, not actual termination. < 1168466376 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except that in reality none of them terminate, but we are not sure of it. Maybe we don't really need more than one algorithm. < 1168466440 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i assume http://esoteric.voxelperfect.net/wiki/SPL also has + / - since they are used in the example < 1168466444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but what is |? < 1168466546 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"that of brainfuck", someday i'll learn to read < 1168466561 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Brainfuck has |? < 1168466611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it seems like | is a variant of $ < 1168466757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :There is the same confusion on his webpage (except in Italian :) ) < 1168466783 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Several more example programs though. < 1168466797 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1168466801 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :variant? < 1168466806 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1168466808 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :decimal < 1168466821 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :All except the final example use |. < 1168466826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, a monkey could see that from the example < 1168466833 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the | is decimal input thig < 1168466835 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*thing < 1168466847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i didn't < 1168466849 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Actually so is $, according to the website. < 1168466853 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1168466858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, i don't believe it :) < 1168466868 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :$Aspetta che l'utente inserisca un numero e lo mette nell'accumulatore < 1168466876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i make my own lang then, take the same name and change that < 1168466915 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://stelk.altervista.org/SPL0.2.tar.gz < 1168466921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or, my lang's name is SPL ^H < 1168466925 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if needed < 1168466986 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't open that, anyway, i'll make it ascii input, i'm sure the author never sees my page :) < 1168467009 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh fuck < 1168467018 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :| puts a number in the current cell < 1168467037 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :There is an implementation there too, in C++ < 1168467065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't open the link < 1168467076 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :No, it's , which does that. < 1168467082 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now it opened < 1168467084 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :$ insers into the accumulator. < 1168467100 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :| read a number in the current cell, at least in the example < 1168467102 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*inserts < 1168467104 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*reads < 1168467105 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1168467161 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :LOLfuck, '$' is twice in that code < 1168467168 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there's no '|' < 1168467184 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Which file? < 1168467232 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i got it open < 1168467251 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, the C++ code. And not an else in sight, either :) < 1168467257 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there is a '#' that is just a subset of '[' xD < 1168467280 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no elses, so '$' does two inputs, only latter one is used < 1168467284 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unnested version < 1168467295 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1168467305 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can use it with [] for interesting results < 1168467312 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so i retract my statemenzzor < 1168467325 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :especially 'xD' < 1168467328 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1168467633 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Wait a moment. < 1168467646 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Hm... < 1168467659 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It says on the wiki that # ... # is a comment. < 1168467775 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :However, the implementation makes no attempt to ignore [] matches inside #'s, so it can still be used for interesting results. < 1168467889 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1168468019 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't even think of the '#' as a comment since i thought it was supposed to be used with [] for additional fun < 1168468062 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :There is some serious possibility for buffer overruns with #[] too.. < 1168468088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, overall, FRENCH PEOPLE SUCK AT CODING < 1168468096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(i'm kidding don't kill me :;() < 1168468118 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It would have been better if you had noticed it was Italian. < 1168468137 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Unless that was part of the joke :) < 1168468151 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :THEY CAN'T EITHER < 1168468153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1168468163 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know either language :\ < 1168468191 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I know enough to guess most of the meaning. < 1168468227 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1168468229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe me too < 1168468231 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll try < 1168468268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"Aspetta che l'utente inserisca un numero e lo mette nell'accumulatore" < 1168468271 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no idea < 1168468305 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"Expect that the user will insert a number, and put it in the accumulator." < 1168468393 0 :bsmnt_bot_chroot!unknown@unknown.invalid PRIVMSG #esoteric :looneys! < 1168468398 0 :bsmnt_bot_chroot!unknown@unknown.invalid PRIVMSG #esoteric :looneys i say! < 1168468403 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :BLBLBLBLBLBLBL < 1168468425 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :No < 1168468426 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :one < 1168468431 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :has broken < 1168468433 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what langs do you know to understand that? < 1168468434 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :my chroot < 1168468435 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yet < 1168468451 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, maybe it's too easy for us < 1168468459 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1168468471 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :English, a bit Italian, and in theory a bit French. < 1168468485 0 :bsmnt_bot_chroot!unknown@unknown.invalid PRIVMSG #esoteric :looneys! < 1168468502 0 :bsmnt_bot_chroot!unknown@unknown.invalid PRIVMSG #esoteric :break me! < 1168468505 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Note that almost every long word except "mette" is related to the English. < 1168468541 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~quit < 1168468541 0 :bsmnt_bot_chroot!unknown@unknown.invalid QUIT : < 1168468545 0 :bsmnt_bot_chroot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1168468551 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, but vaguely < 1168468552 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1168468553 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :So what I need of Italian is mostly grammar. < 1168468556 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~quit < 1168468557 0 :bsmnt_bot_chroot!unknown@unknown.invalid QUIT :Client Quit < 1168468558 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1168468560 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :utente in unguessable < 1168468617 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Oh yes, I also once read a Latin grammar. Made me understand a lot about how things like "utente" and "user" can be related. < 1168468617 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1168468623 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, os.abspath(".") < 1168468672 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, os.getpid() < 1168468673 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :16985 < 1168468685 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Basically one is the present stem and the other the past perfect. < 1168468738 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :And English for some reason borrows Latin words with the latter. < 1168468780 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Actually English has that version too: "utility" < 1168468791 0 :oklopol!n=villsalo@194.251.102.88 JOIN :#esoteric < 1168468815 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lame < 1168468816 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*words -> verbs < 1168468848 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn i didn't notice you left :( < 1168468851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1168468853 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought so < 1168468856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :repeat! < 1168468856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1168468867 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Oh yes, I also once read a Latin grammar. Made me understand a lot about how things like "utente" and "user" can be related. < 1168468874 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Basically one is the present stem and the other the past perfect. < 1168468879 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :And English for some reason borrows Latin words with the latter. < 1168468887 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Actually English has that version too: "utility" < 1168468892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*words -> verbs < 1168468970 0 :bsmnt_bot!unknown@unknown.invalid QUIT :"nobody loves me :(" < 1168468972 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1168469029 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hugs bsmnt_bot < 1168469063 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :break me! < 1168469086 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't have the skills for that. < 1168469113 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1168469118 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I tend to stay at an abstract level, fairly far from the machine. < 1168469133 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, os.getpid() < 1168469134 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :16991 < 1168469180 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Besides, who knows if there even is a loophole to use. < 1168469201 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure there's a way to do it < 1168469282 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I suppose if you included the whole Linux distribution in the jail there might be a chance. < 1168469299 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah, there isn't much to exploit inside it < 1168469333 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It might in fact be easier to break into your machine from the outside, for all I know. < 1168469339 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no setuid root programs < 1168469388 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :(inside the jail) < 1168469606 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :So basically only someone with a good knowledge of the Linux kernel (and probably Python) would stand a chance, which doesn't include me. < 1168469618 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh, yeah < 1168469945 0 :oklopol!n=villsalo@194.251.102.88 JOIN :#esoteric < 1168470119 0 :tgwizard!unknown@unknown.invalid QUIT :Remote closed the connection < 1168470179 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :~exec print os.listdir() < 1168470221 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, os.listdir() < 1168470224 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, os.listdir(".") < 1168470224 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :['bin', 'bot', 'etc', 'lib', 'usr'] < 1168470234 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Why do you have to do that? < 1168470241 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :because python is stupid < 1168470248 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, os.listdir("bin") < 1168470249 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :['bash'] < 1168470265 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :.... print >> sys.stdout is the exact same thing as print < 1168470268 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it's redundant. < 1168470277 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :In a normal enviroment, yeah < 1168470284 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, sys.stdout < 1168470285 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :<__main__.IRCFileWrapper instance at 0xb7bfe48c> < 1168470293 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, os.listdir("lib") < 1168470293 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :['libm.so.6', 'libreadline.so.5', 'libdl-2.4.so', 'libresolv.so.2', 'libutil.so.1', 'libncurses.so.5', 'libcrypt.so.1', 'ld-linux.so.2', 'libdl.so.2', 'libpthread.so.0', 'libpam_misc.so.0', 'libpam.so.0', 'libc.so.6'] < 1168470329 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...no... I mean... that -is- the same thing. < 1168470342 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :obviously not < 1168470347 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :inside an exec < 1168470347 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :There's no other way to get around that... unless you use >>, print goes directly to sys.stdout. < 1168470348 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would if the sys module was the standard one. < 1168470367 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so you're using a different module for sys? < 1168470388 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :even then... you'd have to hack the interpreter to make those two statements mean anything different from each other. < 1168470391 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I'm using a costum object, to redirct stdout to the right place < 1168470416 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...that doesn't change the fact that print by itself always goes to sys.stdout... < 1168470426 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :How are you assigning it to sys.stdout? < 1168470436 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :sys.stdout = whatever < 1168470452 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm asking bsmntbombdood < 1168470455 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: Can't do that, that interferes with the "real" stdout < 1168470475 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION does it all the time... < 1168470479 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that's the idea, isn't it? < 1168470483 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: by passing a costum enviroment to the python exec statement < 1168470500 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it _should_ change the real stdout. < 1168470516 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no, we only want it to change inside the exec < 1168470516 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :what's a costum enviornment... and how does it change the axiomatic grand law of python's print statement? < 1168470545 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :he is probably redefining the sys variable to not point at the sys module. < 1168470550 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :right < 1168470564 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :....regardless.... the regular print would just point to that as well. < 1168470570 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :env[0]["sys"] = SysWrapper(stdout = IRCFileWrapper(self.raw, r.group(1)), stderr = IRCFileWrapper(self.raw, self.errorchan)) < 1168470595 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :That sounds kind of extraneous. :P < 1168470611 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you could just do. < 1168470623 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically print will always refer to the stdout of the real sys module, not to stdout of whatever happens to be in the global variable sys. < 1168470638 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :exec SomeCode in {"sys":} < 1168470654 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: That's what I am doing... < 1168470668 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... so what's the point in wrapping sys if it doesn't do the main objective of replacing stdout? < 1168470686 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It does replace stdout < 1168470693 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :only for the programmer. < 1168470695 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> sys.stdout, sys.stdout < 1168470696 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :<__main__.IRCFileWrapper instance at 0xb7bfe7ac> < 1168470703 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's no file object < 1168470709 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but not for print, which makes it pointless :) < 1168470712 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but if the regular print statement doesn't. < 1168470714 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1168470719 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you finished before me... < 1168470723 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~quit < 1168470723 0 :bsmnt_bot!unknown@unknown.invalid QUIT : < 1168470726 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1168470735 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print "error < 1168470748 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would be simpler to just do print >> channelObj < 1168470763 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whatever you call that. < 1168470771 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't like the >> syntax for print. < 1168470778 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :print >> IRCFileWrapper(self.raw, "#esoteric"), "foo" < 1168470781 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :channelObj.write("blah blah") < 1168470799 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :if you had constant objects for channels... it would be more convient. < 1168470804 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1168470813 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :instead of instantiating one everytime. < 1168470813 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :esoteric = IRCF.... < 1168470824 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1168470825 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sys.stdout is the object representing the current channel < 1168470828 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Then just print >> esoteric < 1168470844 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well print >> curChannel < 1168470845 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but what's the point in replacing sys.stdout if it doesn't does what sys.stdout is supposed to do? < 1168470861 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you might as well just make a variable called "channel". < 1168470865 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Well, I had to try < 1168470894 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: print >> sys.stdout IS print >> currchan < 1168470913 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I'm still trying to figure out how to make print behave like it should < 1168470921 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I kind of like that... < 1168470925 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :just print >> esoteric < 1168470932 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :or even better esoteric.send() < 1168470959 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec global esoteric; esoteric = IRCFileWrapper(self.raw, "#esoteric") < 1168470986 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print >> esoteric, esoteric < 1168470991 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1168470999 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1168471002 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I didn't think that would work. < 1168471004 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.esoteric = IRCFileWrapper(self.raw, "#esoteric") < 1168471013 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.esoteric.write("hi") < 1168471013 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1168471061 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hehe... I would have done factory functions or something :D < 1168471077 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :factory functions? < 1168471082 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :esoteric = channelfactory("#esoteric") < 1168471087 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :esoteric("Hello World!") < 1168471116 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.esoteric = IRCFileWrapper(self.raw, "#esoteric").write < 1168471126 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.esoteric("foo") < 1168471127 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1168471129 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :better? < 1168471135 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shrugs < 1168471138 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :doesn't matter to me. < 1168471187 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :factroy functions give functional programming an OO-like advantage. < 1168471191 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :without being all... OO-ish. < 1168471481 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: factory functions? < 1168471487 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You mean constructors? < 1168471499 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...same idea... < 1168471506 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :sorta kinda < 1168471509 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :data Channel = ChannelFactory String -- this? < 1168471514 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :make_adder = lambda x : lambda y : x+y < 1168471531 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :constructors setup an initial state... factory functions produce other functions. < 1168471544 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I see. < 1168471552 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So a factory function is just a function returning a function? < 1168471557 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Yup. < 1168471567 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :pretty powerful stuff. < 1168471580 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Naturally I'd miss the point completely, being used to first-class functions :-) < 1168471590 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well... there's other flavors of factory functions... I've made a factory function that spat out classes. < 1168471603 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Anything that produces something unusual? < 1168471611 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... < 1168471618 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :not that I can think of. < 1168471620 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :In python you can make classes like factory functions < 1168471624 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I considered making a factory factory function. < 1168471642 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I mean a factory function is something that produces something unusual? < 1168471646 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :for producing convient factory functions. < 1168471649 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1168471657 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it just produces a... function. < 1168471667 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~quit < 1168471667 0 :bsmnt_bot!unknown@unknown.invalid QUIT : < 1168471669 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1168471672 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So how could a factory function spit out classes? < 1168471674 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it puts a common set of goals that you'd have for defining a certain type of function into a nice little package. < 1168471677 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.esoteric = IRCFileWrapper(self.raw, "#esoteric") < 1168471680 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :by defining them in their body. < 1168471684 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I see. < 1168471685 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.esoteric("foo") < 1168471685 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1168471688 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :neat, eh? < 1168471691 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: is this guy chrooted? < 1168471695 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1168471714 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the long nick was getting annoying < 1168471717 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~pexec self.quit < 1168471723 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That didn't work. < 1168471723 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the new error channel is #bsmnt_bot_errors, btw < 1168471727 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec < 1168471743 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : ~exec is public now < 1168471754 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.quit < 1168471767 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That didn't exactly work either, eh? < 1168471777 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it got executed though < 1168471786 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : AttributeError: IRCbot instance has no attribute 'quit' < 1168471828 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.do_quit() < 1168471835 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I also forgot about the () at the end... uh... < 1168471845 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1168471846 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :...join that channel so I don't have to copy and paste erros < 1168471987 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.disconnect("RAH RAH RAH") < 1168471987 0 :bsmnt_bot!unknown@unknown.invalid QUIT :"RAH RAH RAH" < 1168471990 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1168471996 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Pretty fancy. < 1168472000 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there ya go < 1168472054 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.do_callbacks(":bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood PRIVMSG #esoteric :~quit") < 1168472055 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168472058 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1168472060 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wonderful. < 1168472133 0 :oklofok!n=villsalo@194.251.102.88 JOIN :#esoteric < 1168472150 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What the... < 1168472156 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1168472159 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1168472168 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :s/pol/fok/? < 1168472183 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ihope, http://deadbeefbabe.org/paste/3246 < 1168472190 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :assume that class statement is dedented a notch. < 1168472200 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :*indentation was screwing up. < 1168472232 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :silly python, indentation is for stupid people < 1168472252 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: pretty fancy. < 1168472263 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: uh... < 1168472281 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh... wait... < 1168472283 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Eh. < 1168472302 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :insane hackish solutions that weren't intended to be done is my favorite passtime. :D < 1168472323 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :__bases__? < 1168472332 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ihope: what? < 1168472353 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :__bases__ is a classes inheritance tuple. < 1168472361 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :class Lol(Rofl, omfg) < 1168472364 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: nothing, nothing... < 1168472370 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Lol.__bases__ would be (Rofl, omfg) < 1168472373 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh ok < 1168472396 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I could have skipped the whole class statement thing by doing. < 1168472404 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Meh = type(name, parents, dictionary) < 1168472409 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Pff. < 1168472414 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That's no fun. < 1168472421 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :since type is -the- metaclass. :D < 1168472425 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :property(None, self.__setattr__, self.__delattr__)? < 1168472434 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Makes it read-only. < 1168472444 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :What's the property function do? < 1168472444 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :there's no get function for it to use. < 1168472446 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :er... < 1168472449 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :write-only :P < 1168472454 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Now what's Python have that's like Haskell's "let" or "where"? < 1168472475 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh, i get it < 1168472481 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it does some crazy magic stuff to alter the get, set, and delete functions of only one attribute. < 1168472495 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ihope, variables are local scope by default. < 1168472511 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Python has only one, rarely used, scope declaration... "global". < 1168472529 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right, Python lets you assign things to variables. < 1168472542 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Now, uh, hmm... < 1168472544 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but they're probably going to add a "nonlocal"... for nested scopes. (Python has a pretty simple idea of nested scopes... it just has "globals" and "locals"...) < 1168472566 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :Foo"); self.raw("PRIVMSG #esoteric :Foo") < 1168472566 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Foo < 1168472567 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Foo < 1168472571 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wonderful. < 1168472588 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pushes #esoteric onto the stack and runs to eat dinner < 1168472646 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ...knows entirely too much about Python. < 1168472658 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I should find something else to tinker with. < 1168472668 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :...and I though I had to do some low level stuff for bsmnt_bot < 1168472703 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :The trace function was quite nice I though ;) < 1168472753 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...the lowest level thing I've ever done with Python is.... select. < 1168472795 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you mean with sockets? < 1168472803 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1168472813 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :threads > select < 1168472814 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it's the most basic thing I could think of that I've used. < 1168472814 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i made a cool bf :) < 1168472834 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: That class generator was pretty low level < 1168472857 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :heh... that depends on your definition of low level. < 1168472879 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :using a class's __ functions is low level python < 1168472899 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I thought it was fairly abstract... (anything that creates abstract plans for objects is pretty damn high in abstractiness) < 1168472919 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :meh... just some interpreter magic... __ methods are pretty common in Python programs. < 1168472925 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the __ variables are very close to the interpreter < 1168472930 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hence, low level < 1168472973 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Nah, it's not really abstract until it borrows terms from category theory :) < 1168472986 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :they're glorified callback functions basically... < 1168472998 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: they are low level < 1168473034 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :heh... I won't debate the existence of a non-specific, human invented definition. < 1168473068 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :low-level doesn't exist... < 1168473076 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1168473076 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it does... in the sense that there is such a thing as year. < 1168473089 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :and that things like months can exist. < 1168473093 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but basically it's nothing. < 1168473200 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmm... I've taken a liking to using Python sets... < 1168473218 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :they're extremly useful for my MUD... where I don't want accidental duplicate references of objects appearing. < 1168473419 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.test = SysWrapper(IRCFileWrapper(self.raw, "#esoteric"), IRCFileWrapper(self.raw, "#esoteric")) < 1168473430 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.test.stdout("foo") < 1168473430 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1168473436 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.test.stdout.write("foo") < 1168473437 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1168473444 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :__call__ is great < 1168473472 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout = self.test.stdout < 1168473476 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec print "foo" < 1168473482 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1168473520 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :most of the special methods are great. :D < 1168473536 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :__setitem__, __getitem__, __contains__... you can make just about anything. < 1168473566 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet("foo") < 1168473583 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I've got the design for a periodic table of elements somewhere. < 1168473587 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :the information isn't filled in yet...