< 1172966732 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1172966736 0 :UpTheDownstair!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1172966746 0 :UpTheDownstair!unknown@unknown.invalid NICK :nazgjunk < 1172968066 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I have a great urge to do something incredibly esoteric with pointers right now < 1172968134 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :And I need your help to fulfil this urge < 1172968138 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Ideas please. < 1172968157 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :ACTION points: (::''' < 1172968201 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1172968241 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :not much you can do with an integer pointer to make it esoteric... floating point, imaginary, rational? < 1172968260 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...quaternion? < 1172968265 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :The actual pointer doesn't have to be esoteric, just its use < 1172968281 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...make it point to a pointer. < 1172968291 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :boring < 1172968298 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :that points to an integer, which becomes to pointers new value. < 1172968311 0 :sebbu!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, watching what ? < 1172968316 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what for? < 1172968342 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... it gives you some moderate form of control flow. < 1172968364 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :sebbu: the moon < 1172968372 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the eclipse is nearly over now < 1172968423 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: you can use pointers as your only primitive type? < 1172968435 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1172968436 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually, make that cons cells as your only primitive type < 1172968447 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :... < 1172968451 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nil is a cons cell that points to itself twice < 1172968457 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hahaha... lists with nothing to put in them :) < 1172968513 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :more lists < 1172968523 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a number might become a listy-kinda thing < 1172968549 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :with clever sharing, a number could easily be a tree with NILs at the leaves < 1172968555 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1172968556 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in log-space < 1172968565 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how? < 1172968568 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so then concatenation of the trees would be like addition. < 1172968582 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, you have 0 = nil... < 1172968592 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, wait, no... < 1172968598 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oh, yes < 1172968601 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :0 = NIL < 1172968610 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :1 = a pair of differnt NILs < 1172968615 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or maybe that would be 1 and 2 < 1172968630 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :2 would be two pointers to the same copy of 1 < 1172968641 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :3 would be a pointer to one and 2 < 1172968646 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1172968650 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I am sure you can think of a way < 1172968672 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :(cons (cons (cons (cons (cons nil))))) ...5, and then use the properties of lists to do arithmetic. < 1172968694 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: cons takes two arguments < 1172968706 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :... just assume all of those have nill on them or whatever :P < 1172968722 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :basically what simon said < 1172968729 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nil = (nil . nil), BTW < 1172968736 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :because all pointer have to be valid < 1172968755 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually, you can do this a better way... < 1172968756 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :nil = NULL < 1172968767 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION searches for the thing he needs < 1172968771 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: nonono < 1172968775 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or maybe yes < 1172968798 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I'm pretty sure nil is a null pointer by itself. < 1172968811 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :1 doesn't make sense < 1172968820 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :not a pointer to nils... that's a recursive definition and you'd never be able to end a list. :) < 1172968832 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :if the value of a node is the sum of its children... < 1172968858 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :1 = (nil nil) < 1172968861 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :here we go: http://www.cs.st-andrews.ac.uk/~eb/writings/bignums.ps < 1172968867 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"Every Number Has At Most Two Digits" < 1172968869 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :you basically making a base-1 nuimeral system. < 1172968870 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :just what we need < 1172968880 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and it works in log-space < 1172968889 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :bah, ps < 1172968912 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and sideways < 1172968936 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :for me it is upside-down < 1172968946 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :just tell your viewer to turn it the right way up < 1172968954 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :0 = nil 1 = (0 nil) 2 = (1 nil) 3 = (2 nil) 4 = (3 nil) etc < 1172969009 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there < 1172969026 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :xpdf renders it nicely < 1172969055 0 :thematrixeatsyou!n=notapoly@222-152-179-78.jetstream.xtra.co.nz JOIN :#esoteric < 1172969077 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Nick collision from services. < 1172969084 0 :thematrixeatsyou!unknown@unknown.invalid NICK :GreaseMonkey < 1172969157 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: basically, a number is either: all zero or first half zero + second half non-zero, or first half non-zero + second half anything. < 1172969173 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I don't understand the notation though < 1172969194 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :page 5 < 1172969230 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, that's the magic type theory notation < 1172969241 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it comes from the types-as-proof-specifications thingy < 1172969278 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the things on top are the data and types you start off with, and the bit at the bottom is the data or type that you can construct < 1172969299 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it's not really much beyond Haskell's GADTs < 1172969335 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I really wish OSes had some easy way for languages to easily communicate without whole processes. < 1172969344 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :if we represent a zero in either half as a pointer to the cons cell itself, we have a high-efficiency representation not only for small numbers, but also for sparse bit vectors (if we are clever when the first half is non-zero and the second half is zero). < 1172969383 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :If we are not clever in that latter case, we get an efficient notation for small numbers but not for all sparse ones < 1172969399 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: it's called "threads" < 1172969410 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1172969419 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...I've never actually figured out what threads are... < 1172969432 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :like processes, but they share an address space < 1172969433 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lightweight proceses < 1172969449 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Image:PM1%2B1%3D2lemma.jpg < 1172969452 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :eh... so then you'd communicate solely by address? < 1172969458 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's some dense notation right there < 1172969484 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: eh? < 1172969496 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nonono, I mean they share a heap and globals between them < 1172969537 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah... they share a heap... so in order to communicate they need to alter data on the heap yeah? < 1172969580 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1172969582 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :of course, properly you should not share address space without a proper shared-address-space system. Channels from Erlang are good, STM from Haskell is good, even though they got it from the database world, and locks and monitors suck with a suckage of several Lovelace. < 1172969594 0 :sebbu!unknown@unknown.invalid QUIT :Client Quit < 1172969625 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Channels are good if you know how the data will flow, and STM (transactions) is good if you don't care much about the exact order updates happen. < 1172969669 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :STM has a horrible overhead sometimes, but it is still a win if it lets you use 8 cores rather than 1. < 1172969674 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :How do you make a thread exactly? < 1172969783 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you start by RTFM < 1172969786 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); < 1172969794 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :like that < 1172969809 0 :jix__!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1172969841 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Then you give up and write it in a language with some actual concurrency *support* rather than a concurrency *burden*. < 1172969957 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Then you remember that it was implemented in C < 1172970004 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :like I said, C=bad for this < 1172970035 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if you could do reverse pointers - like COME FROM. < 1172970058 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I've seen COME FROM somewhere < 1172970066 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you might be able to do some dreadful hashing trick < 1172970067 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :um, with an instruction trap perhaps? < 1172970075 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in INTERCAL, but that is for program flow. < 1172970075 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: INTERCAL < 1172970084 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ph < 1172970087 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1172970094 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i meant for data. < 1172970097 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :some Fortrans had an "AT", which was like a COME FROM < 1172970114 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and of course COME FROM is back in fasion with the emergence of AOP. < 1172970344 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...reverse pointers... like... < 1172970359 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :... < 1172970362 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... < 1172970371 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :FORTRAN's DO loop is somewhat come-from-y, since you just give the line number where the loop ends, and there's nothing at that line marking the end of the loop. (Most people would probably stick a CONTINUE statement there, though.) < 1172970395 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION lols at the "reverse-find" algorithm < 1172970416 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...what would a reverse pointer do? Point to itself? < 1172970443 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It's complexity bound has possibly the world's slowest-growing function that tends to infinity and is yet useful for something. < 1172970461 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it contains the inverse of the ackermann function < 1172970568 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... googling reverse-find + ackermann gives me nothing < 1172970595 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or more precisely, one page in Hebrew. < 1172970611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which is about equivalent. :) < 1172970682 0 :ihope_!n=ihope@tapthru/resident/ihope JOIN :#esoteric < 1172970694 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~ctcp #esoteric ACTION ACTION ACTION < 1172970695 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ACTION ACTION < 1172970706 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Mm-hmm. < 1172970711 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: That was supposed to be a hint to get a URL, btw :) < 1172970721 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :\001ACTION ACTION\001") < 1172970722 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ACTION < 1172970726 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah... < 1172970730 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://www.scottaaronson.com/writings/bignumbers.html < 1172970741 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :...Never mind? < 1172970745 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I meant "union-find" < 1172970746 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :thank you. < 1172971049 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Oh, huh. < 1172971056 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :Foobar\001") < 1172971056 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Foobar < 1172971068 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :Foo\001ACTION bar\001") < 1172971068 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :FooACTION bar < 1172971077 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1172971099 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :My client failed to display that one. < 1172971120 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Mine too. Not quite RFC-compliant. < 1172971147 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :But then the RFC doesn't seem very useful in this case. < 1172971207 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :did anyone see it properly? < 1172971235 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(I.e. Foo and bar on separate lines, the last as an emote) < 1172971346 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Is it supposed to do that? < 1172971354 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Mine didn't show it at all. < 1172971362 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :\001ACTION bar\001"Foo) < 1172971362 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax < 1172971370 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :\001ACTION bar\001Foo") < 1172971370 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION barFoo < 1172971379 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Didn't see that either. < 1172971407 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :That one came out as an emote to me, but with an \A inside. < 1172971410 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :foo\001bar\001\r\nPRIVMSG #esoteric :\001bar\001foo") < 1172971410 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :foobar < 1172971410 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :barfoo < 1172971425 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I didn't see anything there either. < 1172971446 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you mean you saw absolutely nothing? < 1172971460 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Absolutely nothing. < 1172971470 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I didn't realize bsmnt_bot replied at all until I read the logs. < 1172971500 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :foo\001\001bar") < 1172971500 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :foobar < 1172971507 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :foo\001\001") < 1172971508 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1172971515 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :\001\001bar") < 1172971516 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :bar < 1172971532 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :...wait a minute... < 1172971534 0 :ihope_!unknown@unknown.invalid QUIT :"Reconnecting..." < 1172971548 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1172971559 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it seems my client uses the first character to decide whether it is an emote, but then ignores anything inside. < 1172971565 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :\001\001bar") < 1172971566 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :bar < 1172971595 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bsmnt_bot [i=gavin@abacus.kwzs.be] requested unknown CTCP Abar from #esoteric: < 1172971605 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :\001\001") < 1172971605 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric : < 1172971612 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*A=\A < 1172971630 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :\001ACTION throws a \001 at ihope_\001") < 1172971630 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws a  at ihope_ < 1172971639 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :\001\001\001") < 1172971640 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric : < 1172971673 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unknown CTCP \A < 1172971686 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(I am using \A for inverted A on my screen) < 1172971698 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :=== Unknown CTCP [\0x01] () from bsmnt_bot < 1172971721 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that seems standard-compliant, at least. < 1172971729 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or, wait. < 1172971737 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not quite. < 1172971767 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it should have been unknown CTCP "" followed by a single \A in a message, I think. < 1172971798 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :All so very weird. < 1172971803 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyhow, the conclusion is that you can count on \A working only at the ends of messages. < 1172971821 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*beginning and end < 1172971843 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :It looks to me that if there's more than one \1 in a message, it fails to show. < 1172971852 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Naturally, our clients are different... < 1172971857 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1172971882 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Do most clients implement CTCP as "if it starts with \1 and ends with \1 then the first word of what's in between is the command and everything else is the parameters"? < 1172971900 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mine seems to only look at "starts with \1" < 1172971942 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(irssi) < 1172971944 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Maybe #tapthru would be a better place to ask... < 1172971973 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1172972052 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it occurs to me that it is reasonable to ignore multiple CTCPs, since they could be used to flood your screen. < 1172972745 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ackerman function is funny < 1172972857 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :gah < 1172972865 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants to understand that bignums paper < 1172972894 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anything in particular? < 1172972920 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the notation < 1172972950 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I'm lost after page 3 < 1172972978 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eh, the pages aren't numbered < 1172973002 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"Representation of natural numbers" is page 3 < 1172973060 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh. i don't think we are reading the same URL... < 1172973076 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://www.cs.st-andrews.ac.uk/~eb/writings/bignums.ps < 1172973116 0 :manveru!unknown@unknown.invalid PART #esoteric :? < 1172974603 0 :nazgjunk!unknown@unknown.invalid QUIT :"Leaving" < 1172975032 0 :GreaseMonkey!n=notapoly@222-152-179-78.jetstream.xtra.co.nz JOIN :#esoteric < 1172975332 0 :ihope_!unknown@unknown.invalid NICK :ihope^ < 1172975533 0 :ihope^!unknown@unknown.invalid NICK :ihope_ < 1172976065 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :mmm... parsers are very easy to make messy. :) < 1172976217 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the solution is the Use a parser-generator or a monadic parsing library < 1172976222 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*to use < 1172976251 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the latter give you unbelievably awful code but you never have to look at it. < 1172976255 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*former < 1172976278 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the latter give you nice lear code, though it might be fiddly to use sometimes < 1172976585 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I'm just using a... class-with-some-event-methods approach. < 1172976758 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... do the methods correspond to tokens of the grammar? < 1172976814 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :otherwise you might indeed end up messy, if you try to make it input-driven rather than grammar-driven. < 1172976920 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but recursive descent can be simple if the grammar is suitable for it. < 1172977079 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :predictive is trivial even in Pascal < 1172977430 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... I see it happening in "stages" so to speak... < 1172977458 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :this part of it is building the AST by just finding literal characters and reacting to them. < 1172977485 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so far I've managed to keep it fairly clean. < 1172977709 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :What's the... uh.. typical way to do it? < 1172977754 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Nick collision from services. < 1172977760 0 :thematrixeatsyou!n=notapoly@222-152-239-165.jetstream.xtra.co.nz JOIN :#esoteric < 1172978034 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the typical way is to make the parser call the input routines rather than the other way around. < 1172978065 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and to let the parser branch and do recursive calls to sub-parsers based on what was read. < 1172978107 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :oooh... I've got a really good way to implement that... < 1172978114 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I made it for a different purpose... < 1172978121 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :but... it would work great for parsing. < 1172978159 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(sometimes it would be useful to recurse even before anything was read) < 1172978175 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :like with operator precedence. < 1172978187 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: do tell < 1172978199 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :let me see if I can find it... < 1172978226 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh, and usually you need lookahead for input, since sub-parsers and post-parsers may need to look at a token again. < 1172978251 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah... I used that... having a readuntil() makes things way less messy. :) < 1172978340 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :http://deadbeefbabe.org/paste/3859 < 1172978374 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :_read will be the most relevant < 1172978375 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :incidentally the parser generators mentioned before are input-driven, and as SimonRC said, the resulting code is horribly messy (but efficient) < 1172978450 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... that's a bad demostration of it... since it just shows thei internals... lemme find where I used it. < 1172978462 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :being based around a constructed finite automaton which few would want to create by hand. < 1172978538 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :basically you give it a coroutine that yields output and will be sent input. < 1172978586 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :if it yields a string, the string if outputted... if it yields another coroutine, it'll make that coroutine the "sub-reader" for as long as its active.. < 1172978633 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :... < 1172978654 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :you'd need to modify the concept some... but it could effectively be the basis for a parser. < 1172978699 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except that it is the coroutine that is the real parser. < 1172978751 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :you could have the parser do an event-based call thing... and take the return value of the callback as its yield. < 1172978754 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :or something. < 1172978767 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so this is exactly the opposite of what i suggested. < 1172978778 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...probably < 1172978786 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you let the parser do the calling, you don't need coroutines. < 1172978802 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...it does < 1172978811 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :that's what I'm doing right now... < 1172978886 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok to be more precise: if you let the parser do the calling and let the result be passed as the return value of the call. < 1172979044 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :that's what Im... doing? :) < 1172979073 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok then < 1172979079 0 :calamari!n=alvinj@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1172979084 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1172979282 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I suddenly want to see the results of one of those "uptime games" in this channel. < 1172979292 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Voice everybody, see who stays voiced the longest. < 1172979309 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :And hope the network doesn't catastrophic(al)ly fail. < 1172979315 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't be me.. I shut down every night < 1172979319 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I will last weeks usually < 1172979346 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Who'd last the longest? < 1172979349 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :clog? < 1172979352 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1172980894 0 :GreaseMonkey!n=notapoly@222-152-239-165.jetstream.xtra.co.nz JOIN :#esoteric < 1172980910 0 :thematrixeatsyou!unknown@unknown.invalid QUIT :Nick collision from services. < 1172982598 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to bed < 1172982688 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : 9:28PM up 83 days, 4:38, 1 user, load averages: 0.10, 0.09, 0.08 < 1172982714 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Irssi uptime: 39d 2h 31m 20s < 1172982715 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1172982729 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Who's that, now? < 1172982736 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :me < 1172982743 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :39 days? < 1172982752 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Not bad :-) < 1172982780 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's actually not running on one of my boxes < 1172982784 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :but the 83 days is < 1172983074 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1172983935 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Nick collision from services. < 1172983953 0 :GreaseMonkey!n=notapoly@222-152-239-165.jetstream.xtra.co.nz JOIN :#esoteric < 1172987057 0 :ihope_!unknown@unknown.invalid NICK :ihope < 1172989123 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1172994228 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1172994635 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1172994922 0 :RodgerTheGreat!n=Rodger@wads-5-232-13.resnet.mtu.edu JOIN :#esoteric < 1172994934 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Client Quit < 1172994992 0 :RodgerTheGreat!n=Rodger@wads-5-232-13.resnet.mtu.edu JOIN :#esoteric < 1172995004 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Client Quit < 1172995035 0 :RodgerTheGreat!n=Rodger@wads-5-232-13.resnet.mtu.edu JOIN :#esoteric < 1172995199 0 :clog!unknown@unknown.invalid QUIT :ended < 1172995200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1172995535 0 :ShadowHntr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1172996106 0 :helios24!i=helios@item.n1.helzilla.de JOIN :#esoteric < 1172999604 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1173000150 0 :Sukoshi!n=user@user-11fa9mp.dsl.mindspring.com JOIN :#esoteric < 1173000494 0 :sebbu!n=sebbu@ADijon-152-1-27-143.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1173001510 0 :sebbu2!n=sebbu@ADijon-152-1-100-100.w81-50.abo.wanadoo.fr JOIN :#esoteric < 1173002658 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1173003238 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1173003757 0 :Sukoshi!unknown@unknown.invalid QUIT :"ERC Version 5.1 (CVS) $Revision: 1.796 $ (IRC client for Emacs)" < 1173004144 0 :wooby!unknown@unknown.invalid QUIT : < 1173004925 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1173005145 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173005235 0 :cmeme!unknown@unknown.invalid QUIT :Remote closed the connection < 1173005979 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1173006416 0 :cmeme!n=cmeme@boa.b9.com JOIN :#esoteric < 1173009798 0 :ShadowHntr!unknown@unknown.invalid QUIT :"End of line." < 1173010342 0 :jix__!n=jix@dyndsl-080-228-181-096.ewe-ip-backbone.de JOIN :#esoteric < 1173012196 0 :Sukoshi``!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1173012371 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173012403 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173013456 0 :jix__!unknown@unknown.invalid NICK :jix < 1173013723 0 :tgwizard!n=tgwizard@c-a73ee155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1173013921 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173014908 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173015109 0 :sebbu!n=sebbu@ADijon-152-1-60-119.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1173016030 0 :nazgjunk!unknown@unknown.invalid QUIT :"Leaving" < 1173016273 0 :sebbu2!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1173018177 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1173018482 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173020470 0 :nazgjunk!unknown@unknown.invalid QUIT :"Leaving" < 1173020538 0 :helios24!unknown@unknown.invalid QUIT :"Leaving" < 1173021319 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173022481 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1173024705 0 :tgwizard!unknown@unknown.invalid QUIT :Connection timed out < 1173024735 0 :tgwizard!n=tgwizard@c-a73ee155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1173024924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmmm < 1173024925 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.... < 1173024932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this window is broken. < 1173024963 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you better get it changed then. < 1173025545 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1173025672 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173025699 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah... just had to read the logs first < 1173025705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :here goes! < 1173025707 0 :oklopol!unknown@unknown.invalid PART #esoteric :? < 1173025711 0 :oklopol!n=villsalo@194.251.102.88 JOIN :#esoteric < 1173025732 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION enjoys his brand new window <3 < 1173025861 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is it made with Glass? < 1173025882 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i doubt it < 1173025885 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed, why doesn't Glass have a window system? < 1173025893 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yep, wondering the same thing < 1173025895 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's illogical! < 1173025909 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it should have a lot of inbuilt window stuff < 1173025920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :class W to be precise < 1173025990 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it'd be poor object-oriented design. Windows should extend glass, adding special properties, while Glass is a more general case, also extended by classes like PetriDish and MagnifyingGlass < 1173026047 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the windows system has to be made out of Glass, not just written in C++. < 1173026181 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :something like fluidic logic? < 1173026203 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it'd be difficult to make anything mechanical entirely out of glass < 1173026351 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173026384 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173026397 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I guess there's always optical computing as well < 1173026469 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1173026477 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right... we need an F class for fibers. < 1173026516 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173026968 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :are fibers just faster threads? < 1173026996 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :they also have less overhead, I believe, unless that's what you mean by "faster" < 1173027031 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i meant better < 1173027132 0 :UpTheDownstair!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173027180 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173027968 0 :UpTheDownstair!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173028007 0 :UpTheDownstair!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173028069 0 :UpTheDownstair!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1173028094 0 :UpTheDownstair!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173028271 0 :UpTheDownstair!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173028566 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173029893 0 :digital_me!n=digital@wikipedia/Digitalme JOIN :#esoteric < 1173031158 0 :SevenInchBread!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173031865 0 :digital_me!unknown@unknown.invalid QUIT :"Lost terminal" < 1173032763 0 :helios24!n=helios@item.n1.helzilla.de JOIN :#esoteric < 1173033178 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1173033564 0 :goban!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173033579 0 :goban!n=whyso@ip68-107-157-108.hr.hr.cox.net JOIN :#esoteric < 1173033934 0 :helios24!unknown@unknown.invalid QUIT :"Leaving" < 1173034122 0 :helios24!i=helios@item.n1.helzilla.de JOIN :#esoteric < 1173034561 0 :jix__!n=jix@dyndsl-085-016-236-170.ewe-ip-backbone.de JOIN :#esoteric < 1173034794 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1173034796 0 :jix__!unknown@unknown.invalid NICK :jix < 1173036208 0 :kxspxr!n=kxspxr@x1-6-00-0c-41-39-32-8e.k302.webspeed.dk JOIN :#esoteric < 1173036267 0 :kxspxr!unknown@unknown.invalid QUIT :Client Quit < 1173036420 0 :pgimeno!unknown@unknown.invalid PART #esoteric :? < 1173036945 0 :ihope!n=ihope@tapthru/resident/ihope JOIN :#esoteric < 1173036953 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~ctcp #esoteric Foo < 1173036963 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Eh. < 1173037045 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :~ctcp #esoteric Version < 1173037062 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :~ctcp #ruby-de Version < 1173037064 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1173037136 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :...I could have just used /names, eh? < 1173037164 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1173037173 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1173037505 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes a VM < 1173037510 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :register machine < 1173037641 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :for no particular reason < 1173037723 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Minsky? < 1173037823 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no < 1173037984 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Segmentation fault (core dumped) < 1173038005 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wtf. < 1173038061 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmmm < 1173038078 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's odd < 1173038086 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :off-by-one error? < 1173038127 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hint: add bounds checks < 1173038130 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it segfaults at cur = code[state.pc], saying "Cannot access memory at address &cur" < 1173038139 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sends oerjan to get the keys to the spin-lock. < 1173038152 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :??? < 1173038191 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now that does sound strange < 1173038210 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :maybe cur is the result of a cast? < 1173038219 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :And while you're there, could you kill the idle process? < 1173038222 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1173038231 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1173038236 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :struct instruction cur; < 1173038261 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is it a global? < 1173038266 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sorry, I've just been reading about fictional objects and tasks that noobs are sent to fetch/do. < 1173038271 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no, local < 1173038289 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: some architectures pass structs by reference in C. < 1173038295 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I have read about such things. < 1173038307 0 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1173038323 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :But you'd only be able to break that by writing an ill-typed program. < 1173038338 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :other locals are broken too < 1173038344 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-S < 1173038360 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is cur a parameter? < 1173038376 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no < 1173038398 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :stack is undereferenceable too < 1173038417 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wait... is this Python or no? < 1173038422 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION asks bsmntbombdood to find out the password for the root window. < 1173038442 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION laughs at ihope  < 1173038447 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :have you set any strange options? < 1173038462 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1173038464 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :gcc -g < 1173038491 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(The root window in X Windows is "root" in the graph theory sense, not like the "root user".) < 1173038518 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :mmm hmmm < 1173038524 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION asks ihope to fetch an optical mouse ball from the cupboard. < 1173038533 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1173038537 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :sorry, i am having an attack of silly creativity. < 1173038549 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION does so < 1173038562 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1173038590 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :this is weird < 1173038612 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what other variables are broken? < 1173038627 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :stack, an array < 1173038629 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... bugSophia actuallys looks pretty fun... I should implement it. < 1173038646 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :of struct state s < 1173038673 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :maybe your linker fucked up < 1173038704 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It's all one file < 1173038719 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pastebin < 1173038767 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/381344 < 1173038792 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :line 17 is where is segfaults < 1173038927 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :immediately, or does it go throught the loop? < 1173038980 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :immediatly < 1173038982 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what happens if you make cur global? < 1173039065 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :segfaults on line 18 < 1173039099 0 :ShadowHntr!unknown@unknown.invalid QUIT :"End of line." < 1173039159 0 :helios24!unknown@unknown.invalid QUIT :"Leaving" < 1173039251 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i give up < 1173039934 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1173039995 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :this is weird < 1173040086 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is writing a compiler < 1173040093 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but it's for a non esoteric language < 1173040097 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :so it's a bit offtopic < 1173040117 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :we don't care < 1173040118 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just coded a working game ai in python < 1173040123 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :took about 3 hours < 1173040127 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...and now it's gone < 1173040136 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :how could that happen?! < 1173040143 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea. < 1173040153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i opened the file and it loaded a 4 hour old version < 1173040154 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1173040168 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe python doesn't save on alt-f-s < 1173040171 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like notepad < 1173040181 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just do thatit does < 1173040184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*it does < 1173040192 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... no idea < 1173040208 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... maybe i'll rewrite it... what could be more fun < 1173040217 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :uhm how could python save? < 1173040222 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pyidle < 1173040230 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1173040231 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1173040246 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :idle is the name i think < 1173040251 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :an ide for python < 1173040251 0 :sebbu2!n=sebbu@ADijon-152-1-60-119.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1173040287 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i'm writing my compiler using test driven development < 1173040315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't really feel like coding anymore... i'll go kill myself or something -> < 1173040324 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: nah don't do that < 1173040346 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :oh and i don't have a girlfriend anymore! < 1173040352 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i do! < 1173040360 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just got one < 1173040361 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you have one? < 1173040364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1173040367 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i got one a month ago < 1173040373 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1173040388 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :so you know what will happen to you in a month < 1173040390 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't agree with your "prefer spending time with her over programming" though < 1173040395 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1173040422 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you'll turn into jix, of course. < 1173040425 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You know German, right? < 1173040434 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :If not, you have a month to learn it. < 1173040440 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Aye. < 1173040445 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And to move to Germany. < 1173040456 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or at least proxy through Germany, or something. < 1173040469 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no i don't hope those things will happen to me... i got really depressed and everything before we decided to uhm ... "break up" (sais my dictionary) < 1173040470 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... i'm not sure if that's what jix was about to say < 1173040486 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :....business programming always makes me nauseas... < 1173040505 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: is it always done in COBOL? < 1173040506 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :*will happen to you < 1173040522 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :jix i'm not that social... i think i'll manage a break-up < 1173040533 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no the break-up wasn't the problem < 1173040546 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :but... taking 3 hours to type out the (truncated) 99 bottles of beer song in a language that doesn't even have an implementation... is the kind that gets me excited. < 1173040547 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :the time before that < 1173040550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1173040557 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :1.5 weeks before that < 1173040575 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :one would think being social makes it _easier_ to manage a break-up < 1173040591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... social is not the word < 1173040594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :human < 1173040596 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1173040774 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :well but now i have time to code :) < 1173040841 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty furious now, fuck this < 1173040849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :python < 1173040852 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll strangle it < 1173040859 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :python is nice. < 1173040873 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :WHY YOU SEGFAULT! < 1173040874 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :python is mean < 1173041009 0 :sebbu3!n=sebbu@ADijon-152-1-52-39.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1173041426 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1173042122 0 :sebbu2!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1173042444 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok, figured it out < 1173042455 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I was requesting too much memory from the stack < 1173043921 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I am confused < 1173044072 0 :goban!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173044077 0 :goban!n=whyso@ip68-107-157-108.hr.hr.cox.net JOIN :#esoteric < 1173044567 0 :goban!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173044582 0 :goban!n=whyso@ip68-107-157-108.hr.hr.cox.net JOIN :#esoteric < 1173044925 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok my vm fails < 1173045004 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :mmm... http://esolangs.org/wiki/BugSophia#99_bottles_of_beer_.28truncated_lytics.29 <--coolest looking 99BoB ever. < 1173045032 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1173045119 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I thought I had a good idea but I didn't < 1173045238 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1173045277 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Can't figure out how to return values from subroutines < 1173045323 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :in? < 1173045347 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :This little vm I was writing < 1173045379 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I've never figured out what a vm was other than some kind of abstract-assembly type thing. < 1173045386 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1173045429 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :either way... your system architecture needs to be able to work with the vm... so I don't get how it's any better than without it. :P < 1173045469 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1173045525 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :that's supposed to be the advantage of a VM right? You don't need to be compatable with the architecture underneath. < 1173045531 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1173045574 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.... once I make a bS interpreter... I should give it a count mode so that it'll keep track of how many "threads" were created during execution. < 1173045593 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :the 99 BoB would be at least a hundred. < 1173045637 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :they're not really threads to the OS... but they work concurrently... < 1173045847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i remade the ai :DDDDDDDDDDDDDDDDDD < 1173045856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was a 20 min job on the second attempt :P < 1173045860 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, 30 < 1173045863 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe 40 < 1173045866 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but you get the point < 1173045872 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, but doesn't the VM have to be compatable with the architecture? < 1173045885 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-nod- things are way easier once you know how you're going to do them. :) < 1173045924 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :let's see.... the minimum amount of threads the 99 bottles program would create is.... < 1173045992 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: The point of a vm is to play with it's assembly language < 1173046004 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It's nothing more than an implementation of a language < 1173046080 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :(25 * 99) for the strings.... 1 for the counter... and 1 + (27 * 99) for the main loop < 1173046091 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1173046169 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :2 + (52 * 99) ...mmm, -opens up Python to do the next bit- < 1173046190 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :5150 < 1173046291 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :zomg, that's the sum of all numbers below 100, + 200 < 1173046410 0 :goban!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173046419 0 :goban!n=whyso@ip68-107-157-108.hr.hr.cox.net JOIN :#esoteric < 1173046422 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...wow... what a coincidence? < 1173046597 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1173046836 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, What kind of ai? I admit I'm a little curious... I wouldn't know where to begin with ai. < 1173046851 0 :sebbu!n=sebbu@ADijon-152-1-59-87.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1173046885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a brute force ai :) < 1173046906 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the game's rules are somewhat complicated... i took the short road < 1173046947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just a board game by me and a friend... would have rules online, but once again in finnish < 1173046948 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :brute force... that's where the ai simply simulate every possible situation that could occur and determine which is best? < 1173046955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1173046977 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :How far do you go with each of them? < 1173046992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can specify it for the < 1173046993 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ai < 1173047012 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, the problem is never depth, it's width < 1173047015 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bredth < 1173047017 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1173047055 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :O think a fun game to play would be like "befunge hockey chess"... where you have two goals and take turns placing befunge characters on the field inbetween instruction ticks or something. < 1173047085 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because a human will easily recognize it does not matter in which order he does some 20 moves... while it's very hard to make the computer do the same < 1173047094 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :and try to be the first to complete the specified object and output the results to your output stream. :) < 1173047127 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the game is kinda sick, every turn means putting a piece on the board and doing a lot of recursive jumping... < 1173047140 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, sounds like fun :D < 1173047153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wish i had irl friends who could program befunge... < 1173047175 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1173047185 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :could rig up some over-the-network thing with a basic GUI < 1173047198 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, actually not that hard < 1173047203 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :IN TKINTER. < 1173047205 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do it and well have fun together ;D < 1173047205 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1173047211 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...suuure < 1173047213 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*we'll < 1173047241 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...I really don't want to have to swap IP addresses... not for security or anything... I'm just really lazy < 1173047350 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://freedns.afraid.org/ < 1173047387 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :....sweet. :) < 1173047506 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...will they spam your email? :) < 1173047654 0 :UpTheDownstair!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1173047675 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1173047730 0 :UpTheDownstair!unknown@unknown.invalid NICK :nazgjunk < 1173047864 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no < 1173048012 0 :sebbu3!unknown@unknown.invalid QUIT :Connection timed out < 1173048097 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :(am bored i) < 1173048115 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay... anybody wanna explain something to me < 1173048119 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(wait, i'll tell) < 1173048147 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i made a timeout for my algo, it only does 300000 iterations before terminating < 1173048161 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1173048166 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this way i get 35 moves (the algo tries to find the longest combo) < 1173048229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, i have no idea why, but i put if iterations>100000 and random.random()<0.1: return combo << a short termination randomly in every 10th recursive call < 1173048263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and suddenly it finds length 50 combos < 1173048298 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(i have manually archieved a 15 combo from that starting point :P) < 1173048348 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It's a sign from the jeebus < 1173048387 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmm... alright. < 1173048397 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ACTION got a subdomain... now just needs to figure out how to access it. < 1173048401 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually... it of course does the 300000 iterations anyway, because i just increase the counter when i call the function... so it won't be increased when short terminating < 1173048416 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :aah.. wait nevermind. < 1173048425 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :duh... it just goes to my IP address. :P < 1173048445 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you gotta love it when you get a feeling you should do something no matter if it seems not to make sence... and it doubles the capability of your program < 1173048535 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmm... now I need to find a decent befunge interpret that works incrementally instead of all at once. < 1173048541 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :otherwise I'll just make my own. < 1173048668 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :make your own! < 1173048690 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION loves torturing his computer < 1173048731 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...I wonder how terrible of a server my computer makes. :) < 1173048742 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has the cheapest Dell he could have bought. < 1173048811 0 :tgwizard!unknown@unknown.invalid QUIT :Remote closed the connection < 1173048823 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :muahaha! two million iterations! < 1173048841 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... usually servers are designed to have a lot of storage space and RAM right? < 1173048849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know < 1173048857 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't play with hardware < 1173048861 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :never seen a computer naked < 1173048875 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I doubt you'd design one with high-end graphics cards. ;) < 1173048891 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1173048896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :server you mean? < 1173048902 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah yeah < 1173048910 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true, might be kinda redundant < 1173049001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've done 3 semesters of cisco ccna... but i have no idea how to set up a server < 1173049022 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and proccessor...and bus speed... < 1173049136 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and 1337n355 < 1173049356 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :it would depend on what you're using it for though. < 1173049405 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :a large website would want a lot of disk space... while a search engine would want massive massive hoards of anything good. < 1173050075 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kay... a combo of 901 moves... record move is 35 from last night... < 1173050097 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't think this is such a good training opponent after all -______- < 1173050754 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION procedes to write a program with a runtime that explodes like ackermann's function. < 1173050771 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It is only for the purpose of writing a proof, though. < 1173050780 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I just need to show something is copmputable. < 1173050797 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1+1 is pretty computable < 1173050808 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :doesn't explode though < 1173050823 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nonono, a particular thing < 1173050856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i misread your typo, sorry < 1173050857 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1173050866 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1173050869 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there was no typo < 1173050876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes there was < 1173051253 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :....this is basically just an echo server. < 1173051268 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :takes input and shouts it out to everyone. < 1173051512 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...with a number next to it. < 1173051533 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's the point of ackermann's function < 1173051560 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1173051590 0 :nazgjunk!unknown@unknown.invalid QUIT :"Leaving" < 1173052383 0 :Asztal!n=asztal@82.16.83.152 JOIN :#esoteric < 1173052562 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: in general, or in SimonRC's program? < 1173052577 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :in general < 1173052616 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it was invented in order to show that there are functions that can be computed with general recursion but not with primitive recursion. < 1173052635 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yaaay... got the server done.. < 1173052659 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :now I just need to flesh out the GUI and an interpreter thing. < 1173052697 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in order to do this, it had to grow at a whopping speed. < 1173052698 0 :RobHu!n=robhu@www.robhulme.com JOIN :#esoteric < 1173052699 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :in the meantime... I shall turn my domain name into AN AWESOME WEBSITE. < 1173052711 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :where's a lazy-to-use HTML server program I could use. < 1173052720 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :er... < 1173052722 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :HTTP < 1173052749 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :camping! < 1173052756 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...heh, I'll just write one... while I'm at it. < 1173052777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: Here? And did you bring a tent?