< 1232236800 0 :BeholdMyBot!n=BeholdMy@d83-183-181-73.cust.tele2.se JOIN :#esoteric < 1232236819 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Mwahaha < 1232236831 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :[00:59:58] <@FireFly> ^bf +++++++++++++.-----[->++++++++>++++>++++++++++++<<<]>++++++++++.+++++.------.+++++.>.+++.>+++++.++++++++++++++.----.+++++.---------------.+++++++++++++.---------.------. < 1232236841 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric := [CR]JOIN #esoteric < 1232236845 0 :BeholdMyBot!unknown@unknown.invalid PART #esoteric :? < 1232237012 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I just released Coadjute, in case you're interested. < 1232237017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :link < 1232237022 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And with that, I'm off to sleep -> < 1232237034 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :iki.fi/matti.niemenmaa/coadjute < 1232237052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thx < 1232237052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1232237336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :www.iki.fi/matti.niemenmaa/coadjute < 1232237372 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: wut? < 1232237378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, for clickability? < 1232237613 0 :BeholdMyGlory!unknown@unknown.invalid PRIVMSG #esoteric :^bf ,[.,]!Hello World! < 1232237613 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Hello World! < 1232237621 0 :BeholdMyGlory!unknown@unknown.invalid PRIVMSG #esoteric :^bf +++++++++++++.---[>++++++<-]>+++++<+++++[>+++<-]>.<+++++[>---<-]>.<+++++[>+++<-]>++.++.>+++++++[>+++++<-]>---.+++.<+++[<+++++>-]<++.++++++++++++++.----.+++++.---------------.+++++++++++++.---------.------. < 1232237621 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :.PART #esoteric < 1232237634 0 :BeholdMyGlory!unknown@unknown.invalid PRIVMSG #esoteric :damn :P < 1232237638 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes. < 1232237751 0 :moozilla!i=moozilla@c-67-160-125-205.hsd1.wa.comcast.net JOIN :#esoteric < 1232238501 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Holy shit kottke.org redesigned and it looks so ugly < 1232238640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, ok, only the STUPID BLUE BORDER looks ugly < 1232239401 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :yea < 1232239405 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :it started looking all fine < 1232239412 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :until loading the images finished < 1232239442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sees if he can block that image ;-) < 1232240110 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :"bye" < 1232240271 0 :FireFly!unknown@unknown.invalid QUIT :"Later" < 1232243978 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1232243979 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1232244446 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Great, I have a functioning Lispoid. It has only one primitive: lambda. < 1232244476 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I don't want to figure out how it works, so you guys tell me what expressions to evaluate. < 1232244521 0 :GregorR!n=gregor@65.183.185.132 JOIN :#esoteric < 1232244541 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Hi, GregorR. I'm a LISP bot now. < 1232244584 0 :GregorR!unknown@unknown.invalid QUIT :Remote closed the connection < 1232244598 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I guess I was too scary. < 1232244665 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :WHO HIGHLIGHTED BSMNT_BOT < 1232244673 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :*Lisp> evaluate . read $ "((lambda a (a a)) (3 4))" < 1232244673 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :((3 4) (3 4)) < 1232244707 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Hey, I got it to go into an actual infinite loop. < 1232244715 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :As opposed to those fake infinite loops you see on TV. < 1232244753 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :...not suprising < 1232244925 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :*Lisp> evaluate . read $ "((lambda s ((lambda k s) (lambda x (lambda y x)))) (la < 1232244929 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :mbda x (lambda y (lambda z ((x z) (y z))))))" < 1232244931 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :[lambda x (lambda y (lambda z ((x z) (y z))))] < 1232244936 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Phear. < 1232244973 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Replacing that inner thing with (s k) gives this: [lambda y (lambda z (((lambda x (lambda y x)) z) (y z)))] < 1232245085 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :((s k) a) gives this: [lambda z (((lambda x (lambda a x)) z) (a z))] < 1232245096 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :(((s k) a) b), surprisingly, gives this: b < 1232245126 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Wait, no, that's actually correct. < 1232245213 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I'd be surprised if this could actually handle big expressions correctly. < 1232245836 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION makes s, k and i built-ins < 1232245967 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Now the only things we need are foldr and equality testing. < 1232246326 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :And both have now been implemented. < 1232246551 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :All we need to do now is make it an IRC bot! < 1232246838 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :Lambda is just one greek character. Why need 6 characters to encode it? < 1232246858 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It would be shorter to just use L. < 1232246902 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :or some non-alphanumeric one, such as \, which resembles lambda < 1232246929 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :((\s ((\k s) (\x (\y x)))) (\x (\y (\z ((x z) (y z)))))) < 1232247287 0 :adimit!unknown@unknown.invalid PRIVMSG #esoteric :Yi actually has a built-in feature (in haskell mode) that translates '\' directly to the unicode-character 'lambda' in the right context. < 1232247310 0 :adimit!unknown@unknown.invalid PRIVMSG #esoteric :tremendously useful for my sore eyes :-) < 1232247479 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :((λs ((λk s) (λx λy x))) (λx λy λz x z (y z))) < 1232247724 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I think my Lispy IRC bot is ready. < 1232247739 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :There's a small problem, though, in that any parse error in your expression will cause it to disconnect. < 1232247742 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Oh well. < 1232247746 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232247756 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval s < 1232247769 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, darn. < 1232247823 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :CREAMPUFF! < 1232247824 0 :kerlobot!unknown@unknown.invalid QUIT :Remote closed the connection < 1232247831 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Cool, that made it quit. < 1232248208 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :So, I'm stealing someone else's IRC code. < 1232248698 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232248705 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval s < 1232248705 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l x (l y (l z ((x z) (y z))))] < 1232248709 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Woot! < 1232248719 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval This is a syntax error: ]]]]] < 1232248720 0 :kerlobot!unknown@unknown.invalid QUIT :Remote closed the connection < 1232248727 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Wow. < 1232248899 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232248904 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval s < 1232248904 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l x (l y (l z ((x z) (y z))))] < 1232248910 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval This is a syntax error: ]]]]] < 1232248911 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232248926 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Lovely. < 1232248973 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((s i) i) ((s i) i)) < 1232248983 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval I'm waiting... < 1232248999 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that's never going to finish. < 1232249002 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232249383 0 :puzzlet_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232249389 0 :puzzlet!n=puzzlet@147.46.241.231 JOIN :#esoteric < 1232249656 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232249660 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval 3 < 1232249660 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1232249670 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval This is probably a syntax error. < 1232249671 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232249682 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval "test" < 1232249683 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :"test" < 1232249688 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval "test" + "test" < 1232249689 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232249689 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp This is probably a syntax error. < 1232249690 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232249699 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp muahaha < 1232249702 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval "test" < 1232249702 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :muahaha < 1232249705 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval s < 1232249705 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :muahaha < 1232249710 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp input < 1232249714 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval "test" < 1232249715 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :"test" < 1232249741 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (+ "a" "b") < 1232249742 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(+ "a" "b") < 1232249746 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Built-in functions: s, k, i, l, f, e < 1232249763 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :So one thing it can do is evaluate SKI calculus. < 1232249792 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ["a" "b"] < 1232249793 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232249810 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :no way to concatenate strings? < 1232249815 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1232249827 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :You might be able to figure out a way to concatenate lists, though. < 1232249844 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (+ [1 2] [3 4]) < 1232249844 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232249847 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :f is the foldr function. < 1232249865 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1232249866 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval [1, 2] < 1232249867 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232249869 0 :puzzlet!n=puzzlet@147.46.241.231 JOIN :#esoteric < 1232249896 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((l x (l y (list x y))) 1) 2) < 1232249896 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(list 1 2) < 1232249928 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Obvious improvement: make l take a list of arguments, not just one. < 1232249985 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l list (list x)) y) < 1232249986 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(y x) < 1232249998 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :so how is list different from any other value? < 1232250003 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It isn't. < 1232250016 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :numbers, strings and tuples < 1232250038 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :My lisp has three types: atom, list, and lambda function. < 1232250060 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval "xy < 1232250060 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :"xy < 1232250062 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1232250064 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :"foo" is an atom. "(blah blah blah)" is a list. "[l x y]" is a lambda function. < 1232250097 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :If you don't have any parentheses or brackets, you won't have any lists or lambda functions. < 1232250128 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :I know. Since you didn't mention strings, I had to test the function of " < 1232250135 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION nods < 1232250160 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :" is not a special character in any way; only parentheses, brackets and whitespace are different from letters. < 1232250176 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :CREAMPUFF! < 1232250176 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232250187 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232250209 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232250213 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Now it's better. < 1232250232 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp (the answer is input) < 1232250235 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (s k) < 1232250236 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(the answer is (s k)) < 1232250245 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that's not the answer at all. < 1232250247 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232250250 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (s k) < 1232250250 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l y (l z ((k z) (y z)))] < 1232250282 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#temp (x y) < 1232250286 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (x y) < 1232250286 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(x y) < 1232250296 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Now everything will evaluate to (x y). < 1232250302 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (x y input) < 1232250303 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(x y) < 1232250306 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#temp (x y input) < 1232250308 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (x y) < 1232250308 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(x y) < 1232250324 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :The bot stores a template, which is by default "input". < 1232250349 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :The #temp and #eval commands substitute their input for the word "input" in the template, then do something with the results. < 1232250364 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232250366 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp sets the the template to it; #eval evaluates it and outputs the result. < 1232250366 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232250374 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Now the template is "input" again. < 1232250431 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval s < 1232250431 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l x (l y (l z ((x z) (y z))))] < 1232250433 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval k < 1232250434 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l x (l y x)] < 1232250435 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval i < 1232250435 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l x x] < 1232250448 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (e 3 3) < 1232250448 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(e 3 3) < 1232250452 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Oops. < 1232250458 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (e 3 3 yes no) < 1232250458 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232250460 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (e 3 4 yes no) < 1232250461 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :no < 1232250479 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f one two (1 2 3)) < 1232250480 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(one 1 (f one two (2 3))) < 1232250488 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f one two ()) < 1232250488 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :two < 1232250529 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l foo (How useful!)) input) < 1232250540 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (one fish two fish red fish foo fish) < 1232250540 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(How useful!) < 1232250548 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Oops, wrong way around. < 1232250549 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232250561 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l foo input) (How useful!)) < 1232250563 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (one fish two fish red fish foo fish) < 1232250564 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(one fish two fish red fish (How useful!) fish) < 1232250583 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l red input) (Not.)) < 1232250585 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (one fish two fish red fish foo fish) < 1232250585 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(one fish two fish (Not.) fish (How useful!) fish) < 1232250603 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l fish input) (Look, they stack! foo foo foo)) < 1232250607 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (one fish two fish red fish foo fish) < 1232250607 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(one (Look, they stack! (How useful!) (How useful!) (How useful!)) two (Look, they stack! (How useful!) (How useful!) (How useful!)) (Not.) (Look, they stack! (How useful!) (How useful!) (How useful!)) (How useful!) (Look, they stack! (How useful!) (How useful!) (How useful!))) < 1232250619 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232250622 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :And that's how you set things. < 1232250990 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :CREAMPUFF! < 1232250990 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232250996 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232251008 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Now it should behave intelligently if you apply a function to too many arguments. < 1232251020 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (s x y z) < 1232251020 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l x (l y (l z ((x z) (y z))))] x y z) < 1232251032 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1232251073 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Did I do something silly, like forget to reload? < 1232251077 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :CREAMPUFF! < 1232251078 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232251090 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232251094 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (s x y z) < 1232251095 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((x z) (y z)) < 1232251099 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Much better. < 1232251112 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (one fish two fish red fish blue fish) < 1232251112 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(((((((one fish) two) fish) red) fish) blue) fish) < 1232251122 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Look how intelligent that is! < 1232251211 0 :CakeProphet!n=seveninc@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1232251327 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Now to figure out how to concatenate two lists using this thing. < 1232251421 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Okay, here are the guts of this bot: http://pastebin.ca/1311359 < 1232251440 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :If I figure out how to access the wiki, I might write a little spec for this language and put it there. < 1232251517 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :what are you kids doing < 1232251521 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :kerlo whats this kerlobot thing < 1232251537 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It's an esolang bot, I guess. < 1232251576 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :what lang < 1232251586 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It's something resembling Lisp. < 1232251593 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :i see < 1232251597 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :and written ins haskell! < 1232251601 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Yep. < 1232251627 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :only 53 lines for the whole bot? < 1232251651 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :The whole bot is 152 lines. The guts of the interpreter are just 53, though, I guess. < 1232251672 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ah ok. < 1232251678 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :i was wondering why i didnt see io stuff there :p < 1232251751 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :CREAMPUFF! < 1232251751 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232251759 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232251766 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (cons 1 (2 3)) < 1232251767 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((cons 1) (2 3)) < 1232251774 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (c 1 (2 3)) < 1232251774 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(1 2 3) < 1232251778 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :There we go. < 1232251796 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :That's wrong, though. :-P < 1232251827 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :CREAMPUFF! < 1232251827 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232251835 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232251840 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (a 1 (2 3)) < 1232251840 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((1 2) 3) < 1232251849 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :CREAMPUFF! < 1232251854 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ahh very smart < 1232251855 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1232251857 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :CREAMPUFF! doesn't actually do anything. < 1232251861 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1232251863 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :darn < 1232251871 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :and here i thought it was your special restart command < 1232251871 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it doesn't do anything that, say, "There we go." wouldn't. < 1232251872 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1232251900 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I assure you that this is all part of my evil plan. < 1232251908 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (list (1 2 3)) < 1232251908 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(list (1 2 3)) < 1232251909 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232251940 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh, ski < 1232251942 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i like ski < 1232251957 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Do some ski, bsmntbombdood! < 1232252095 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval f < 1232252096 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :f < 1232252131 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (l x (l y (x y)) a b < 1232252136 0 :kerlobot!unknown@unknown.invalid QUIT :Remote closed the connection < 1232252138 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232252143 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Wow. < 1232252210 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Let me fix the parser, then... < 1232252221 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1232252244 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232252248 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (l x (l y (x y)) a b < 1232252249 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (l x (l y (x y)) a b < 1232252249 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232252249 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232252253 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Jinx. < 1232252260 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (l y (x y)) a b) < 1232252260 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232252274 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Match your parentheses, my friend. < 1232252277 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :lambdas can only take one argument? < 1232252279 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: that was quick < 1232252288 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Lambdas can only take one argument, inded. < 1232252293 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :That was quick, indeed. < 1232252294 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't it take longer than 3 seconds to make that change? < 1232252302 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Well, I just added the line readsPrecLisp' n [] = [] < 1232252319 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (l (x y) (z (x y))) (1 2) < 1232252319 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232252325 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (x y) (z (x y))) (1 2)) < 1232252325 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(((l (x y)) (z (x y))) (1 2)) < 1232252327 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :stupid haskell < 1232252339 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Meaning "if you're waiting for a close bracket and there's nothing there, there are no parses." < 1232252361 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (l y (x y))) a b) < 1232252361 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(a b) < 1232252384 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (this is the input) < 1232252384 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(((this is) the) input) < 1232252394 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Boring. < 1232252401 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp (input input input) < 1232252401 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp (input input input) < 1232252402 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp (input input input) < 1232252404 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval 3 < 1232252405 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((((((3 3) 3) (3 3 3)) (3 3 3)) ((3 3 3) (3 3 3) (3 3 3))) ((3 3 3) (3 3 3) (3 3 3))) < 1232252410 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232252446 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (l x (e x 3)) 4 < 1232252447 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232252470 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Lists must be enclosed in parentheses. < 1232252477 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (e x 3)) 4) < 1232252477 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((e 4) 3) < 1232252510 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :wasn't e = equals? < 1232252519 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but it takes four arguments. < 1232252532 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (l x (e 0 1 x 3)) 4 < 1232252532 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232252536 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (e 0 1 x 3)) 4) < 1232252536 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Returns the third if the first and second are equal, the fourth otherwise. < 1232252537 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1232252548 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (e x 3 0 1)) 4) < 1232252548 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232252561 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (e x 3 1 0)) 3) < 1232252561 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232252583 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I'm still waiting for someone to figure out a function for concatenating two lists. :-) < 1232252588 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Might not be possible; I dunno. < 1232252633 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :nothing I could think of. foldr works for breaking up a list, but not putting it back together < 1232252663 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :you need car and cdr :P < 1232252669 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :and cons < 1232252684 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (a (does this look like) (cons to you?)) < 1232252685 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((((does this look like) cons) to) you?) < 1232252701 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :What we need is... < 1232252737 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :...CREAMPUFF! < 1232252737 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232252761 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232252766 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :What we need is v! < 1232252780 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (v test (a (does this look like) (cons to you?))) < 1232252780 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(test ((((does this look like) cons) to) you?)) < 1232252789 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I think that's wrong. < 1232252796 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's v? < 1232252798 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (v (1 2 3) (4 5 6)) < 1232252798 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(((1 2) 3) ((4 5) 6)) < 1232252802 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :apply (Atom "v") (x:xs) = evaluate (List (x : map evaluate xs)) < 1232252827 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's the point of that? < 1232252833 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Good question! < 1232252860 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It was intended to circumvent this: apply f (x1:x2:xs) = apply (apply f [x1]) (x2:xs) < 1232252875 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (a x (1 2 3)) < 1232252875 0 :GregorR!n=gregor@65.183.185.132 JOIN :#esoteric < 1232252875 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(((x 1) 2) 3) < 1232252880 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :But that line sucks, so I've removed both. Creampuff. < 1232252881 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232252893 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232252898 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (1 2 3) < 1232252898 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(1 2 3) < 1232252903 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ugh, haskell < 1232252906 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (a x (1 2 3)) < 1232252906 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(x 1 2 3) < 1232252910 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :tryin to be all elegant 'n shit < 1232252915 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Now it's starting to look like cons, eh? < 1232252940 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (a (1 2 3) (4 5 6)) < 1232252941 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((1 2 3) 4 5 6) < 1232253014 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f a () ((1 2 3) (4 5 6))) < 1232253015 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((1 2 3) f a () ((4 5 6))) < 1232253044 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure something looked like a good idea at the time. < 1232253065 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f a x ((1 2 3) (4 5 6))) < 1232253065 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((1 2 3) f a x ((4 5 6))) < 1232253067 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Let me make it better. < 1232253092 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f one two (1 2 3)) < 1232253092 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(one 1 (f one two (2 3))) < 1232253119 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Cream. < 1232253120 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232253126 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232253130 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f one two (1 2 3)) < 1232253131 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(one 1 (one 2 (one 3 two))) < 1232253137 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f a x ((1 2 3) (4 5 6))) < 1232253138 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((1 2 3) a (4 5 6) x) < 1232253141 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232253147 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Strange. < 1232253155 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f a () ((1 2 3) (4 5 6))) < 1232253156 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((1 2 3) (4 5 6)) < 1232253161 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Less strange. < 1232253177 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f one two ((1 2 3) (4 5 6))) < 1232253177 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(one (1 2 3) (one (4 5 6) two)) < 1232253202 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (a x) () ((1 2 3) (4 5 6))) < 1232253202 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((a x) (1 2 3) ((a x) (4 5 6) ())) < 1232253225 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (a x ()) () ((1 2 3) (4 5 6))) < 1232253225 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((a x ()) (1 2 3) ((a x ()) (4 5 6) ())) < 1232253258 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :it should re-evaluate it until it can't any more < 1232253272 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((a x ()) (1 2 3) ((a x ()) (4 5 6) ())) < 1232253272 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((x) (1 2 3) ((a x ()) (4 5 6) ())) < 1232253278 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that's broken. < 1232253316 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Puff. < 1232253316 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232253322 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232253329 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (a x) () ((1 2 3) (4 5 6))) < 1232253330 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((a x) (1 2 3) ((a x) (4 5 6) ())) < 1232253339 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (a x ()) () ((1 2 3) (4 5 6))) < 1232253339 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((x) (1 2 3) ((x) (4 5 6) ())) < 1232253357 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :doesn't seem to recognize (a x) as a partial application of a < 1232253367 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1232253517 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l z (a x z)) () ((1 2 3) (4 5 6))) < 1232253518 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l z (a x z)] (1 2 3) ([l z (a x z)] (4 5 6) ())) < 1232253541 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders how a head or tail function might be made < 1232253587 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :A variable-argument lambda would be very nice. < 1232253602 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l a (l b a)) (1 2 3) (4 5 6)) < 1232253603 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l a (l b a)] 4 ([l a (l b a)] 5 ([l a (l b a)] 6 (1 2 3)))) < 1232253610 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :A bit difficult, though. < 1232253628 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l x (l y (a x y))) (1 2 3) (4 5 6)) < 1232253629 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l x (l y (a x y))] 4 ([l x (l y (a x y))] 5 ([l x (l y (a x y))] 6 (1 2 3)))) < 1232253655 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (1 2 3] < 1232253655 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(1 2 3) < 1232253669 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Closing brackets don't seem to matter. < 1232253670 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :why doesn't that work? --^ < 1232253686 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ([l x (l y (a x y))] 4 ([l x (l y (a x y))] 5 ([l x (l y (a x y))] 6 (1 2 3)))) < 1232253686 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l x (l y (a x y))] 4 ([l x (l y (a x y))] 5 ([l x (l y (a x y))] 6 (1 2 3)))) < 1232253699 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Wait a bit, let me write the new lambdas. < 1232253701 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (l y (a x y))) 4 ((l x (l y (a x y))) 5 ((l x (l y (a x y))) 6 (1 2 3)))) < 1232253701 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l x (l y (a x y))] 4 ((l x (l y (a x y))) 5 ((l x (l y (a x y))) 6 (1 2 3)))) < 1232253866 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x 1) 3) < 1232253866 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232253882 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (l y x)) 3 4) < 1232253883 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l x (l y x)] 3 4) < 1232253890 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((l x (l y x)) 3) 4) < 1232253890 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232253909 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232254261 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232254273 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((l x (l y x)) 3) 4) < 1232254273 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(((l x (l y x)) 3) 4) < 1232254282 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l x (l y x)) 3 4) < 1232254283 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((l x (l y x)) 3 4) < 1232254285 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232254292 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (x y z) (they are x y z z y)) 1 2 3) < 1232254293 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(they are 1 2 3 3 2) < 1232254360 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (x) (l (y) x)) 3 4) < 1232254361 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l (x) (l (y) x)] 3 4) < 1232254370 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((l (x) (l (y) x)) 3) 4) < 1232254370 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1232254374 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1232254382 0 :puzzlet!n=puzzlet@147.46.241.231 JOIN :#esoteric < 1232254407 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((l (x) (l (x) x)) 3) 4) < 1232254408 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1232254492 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (left right) (f a right left)) (1 2 3) (4 5 6)) < 1232254493 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(1 2 3 4 5 6) < 1232254496 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :woot < 1232254553 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (e 1 2 3 4) < 1232254553 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1232254562 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (e 1 2 3 4 5) < 1232254562 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(e 1 2 3 4 5) < 1232254654 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l (x y) x) (1 2 3)) < 1232254655 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(f (l (x y) x) (1 2 3)) < 1232254662 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l (x y) x) r (1 2 3)) < 1232254662 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232254671 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l (x y) x) x (1 2 3)) < 1232254672 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232254684 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l (x y) x) x (this is a list)) < 1232254685 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :this < 1232254695 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Congratulations, you've implemented head. < 1232254742 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((lambda (l) input) (f (l (x y) x) (error: empty list) l)) < 1232254746 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (head (1 2 3)) < 1232254746 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((lambda (l) (head (1 2 3))) (f (l (x y) x) (error: empty list) l)) < 1232254750 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Darn. < 1232254761 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232254847 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((lambda (head) input) (f (l (x y) x) (error: empty list) l)) < 1232254851 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (head (1 2 3)) < 1232254851 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((lambda (head) (head (1 2 3))) (f (l (x y) x) (error: empty list) l)) < 1232254862 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232254870 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Why isn't that evaluating... < 1232254885 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :lambda? < 1232254890 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :D'oh. < 1232254894 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232254903 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l (head) input) (f (l (x y) x) (error: empty list) l)) < 1232254907 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (head (1 2 3)) < 1232254907 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((f (l (x y) x) (error: empty list) l) (1 2 3)) < 1232254930 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :a little better < 1232254935 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1232254962 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232254994 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l (head) input) (lambda (list) (f (l (x y) x) (error: empty list) list))) < 1232255001 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (head (1 2 3)) < 1232255001 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((lambda (list) (f (l (x y) x) (error: empty list) list)) (1 2 3)) < 1232255028 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232255035 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l (head) input) (l (list) (f (l (x y) x) (error: empty list) list))) < 1232255037 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (head (1 2 3)) < 1232255038 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232255040 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Finally. < 1232255048 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (head ()) < 1232255049 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(error: empty ()) < 1232255061 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that's silly. < 1232255067 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232255080 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l (head) input) (l (ls) (f (l (x y) x) (error: empty list) ls))) < 1232255084 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (head ()) < 1232255085 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(error: empty list) < 1232255097 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval input < 1232255097 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :input < 1232255130 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (error: empty head) < 1232255130 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(error: empty (l (ls) (f (l (x y) x) (error: empty list) ls))) < 1232255202 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval s < 1232255202 0 :kerlobot!unknown@unknown.invalid QUIT :Remote closed the connection < 1232255208 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232255230 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Hum. < 1232255236 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232255239 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval s < 1232255240 0 :kerlobot!unknown@unknown.invalid QUIT :Remote closed the connection < 1232255252 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Right, the definition of s is now broken. < 1232255277 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232255280 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval < 1232255285 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval s < 1232255286 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l (x) (l (y) (l (z) ((x z) (y z))))] < 1232255293 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :That's the new definition of s. < 1232255317 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (s x y z) < 1232255317 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l (x) (l (y) (l (z) ((x z) (y z))))] x y z) < 1232255335 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((s x) y) z) < 1232255335 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((x z) (y z)) < 1232255371 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#temp ((l (s) input) lol) < 1232255376 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((s x) y) z) < 1232255376 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(((lol x) y) z) < 1232255381 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#reset < 1232255387 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval k < 1232255388 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l (x) (l (y) x)] < 1232255426 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((l (x y) x) 1) 2) < 1232255426 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(([l (x y) x] 1) 2) < 1232255433 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (x y) x) 1 2) < 1232255433 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232255445 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :no partial application < 1232255460 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Correct. < 1232255460 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :of multi-var lambdas < 1232255487 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval i < 1232255488 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l (x) x] < 1232255488 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It's like Haskell, I guess. You have to explicitly uncurry them. < 1232255505 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Explicitly curry them, rather. < 1232255522 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It's just that Haskell pretty much uses curry by default. < 1232255598 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :#eval (a i (1 2 3)) < 1232255599 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l (x) x] 1 2 3) < 1232255671 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Fun fact: a evaluates its first argument. < 1232255751 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :I should sleep... < 1232255837 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :yesterday: «07:43:59» {MizardX} shower and breakfast < 1232255850 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :now: «06:17:16» < 1232258837 0 :metazilla!i=moozilla@c-67-160-125-205.hsd1.wa.comcast.net JOIN :#esoteric < 1232260208 0 :moozilla!unknown@unknown.invalid QUIT :Connection timed out < 1232260868 0 :moozilla!n=moozilla@c-67-160-125-205.hsd1.wa.comcast.net JOIN :#esoteric < 1232261656 0 :metazilla!unknown@unknown.invalid QUIT :Connection timed out < 1232264596 0 :moozilla!unknown@unknown.invalid QUIT :K-lined < 1232265361 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1232265599 0 :clog!unknown@unknown.invalid QUIT :ended < 1232265600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1232269018 0 :puzzlet_!n=puzzlet@147.46.241.231 JOIN :#esoteric < 1232269066 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1232270943 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh, not a single spam message since yesterday? How strange, usually there are around 10-20 new spams after a night. < 1232272290 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232274061 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1232274932 0 :MigoMipo!n=MigoMipo@84-217-6-184.tn.glocalnet.net JOIN :#esoteric < 1232275287 0 :FireFly!unknown@unknown.invalid QUIT :"Later" < 1232275978 0 :oklopol!n=nnscript@a91-153-121-248.elisa-laajakaista.fi JOIN :#esoteric < 1232276014 0 :BeholdMyGlory!n=arvid@d83-183-181-73.cust.tele2.se JOIN :#esoteric < 1232277398 0 :Judofyr!n=Judofyr@c6A9CBF51.dhcp.bluecom.no JOIN :#esoteric < 1232277716 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232278328 0 :KingOfKarlsruhe!n=nice@HSI-KBW-091-089-252-201.hsi2.kabel-badenwuerttemberg.de JOIN :#esoteric < 1232280851 0 :Mony!n=Harmony@AToulouse-258-1-101-136.w90-60.abo.wanadoo.fr JOIN :#esoteric < 1232280945 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1232282970 0 :sebbu2!unknown@unknown.invalid QUIT :No route to host < 1232283896 0 :sebbu!n=sebbu@ADijon-152-1-85-212.w81-49.abo.wanadoo.fr JOIN :#esoteric < 1232284581 0 :Judofyr!n=Judofyr@c6A9CBF51.dhcp.bluecom.no JOIN :#esoteric < 1232286262 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1232286264 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1232286412 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1232286477 0 :MigoMipo!n=MigoMipo@84-217-6-184.tn.glocalnet.net JOIN :#esoteric < 1232286563 0 :Corun!n=Corun@94-193-40-216.zone7.bethere.co.uk JOIN :#esoteric < 1232287909 0 :BeholdMyGlory!n=arvid@d83-183-181-73.cust.tele2.se JOIN :#esoteric < 1232287952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :optimising scheme is hard, you can't even constant-fold (+ 1 1) because you can redefine + at any point < 1232287964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :including e.g. EVAL on user input < 1232288106 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can constant-fold it, and have a global trigger system, attaching a lambda to unfold the constant when + is changed < 1232288128 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :essentially just a hack to get over the theoretical possibility of being fucked in the ass by a smart-ass user. < 1232288133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that's not much of an optimization :-P < 1232288150 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why not? you get the same speed as with just constant folding < 1232288157 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: < 1232288160 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you just need to do a few more lookups when defining functions < 1232288162 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(define old+ +) < 1232288167 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(set! + (lambda (a b) 0)) < 1232288171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[stuff] < 1232288171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(set! + old+) < 1232288186 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then it does exactly the same as constant-folded, but slowly < 1232288189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and that's not very consistent < 1232288242 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err. < 1232288315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure what you mean < 1232288328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232288336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_sec_6.4 <-- god, scroll down to dynamic-wind < 1232288339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that shit is crazy < 1232288474 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there isn't a subchapter on it, i would have to read the surrounding of the term < 1232288487 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've read that, so err what's its point? < 1232288513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is too lazy to read more than absolutely necessary :< < 1232288523 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe because i read about 10 hours yesterday < 1232288551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it lets you detect call/cc, pretty much < 1232288560 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e., if we call/cc out of the thunk thing, we call the after thing first < 1232288566 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kind of < 1232288649 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh i remember. weird ordering shit and thunk stuff. < 1232288666 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my brain is kinda mush atm :< < 1232288684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: basically i'm thinking about writing a super-mega-fast scheme implementation < 1232288701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and things like dynamic-wind piss me off because they throw my whole model around :< < 1232288757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well, the gist of compiling uncompilable things is to make the frequent case fast, that is, assume things happen the normal way and do somekinda hack around the fact they might not. this is a trivial idea of course, just that you might not want to do that because it's not fun to implement. < 1232288772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: not schemey though is it < 1232288785 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well it's more schemey than say befungey. < 1232288789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :schemey would be finding a fast way to implement everything without any special cases < 1232288801 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in scheme you rarely, for instance, swap the meaning of + all the time for no reason. < 1232288802 0 :MigoMipo!unknown@unknown.invalid QUIT :"QuitIRCException: MigoMipo out of IRC" < 1232288810 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well i'm not talking about dynamic-wind < 1232288813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1232288813 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you should make that fast < 1232288824 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm talking about the weirder stuff. < 1232288824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just, i mean, i don't like the idea of having your program being slower or whatever just because you used one particular featur < 1232288825 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e < 1232288842 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it feels like someone saying, you know, "don't do this", but it's part of scheme, and you should be able to do it and stay as fast < 1232288871 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well of course not, i just don't think redefining on the fly is really a feature; dynamic-wind i have a hard time commenting, because i'd have to think about it first :P < 1232288875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you have to understand that i'm going for crazy-ass speed < 1232288892 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like, first interpreter, I'm gonna aim for like 5-6x slower than c, or so < 1232288896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mean, that's really fast for an interpreter < 1232288907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then I think I'll make it a compiler/jit and write it totally in scheme and stuff < 1232288914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and I want to eventually get it ~2x slower than c < 1232288922 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which will be awesome because I'll never have to write c again. < 1232288929 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i'll assume you're compiling a recursive fibonacci definition into a closed-form expression. < 1232288944 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and something equally awesome for everything else too. < 1232288974 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh you're just going for c speed < 1232288975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: a goal for the compiler is to get the generated asm be as compact as hand-written :DD < 1232288986 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, c is pretty fast :D < 1232288987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was thinking like faster than assembly. < 1232288993 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faster than theoretically possible < 1232288998 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1232289001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't want to underestimate you see. < 1232289012 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well it could be faster than c < 1232289022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because, I mean, it's compiling to machine code, pretty much < 1232289033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you could probably write a program faster than the equivalent in c < 1232289049 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so have you read computer architecture - a quantitative approach? < 1232289065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll just assume you have < 1232289074 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so what's the first chapter's idea < 1232289075 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1232289086 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :50 pages of fucking random charts about speeds of random processors and shit < 1232289108 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i haven't, but < 1232289108 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :before getting to scheduling algorithms and other *content* < 1232289109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that sounds awesome < 1232289133 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :I'll have you guys know < 1232289140 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :That I just copied a bit of your conversation < 1232289143 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :In to another conversation < 1232289145 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean i understand they want to include statistics and history and shit so people feel like they're reading about something that has practical significance. < 1232289152 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :To show an example usage of the word lol < 1232289157 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Congratulations < 1232289160 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :You're THE INTERNET. < 1232289179 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but what about us weirdos who can't skip the reading of the useless parts :| < 1232289198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Corun: ooh, which part < 1232289268 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :The bit with the lol in... < 1232289273 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric : i was thinking like faster than assembly. < 1232289273 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric : faster than theoretically possible < 1232289273 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric : lol < 1232289273 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric : i don't want to underestimate you see. < 1232289286 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232289313 0 :ais523!n=ais523@147.188.254.127 JOIN :#esoteric < 1232289321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hi ais523 < 1232289331 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi oklopol < 1232289336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i had something to say to you at some point. just fyi, i already forgot what :P < 1232289339 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow, I'm so busy in RL < 1232289345 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that explains why I'm here on Sunday < 1232289345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :me too. kinda. < 1232289352 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1232289366 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: me in #esoteric = me online < 1232289378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe I could optimize scheme by requiring a Proof of Fastness, which is the same program written in assembly < 1232289381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it just uses that assembly < 1232289390 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so there's more chance of me being here when busy, than there is of me being here when not busy < 1232289401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it would have to prove the two programs were equivalent, or there's be no point < 1232289415 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1232289418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1232289425 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you want to mislead people, that's OK < 1232289434 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it won't try and force its philosophy on you. < 1232289439 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :undefined behaviour if the two programs are different? < 1232289448 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that way, it is in fact implementing the Scheme < 1232289486 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1232289496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hello ais523 < 1232289501 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1232289531 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, exactly! < 1232289559 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this is annoying, my mouse wheel seems confused < 1232289559 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...hey < 1232289565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so have you read computer architecture - a quantitative approach? < 1232289567 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when I turn it downwards, it sometimes scrolls upwards, and vice versa < 1232289568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no < 1232289569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that means you end up having to write asm instead of C < 1232289574 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is like, even worse < 1232289577 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh. you could have, maybe. < 1232289585 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: meh, just write C that's the same as the Scheme, and compile it into asm < 1232289592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : when I turn it downwards, it sometimes scrolls upwards, and vice versa <-- that happened to be once < 1232289595 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or, fwiw, write INTERCAL that's the same as the Scheme, and compile /that/ into asm < 1232289604 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :IRC client extension idea: detects when you make a joke and ignores AnMaster for 5 minutes so you don't have to hear it flying over his head. < 1232289609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what worked was taking the several old mouse apart, and cleaning it < 1232289616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't that be great? < 1232289620 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this one seems to be impossible to take apart < 1232289632 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I agree it probably needs cleaning, but there's no obvious method for it < 1232289640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, look under any stickers or such < 1232289666 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's one screw on the bottom of the mouse < 1232289684 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it has a big feel of "THIS IS AN OPTICAL MOUSE SO YOU DON'T NEED TO CLEAN IT SO WE AREN'T EVEN GOING TO LET YOU CLEAN IT, OK?" < 1232289710 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, if it has some kind of "pads" in the corners the screws are probably hidden under them < 1232289716 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :note that they can be hard to reattach < 1232289751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a mouse that's like an optical mouse, except it doesn't suck and works on just about every surface. Also, no light on the bottom. < 1232289760 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the corner pads fell off on my mouse before this one, and there wasn't anything underneath them < 1232289760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, MS dumbm^Wintellimouse? < 1232289760 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(The comedy option you're about to pick isn't correct.) < 1232289766 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, this one's by Toshiba < 1232289770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm ok < 1232289785 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I have an intellitrackball at home, I think < 1232289791 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, on ms mice they tend to be hidden under those corner pads < 1232289796 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :we got it for the desktop computer when mice kept falling off the table < 1232289802 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that one is cleanable, and I have to clean it lots < 1232289817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1232289825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I want a simple to clean mouse < 1232289829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :preferably washable < 1232289847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :same for keyboard < 1232289865 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's pretty hard to get decent mice nowadays < 1232289876 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the retailer I bought this one from has since gone bankrupt < 1232289878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well yes, and hard to get large enough ones < 1232289894 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's not so much of a problem for me, I'm OK with small mice < 1232289903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ms mice actually tend to be the only ones that work for me when it comes to size < 1232289908 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and even then only barely < 1232289931 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :things are too big for me. < 1232289945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't use certain features of programs because hte keyboard shortcuts are too hard for me to hit. < 1232289947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl food < 1232289947 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because i have tiny hands. < 1232289954 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird: so you mean it's *not* a bit clown nose? < 1232289967 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, it's hard to hold a mouse correctly when it's bigger than your hand < 1232289972 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: get a smaller keyboard? < 1232289974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: haha < 1232289977 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: this one _is_ small < 1232289999 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh dear. that joke was so oerjan. < 1232290010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you can always get a smaller one < 1232290013 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i seriously think i'm slowly oerjanizing. < 1232290018 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there must be some way to use an Eee PC as a keyboard, for instance < 1232290024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: unlikely, in this case < 1232290033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and no way am I paying that much for a keyboard < 1232290034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also < 1232290039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the eee pc keyboard isn't much smaller than this i think < 1232290099 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can't find any measurements of this kb on the internetwebs unfortunately < 1232290176 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you can measure it with a ruler easily enough < 1232290182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if it's physically there in front of you < 1232290186 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and if it isn't, how are you typing? < 1232290188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, yeah, but that's _cheating_ < 1232290270 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION compiles an in-head list of things R5RS Scheme is missing to be able to write programs in < 1232290278 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(it's surprisingly short, 5-6 or so elements) < 1232290307 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :could you add them to it easily? < 1232290351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Quite easily. Some are easier than others. < 1232290362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't think any of them break backwards compatibility, either. < 1232290385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(i.e., they don't change the semantics of any R5RS-correct programs, just define some R5RS-incorrect programs to be extended-R5RS-correct) < 1232290423 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'm going to write a Scheme implementation you see < 1232290430 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in what? < 1232290435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to start with, C < 1232290441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Scheme's good for writing Scheme impls, but you have a chicken-and-egg problem there < 1232290443 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then, for the next version, Scheme < 1232290447 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what I < 1232290452 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'m going to do is: < 1232290455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :first version - interpreter < 1232290463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :second version - compiler & JIT < 1232290471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one of my main goals for both is to be stinking fast < 1232290479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the first version I'm aiming for something like 5x slower than c < 1232290487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :second version? hopefully, competitive with C < 1232290496 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :5x slower, in an /interpreter/? < 1232290498 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :good luck < 1232290503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok, that was an exaggeration :-) < 1232290512 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i meant like 10x, I was just being hopeful < 1232290522 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty sure 10x would be possible. < 1232290553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but indeed, chicken and the egg for version 2 < 1232290562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one solution is to keep maintaining version 1 alongside it < 1232290565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you can run version 2 < 1232290573 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but that kind of defeats the point of rewriting it in scheme < 1232290603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't like ghc's solution of "compile with the previous version, then just hold on tight to that binary" < 1232290606 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's fragile < 1232290607 0 :ais523!unknown@unknown.invalid QUIT :Client Quit < 1232290615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bye. < 1232290617 0 :ais523!n=ais523@147.188.254.127 JOIN :#esoteric < 1232290619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wb. < 1232290623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, hm when version 2 can bootstrap itself... < 1232290624 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what did you miss? < 1232290630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: how? < 1232290636 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You need to run it initially. < 1232290642 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: how should I know what I missed? < 1232290646 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : one solution is to keep maintaining version 1 alongside it < 1232290650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you said compiler/jit? < 1232290650 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is the last thing I didn't miss < 1232290654 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :14:56 so you can run version 2 < 1232290654 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :14:56 but that kind of defeats the point of rewriting it in scheme < 1232290655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :14:56 i don't like ghc's solution of "compile with the previous version, then just hold on tight to that binary" < 1232290658 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :14:56 it's fragile < 1232290660 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, written in Scheme. < 1232290660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, true < 1232290670 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it will likely use its own extensions. < 1232290673 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you need it to compile it. < 1232290675 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it isn't fragile if you hang on to past binaries < 1232290681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it is < 1232290684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you shouldn't rely on a binary like that < 1232290687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's too closed up < 1232290693 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: CLC-INTERCAL works like that < 1232290694 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so well what about "statically compile if the code uses this subset" or something < 1232290701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's CLC-INTERCAL. < 1232290702 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :instead of jit < 1232290704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and besides, it isn't closed up, you have the source and can regenerate it from the binary < 1232290711 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: sorry, I can only answer coherent questions < 1232290726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, fair point < 1232290741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you rephrase that coherently I'll answer :p < 1232290746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, basically: will it jit or be able to compile stand alone binaries? < 1232290750 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :both < 1232290757 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1232290772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what about compiling to C as a different backend? < 1232290782 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :chicken and the egg < 1232290782 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would solve the issue < 1232290785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you run it to compile it to C? < 1232290804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well you boot strap it, in the future you can use the C source to compile it < 1232290807 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that is the ghc solution for porting < 1232290822 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the resulting C program is more or less illegible, despite being portable < 1232290835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I dislike that solution < 1232290838 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, interesting, but wouldn't you need more for porting ghc, like adding asm output backend < 1232290844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because you don't have a way to get it going just from itself < 1232290849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you need to hang on to the one compilation < 1232290853 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ghc compiles via C--, IIRC < 1232290864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so yes, you'd need a new C-- to asm backend < 1232290868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, wasn't the original lisp hand compiled? < 1232290868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so < 1232290877 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes. The original lisp was also trivially useless. < 1232290904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so maintain an interpreter that is portable < 1232290906 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like gcc does < 1232290909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :multiple stages < 1232290916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: < 1232290917 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :14:56 one solution is to keep maintaining version 1 alongside it < 1232290918 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :14:56 so you can run version 2 < 1232290920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :14:56 but that kind of defeats the point of rewriting it in scheme < 1232290926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I love it when I can just copy and paste past messages to answer people. < 1232290936 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, compiling gcc on a really old compiler needs a multi-stage bootstrap nowadays < 1232290938 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well not exactly. Since version 1 could be written in portable scheme? < 1232290940 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :via older versions of gcc < 1232290955 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: now ehird will tell you there's no such thing as portable scheme < 1232290956 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I'm pretty sure you can use a non-gcc for stage1? < 1232290963 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, it couldn't, because that's like raping myself. < 1232290963 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232290964 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you can, but only if it's relatively modern < 1232290984 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well C89 is ok to expect of course < 1232290987 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232290988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for instance, there are no compilers for DOS that can bootstrap DJGPP < 1232290998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you could cross compile it < 1232291001 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#what < 1232291002 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the only way to get a workign DJGPP impl starting from something else is to cross-compile < 1232291002 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :input < 1232291072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, shouldn't a standard following C89 compiler be enough for gcc stage1? < 1232291084 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think so < 1232291085 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well yes you need make, sh and so on < 1232291090 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for instance, I'm pretty sure it also needs a 32-bit int < 1232291102 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is not a requirement of a C89 compiler < 1232291108 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1232291319 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (x y) (f a y x)) (1 2 3) (4 5 6)) < 1232291319 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(1 2 3 4 5 6) < 1232291327 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#help < 1232291334 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: what does your bot do? < 1232291343 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It evaluates this Lisp-like language. < 1232291363 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :The most important command is #eval, obviously. < 1232291368 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lisp with different primitives < 1232291370 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :? < 1232291374 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I guess. < 1232291378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :kerlo, specs for this lisp-like language? < 1232291391 0 :Mony!unknown@unknown.invalid QUIT :"Quit" < 1232291406 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Let me pastebin the source code and also demonstrate a bit. < 1232291434 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since when is specs == source code < 1232291437 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1311618 < 1232291441 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Since forever! < 1232291464 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :brb phone < 1232291495 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :The primitives are l (lambda), f (foldr), e (equality testing), and a (cons or apply); the familiar s, k and i are also implemented, but are not primitives. < 1232291503 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((s i) i) < 1232291503 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l (z) ((i z) (i z))] < 1232291534 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (x y) (blah y x)) (2 3)) < 1232291535 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l (x y) (blah y x)] (2 3)) < 1232291549 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION blinks < 1232291566 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (x y) (blah y x)) 2 3) < 1232291566 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(blah 3 2) < 1232291579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#eval *Y&DSY*&%&5ˆ‹̄›†¢ˆ¢§ˆ¯ßˆ•þ‡̂†̄ ̑›†‡·°_‚·̀ < 1232291580 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232291584 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BREAK DAMN YOU < 1232291587 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f raa ree (1 2 3)) < 1232291588 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(raa 1 (raa 2 (raa 3 ree))) < 1232291594 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : since when is specs == source code < 1232291603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Since nobody cares about your need of specs to survive. < 1232291615 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (e 1 2 yes no) < 1232291616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And since we people started using expressive languages. < 1232291616 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :no < 1232291619 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (e 1 1 yes no) < 1232291619 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232291633 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (a 1 (2 3 4)) < 1232291633 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(1 2 3 4) < 1232291640 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :And that's it. < 1232291659 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Well, there are also the #temp, #reset, and #what commands. < 1232291807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Dear DYNAMIC-WIND, < 1232291811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Please remove yourself from R5RS. < 1232291812 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Love, < 1232291813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Elliott. < 1232291847 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#eval (((s i) i) ((s i) i)) < 1232291857 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it doesn't guard that. < 1232291859 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, ok < 1232291860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now kerlo will have to restart it < 1232291868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#eval INFINITE LOOPED < 1232291877 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't be too hard to put an anti-infiniloop protection on... < 1232291877 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232291901 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not at all. I'll send you the full source code so that you can do that. :-P < 1232291905 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232291923 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: just; < 1232291930 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :have an extra argument to the reduce-stepper < 1232291937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :put it at 1000 initially, and decrement it every time you recurse < 1232291942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :when it gets to 0, return a special atom like < 1232291945 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that does sound easy. < 1232291950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :!looped! < 1232291976 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what about output length? < 1232291984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they're symbols. < 1232291990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can't concatenate them. < 1232291998 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it can evaluate to a list, yes. < 1232291998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I mean, could you cause excess flood < 1232292005 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since it outputs on one line, no,. < 1232292009 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm ok < 1232292030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you could still cause filled buffer I believe before it is split in lines < 1232292033 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (lambda (x y) (f a (y) x)) () (one two three)) < 1232292033 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((lambda (x y) (f a (y) x)) one ((lambda (x y) (f a (y) x)) two ((lambda (x y) (f a (y) x)) three ()))) < 1232292036 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure about that < 1232292039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it isn't split into lines < 1232292042 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, nobody cares < 1232292043 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (x) (f a x x)) (y)) < 1232292043 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(y y) < 1232292064 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes but if you send 1 MB in one line the server is going to quit you anyway I think < 1232292070 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least some ircds do that < 1232292072 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody cares < 1232292099 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (y z) (y (y (y (y (y z))))) (l (x) (f a x x)) (y)) < 1232292099 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1232292102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#eval (l (f) ((l (x) (f (x x))) (l (x) (f (x x))))) < 1232292102 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l (f) ((l (x) (f (x x))) (l (x) (f (x x))))] < 1232292108 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :^ y < 1232292113 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l (x y) (f a (y) x)) () (one two three)) < 1232292113 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(f a ((f a ((f a (()) three)) two)) one) < 1232292116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (y z) (y (y (y (y (y z)))))) (l (x) (f a x x)) (y)) < 1232292117 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l (x) (f a x x)] ([l (x) (f a x x)] (f a [l (x) (f a x x)] [l (x) (f a x x)]) [l (x) (f a x x)] ([l (x) (f a x x)]) f a [l (x) (f a x x)] [l (x) (f a x x)]) [l (x) (f a x x)] ([l (x) (f a x x)] ([l (x) (f a x x)]) f a [l (x) (f a x x)] [l (x) (f a x x)]) [l (x) (f a x x)] (f a [l (x) (f a x x)] [l (x) (f a x x)]) [l (x) (f a x x)] ([l (x) (f a x x)]) f a [l (x) (f a x x)] [l (x) (f a x x)]) < 1232292134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oi, use my y < 1232292141 0 :Judofyr!n=Judofyr@c6A9CBF51.dhcp.bluecom.no JOIN :#esoteric < 1232292156 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (y z) (y (y (y (y (y z)))))) (l (x) (f a x x)) (l (f) ((l (x) (f (x x))) (l (x) (f (x x)))))) < 1232292156 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l (x) (f a x x)] ([l (x) (f a x x)] (l (f) a ((l (x) (f (x x))) (l (x) (f (x x)))) [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))]) [l (x) (f a x x)] [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))] l (f) a ((l (x) (f (x x))) (l (x) (f (x x)))) [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))]) [l (x) (f a x x)] ([l (x) (f a x x)] [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))] l (f) a ((l (x) (f (x x))) (l (x) (f (x x)))) [l (f) ((l (x) < 1232292159 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1232292162 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :#eval ((l (y z) (y (y (y (y (y z)))))) (l (x) (f a x x)) (q)) < 1232292163 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :([l (x) (f a x x)] ([l (x) (f a x x)] (q q) [l (x) (f a x x)] (q) q q) [l (x) (f a x x)] ([l (x) (f a x x)] (q) q q) [l (x) (f a x x)] (q q) [l (x) (f a x x)] (q) q q) < 1232292170 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ok, that seems to be a bug < 1232292173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#eval (l (f) ((l (x) (f (x x))) (l (x) (f (x x))))) < 1232292174 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :[l (f) ((l (x) (f (x x))) (l (x) (f (x x))))] < 1232292175 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lambdas don't seem to be scoping properly < 1232292177 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523333333333333333333333333333333333333333333 < 1232292188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it doesn't do renaming < 1232292189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1232292190 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#eval (f (l (x y) (f a (x) y)) () (one two three)) < 1232292190 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(three two one) < 1232292204 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then how can I do recursion properly? < 1232292210 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ais523: congratulations, you've discovered the lambda bug. < 1232292223 0 :MigoMipo!n=MigoMipo@84-217-6-184.tn.glocalnet.net JOIN :#esoteric < 1232292231 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, if it's a known bug, that's OK < 1232292231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :too many bloody (non-indented) parentheses for me to read < 1232292245 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :makes it pretty hard to program in, though < 1232292248 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, would this bug make the language sub-tc? < 1232292264 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no idea < 1232292264 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Translate your program into SKI and see if it works. < 1232292268 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably not, if SKI works < 1232292271 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1232292324 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :You might be able to circumvent it by using [l ...] instead of (l ...). < 1232292358 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what do the square brackets mean? < 1232292423 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The problem with writing a program in Scheme is that you have to write the implementation first. < 1232292439 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, or use an existing implementation < 1232292444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1232292448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That does not work correctly. < 1232292453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why not? < 1232292469 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's special syntax for a Lambda instead of a List evaluating to a Lambda. < 1232292483 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'd tell you, but that would take hours because it's you < 1232292490 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ehird seems to think that various langs, like Scheme and Smalltalk, are inherently incapable of being portable < 1232292492 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :The insert function, which lambdas use for substitution, doesn't affect Lambdas as badly as Lists. < 1232292496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, I don't. < 1232292506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well good thing there is R6RS then :D < 1232292508 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ducks < 1232292553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and FWIW I'm incredibly tired of the "AnMaster says something stupid, ais523 replies saying something untrue in the format 'oh ehird thinks this and that' in a condescending manner" pattern that happens near-daily in here < 1232292555 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and well, if you want non-basic stuff then R5RS is a pain. < 1232292655 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least C has a large enough standard library to make it possible to write kind of portable apps that are still quite useful < 1232292681 0 :ais523!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232292686 0 :ais523!n=ais523@147.188.254.127 JOIN :#esoteric < 1232292703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ais523, and well, if you want non-basic stuff then R5RS is a pain. < 1232292720 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :someone should invent a PSOX but for non-esoteric langs < 1232292726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1232292727 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: No. They shouldn't. < 1232292743 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I had to use the equivalent of C's system() a couple of times when programming in Prolog < 1232292757 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in order to do things that weren't included in its stdlib < 1232292762 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :What does system() do? < 1232292772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :man system < 1232292776 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: causes the implementation to behave in an implementation-defined manner < 1232292780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but in practice, normally runs shell commands < 1232292791 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Ah, right. < 1232292827 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :system() probably has my favourite definition of any of C's standard library functions < 1232292838 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actulaly, system(NULL) is defined < 1232292848 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :its return value tells you whether system() does anything or nt < 1232292849 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*not < 1232292855 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't tell you what, though, in the case where it doesn't < 1232292863 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*the case where it does < 1232292866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s/n't$// < 1232292867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1232292868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/n't$// < 1232292873 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fail < 1232292880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, argh you were half a second faster < 1232292887 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, multiple seconds < 1232292891 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, not here < 1232292892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: lag < 1232292897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lag is for squares < 1232292904 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was more like about 1 second from where I was watching < 1232292907 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :from < 1232292934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if bitshifting pointers is allowed by C89. < 1232292944 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you have to cast them to ints first < 1232292947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, is it in C99? < 1232292953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't care. < 1232292956 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it works better in C99 because you have uintptr_t to cast them to < 1232292957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that is undefined isn't it? casting them to int? < 1232292958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Can you cast those ints back? < 1232292963 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, implementation-defined < 1232292973 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes in C99, no in C89 because there might not be an integer type big enough < 1232292979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also uintptr_t makes no sense if function pointers have a different size < 1232292983 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, in C99 there might not be one either, but it at least gives you a compile-time error < 1232292990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, it's designed for data pointers < 1232292992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I don't care about stupid languages where sizeof(int) != sizeof(void *). < 1232293000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, like amd64? < 1232293001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: umm... < 1232293005 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :er < 1232293008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s/languages/architechtures/ < 1232293010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lots of C implementations have sizeof(int) != sizeof(void *) < 1232293013 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: amd64 is for squares. < 1232293018 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: those implementations are for squares. < 1232293024 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unsigned long has the best chance of being the same size as void* < 1232293028 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1232293033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it differs on DOS in certain memory models < 1232293052 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION remembers the days of things like farmalloc < 1232293060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :farmalloc!? < 1232293065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It allocates a farm. < 1232293074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A farm is an old DOS concept. < 1232293081 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Basically, you can store N objects in there, where N is the size of the farm. < 1232293085 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it allocates memory in a different segment < 1232293087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, isn't it related to struct cow? < 1232293088 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's efficient because they're grouped together in memory. < 1232293090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Right, a farm. < 1232293096 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which means you need a special type of pointer, called a far pointer < 1232293105 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I see. I used mac back then < 1232293109 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1232293119 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are lots of memory models < 1232293127 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :basically, 4 of them allow for near/far pointers for data/code < 1232293141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and a 5th has far pointers for data and for code, but also makes the data segment and stack segment differ < 1232293150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, so pointers come in several sizes? and some of these are relative current area? < 1232293155 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1232293162 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :char __near * is 16 bits < 1232293165 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :char __far * is 32 bits < 1232293177 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1232293182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and if you don't put the unportable qualifier on, it uses implementation defaults < 1232293196 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(which is legal C89, but with different sizeof() returns, in all 5 memory models) < 1232293211 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :malloc gave you a data pointer < 1232293216 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf is the "unportable qualifier"? < 1232293221 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: __near or __far < 1232293223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1232293227 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :are qualifiers, but obviously not portable ones < 1232293234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I thought there was something like __unportable < 1232293236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that you meant < 1232293240 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, that would be ridiculous < 1232293244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :agreed < 1232293249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1232293253 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that would be awesome < 1232293268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :17:40… WolfMn22: are you there < 1232293268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :17:40… WolfMn22: are you there < 1232293268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :17:40… WolfMn22: young beautiful woman < 1232293274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a fan < 1232293275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there should be __portable too of course < 1232293278 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IIRC, most DOS compilers worked without the double-underscore, except in strict ANSI mode < 1232293281 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a GCC extension < 1232293290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that forbids other GCC extensions :D < 1232293303 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(yes -ansi already does it...) < 1232293309 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, nowadays in C99 we have _Pragma < 1232293323 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is basically __attribute__ with a more official name < 1232293326 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well GCC actually have __extension__ iirc, for use in system headers < 1232293335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IMO, gcc should accept it as a synonym for __attribute__ < 1232293336 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and yes < 1232293337 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also doesn't C89 have plain #pragma? < 1232293340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1232293350 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :_Pragma is just for using in macros iirc < 1232293351 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the gcc folks didn't like it because it couldn't be generated using macros < 1232293359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1232293411 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's interesting to see what pragmas are used for, actually < 1232293427 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh also x86_64 has several memory models, I don't know what the point is of that though < 1232293430 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my first C implementation was Borland C++, which I normally used in C++ mode because I didn't know better < 1232293441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it had pragmas to turn compiler warnings on and off < 1232293449 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-mcmodel < 1232293454 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and to run things before the program started, like atexit in reverse < 1232293472 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : it had pragmas to turn compiler warnings on and off <-- very recent GCC has pragmas, and attributes, for that too < 1232293479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and other compiler options < 1232293488 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and a pragma to change its command-line options dynamically, which was fun < 1232293489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like changing to -O3 for just a single function < 1232293494 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232293509 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you should be able to change -Wl dynamically < 1232293516 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can have different linker options for different functions < 1232293518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would be hard < 1232293526 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then watch the poor linker try to figure out wtf you're doing < 1232293544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um would require changing the object file format I think < 1232293554 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I suppose so < 1232293556 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"What's this? a JOKE?" < 1232293570 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: #esoteric is where we make jokes possible < 1232293571 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-mcmodel=small, -mcmodel=kernel, -mcmodel=medium, -mcmodel=large < 1232293579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and kill them seconds later.. < 1232293582 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even if something is clearly absurd, it's still fun to figure out how to do it < 1232293583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :. < 1232293591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION agrees with ais523 < 1232293597 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :don't let not explaining a joke get in the way of a great esoprogramming idea < 1232293657 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to think that [ um would require changing the object file format I think] was written with that intention, < 1232293661 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :grr... this VHDL IDE has frozen < 1232293662 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but I find it incredibly difficult. < 1232293680 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well, I was thinking about it as an actual serious idea < 1232293680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I was thinking about how to implement it yes < 1232293693 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not really in terms of implementation, but about what could be done with such a feature if it existed < 1232293695 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not all linker options could be changed that way < 1232293703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but some yes < 1232293704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in gcc-bf, for instance, you could run-length-encode certain functions < 1232293710 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or cause only certain functions to show a progress bar < 1232293718 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(more useful would be adding debug info only to certain functions) < 1232293735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, there are already some __attribute__s that affect linking, like the visibility one < 1232293748 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, so it isn't utterly implausible < 1232293770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :--emit-relocs sounds like it could be done per-func too < 1232293772 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets annoyed at DRM and licence managers < 1232293801 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you've never been annoyed at DRM before? < 1232293805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :back on my laptop, I just use ghdl, it doesn't need to contact a licence server to verify I'm allowed to use it < 1232293811 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: rarely, I don't normally use DRMed prorgams < 1232293816 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ghdl? < 1232293820 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :drm is retarded, yep < 1232293828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: a gcc-based VHDL simulator < 1232293836 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it compiles VHDL into executables, which is crazy enough in the first place < 1232293843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1232293857 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the executables can be run as executables, but they have a huge number of debug options and switches < 1232293860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is what you normally end up using < 1232293864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also what is wrong with the Direct Rendering Manager? < 1232293878 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :possibly VHDL is the only lang more often run under a debugger than not < 1232293921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, DRM allows open source opengl drivers on linux < 1232293927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and possibly other *nix < 1232293930 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think you're taking a joke too far now < 1232293931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(not sure about that) < 1232293941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :especially when it wasn't that funny in the first place < 1232293967 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I believe the DRM in the meaning I used existed before the copy protection crap < 1232293978 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what ais523 said < 1232293979 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :possibly < 1232293987 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but TLAs are oversubscribed nowadays < 1232293989 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why not just call it copy protection, that is the original name < 1232293996 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and normally which one is meant is obvious from context < 1232293997 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because people call it drm < 1232294005 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :language changes, it's only useful if we use the same one everyone else does < 1232294006 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: also, DRM goes further than copy prevention mechanisms < 1232294009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :crazy, I kno. < 1232294012 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, what ais523 said. again. < 1232294019 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well I have no personal experience of it < 1232294024 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so: possible < 1232294028 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DRMd stuff can normally be copied just fine, it's just that the resulting copies don't run < 1232294032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:53 are there good implementations of .NET for python? does it require mono? < 1232294036 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i implement .NET in python for breakfast < 1232294045 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, interesting. < 1232294047 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but .NET is a bytecode and API, not a language < 1232294062 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: congratulationsyougotthejoke.com < 1232294065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Someone register that) < 1232294077 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also there is only one copy protection that actually works. Make it all in hardware. Software can *always* be copied < 1232294085 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :arguably, he might just want the API < 1232294086 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hardware is harder < 1232294096 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you think hardware makes copy protection work you're deluded < 1232294096 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: hardware can often be copied too < 1232294098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, that's the idea < 1232294109 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes but you need like millions to do it, you said so yourself < 1232294119 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fail < 1232294120 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :digitally, if it can be consumed, it can be cloned instead < 1232294122 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: to manufacture it, yes < 1232294128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes exactlu < 1232294130 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :exactly* < 1232294136 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on the other hand, working out the internals and running on a simulator is a lot cheaper < 1232294138 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and often good enough < 1232294147 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :#quit < 1232294147 0 :kerlobot!unknown@unknown.invalid QUIT :"Exiting" < 1232294154 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232294161 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: using # as a bot prefix is really confusing < 1232294166 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1232294169 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :all your kerlobot commands come out in blue and hyperlinked < 1232294170 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well depends on what thing you want to simulate, I mean you can simulate a SNES easily enough. But a Wii? Probably not on modern computers < 1232294172 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric < 1232294186 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :umm, simulating a Wii wouldn't exactly be hard... < 1232294187 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you would probably end up with an expensive cluster or such to do it < 1232294188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's not a supercomputer... < 1232294204 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's less powerful than home computers. < 1232294205 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you'd still have to do cross-processor virtualisation < 1232294207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ok what about a Sony Playstation thingy, those used for MD5 < 1232294210 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what sort of processor does the Wii have? < 1232294215 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: PPC < 1232294225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I believe it would be kind of slow to simulate that on most desktops < 1232294231 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Broadway_(microprocessor) < 1232294240 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's just a gpu. < 1232294243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :computers can have gpus. < 1232294243 0 :Judofyr_!n=Judofyr@c6A9CBF51.dhcp.bluecom.no JOIN :#esoteric < 1232294284 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232294319 0 :Corun!n=Corun@94-193-40-216.zone7.bethere.co.uk JOIN :#esoteric < 1232294337 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Whoa, it's 4 < 1232294346 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is? < 1232294350 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the time in the UK < 1232294351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The time. < 1232294355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not quite, actually < 1232294357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the UTC time, too. < 1232294359 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :still 3:59 by my clock < 1232294363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yes, mine too. < 1232294368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well, 15:59. < 1232294371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :16:59 here so 15:59 there < 1232294411 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :And now it is 16:00 according to normish.org. < 1232294419 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232294432 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :according to my NTP-synchronized clock, too < 1232294457 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :+ a few seconds when you said it kerlo < 1232294463 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :11 seconds late then in fact < 1232294468 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :This little clock doesn't display seconds. < 1232294469 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... may as well have a look at Normish while I'm waiting for this stupid IDE to figure out what it's doing < 1232294509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what IDE? < 1232294514 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that expensive one? < 1232294531 0 :Corun!unknown@unknown.invalid QUIT :Client Quit < 1232294550 0 :Corun!n=Corun@94-193-40-216.zone7.bethere.co.uk JOIN :#esoteric < 1232294606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw, what is the difference between PPC and Cell? < 1232294613 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I haven't really managed to understand that < 1232294795 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Creampuff! < 1232294796 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232294854 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232294860 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :%eval t < 1232294860 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(Just (-1000)) < 1232294875 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :%eval (((s i) i) ((s i) i)) < 1232294882 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :((loop i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i < 1232294894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :%eval (2 + 2) < 1232294894 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(2 + 2) < 1232294898 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Wow. < 1232294902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Damn, I was hoping for haskelleramation. < 1232294906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kerlobot: epic fail thar < 1232294945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haskelleramation? < 1232294956 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes I *did* try google < 1232294963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and no I can't figure out what it means < 1232294981 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :apart from being related to haskell < 1232294985 0 :ais523_!n=ais523@147.188.254.127 JOIN :#esoteric < 1232294994 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Being interpreted as Haskell, or something. < 1232294994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hello ais523_ < 1232295000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :kerlo, aha < 1232295002 0 :ais523!unknown@unknown.invalid QUIT :Nick collision from services. < 1232295010 0 :ais523_!unknown@unknown.invalid NICK :ais523 < 1232295021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, this IDE needs to run at uni? you can't run it at home? < 1232295025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232295034 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :expensive closed-source stuff < 1232295035 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm, oh that is the DRM stuff? < 1232295049 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure < 1232295059 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it seems to go wrong only when opening a project, not when loading hte IDE itself < 1232295078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, is it on your laptop or only on school computers? < 1232295089 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Okay, let's see, boolean pair symbol number char string vector port procedure continuation table. < 1232295099 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's only on the university computers < 1232295099 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or s/school/uni/ < 1232295104 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :What else, I wonder? < 1232295104 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm typing this on my laptop < 1232295106 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well uni is a type of school < 1232295108 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is next to the Uni computer atm < 1232295109 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, aha < 1232295113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That's it I think. < 1232295115 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :keyboard, keyboard, mouse, mouse < 1232295131 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, data types for your scheme? < 1232295138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :No. Fluffy bunnies. < 1232295214 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well if you are doing this insanely speed optimised you might want to optimise lists in some special way, to make them into arrays in some contexts, might not need a different data type < 1232295235 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Suggesting such a thing shows a severe lack of understanding of the general usage case of cons lists. < 1232295260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well, true they are meant to be accessed from head to tail < 1232295274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ooooo < 1232295276 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could have an array type as well as a cons list type < 1232295285 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could even go all OCaml and have imperative types as well as functional types < 1232295288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but sometimes real arrays are useful indeed < 1232295292 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which drives me mad, but is good for speed < 1232295293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Vector. < 1232295300 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :read R5RS. < 1232295309 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh, I didn't know about that either... < 1232295317 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks < 1232295369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how i should implement bignums. < 1232295377 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Maybe as an array of fixnums. < 1232295384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :In base MAX_FIXNUM. < 1232295405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well I don't know what is fastest, but isn't gmp quite fast? < 1232295420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I will not use gmp/ < 1232295425 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s/\/$/./ < 1232295436 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? what is wrong with it? < 1232295466 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I now believe it impossible to get kerlobot to quit. < 1232295477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#quit < 1232295480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm nope < 1232295498 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :/kill kerlobot would work if I was a server op, but I'm not < 1232295513 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if I had a botnet, which I do not, a DDoS would work < 1232295525 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :And that is a dare. < 1232295525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that is rather crude < 1232295558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1232295585 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :we could physically go round to kerlo's computer and disconnect the network cable < 1232295592 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that would be too expensive in plane fares, I think < 1232295602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, or we could fake an abuse@ to his isp? < 1232295610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... kerlo's in the same timezone as me, maybe not < 1232295626 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait < 1232295630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, the bot says comcast < 1232295630 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kerlo's bouncing off Normish < 1232295634 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which iirc is US? < 1232295635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which runs at UTC < 1232295642 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no wonder ctcp time told me UTC < 1232295664 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :GeoIP Country Edition: US, United States < 1232295665 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1232295709 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I'm bouncing off Normish, but kerlobot is connected directly from here. < 1232295758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, another idea, which I admit would also be expensive: contact any local maffia, asks for the "special offer" < 1232295763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mafia* < 1232295803 0 :Judofyr_!unknown@unknown.invalid QUIT :Remote closed the connection < 1232295826 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ok, that one's insane < 1232295839 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not just expensive, you have to worry about repercussions on yourself too < 1232295844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232295855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1232295857 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :another option: bribe a Freenode staffer < 1232295864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although we're into the realms of insanity here < 1232295865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you know, killing kerlo doesnt kill kerlobot < 1232295866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I believe social engineering on freenode staff would work better < 1232295866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :neccessarily < 1232295882 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm bouncing off Normish, but kerlobot is connected directly from here. < 1232295889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And? < 1232295893 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Killing kerlo != killing his net. < 1232295901 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, when isp doesn't get paid they will cut his connection < 1232295904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes it may take a few weeks < 1232295914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I imagine his parents pay for the connection. < 1232295917 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :As he's a teen. < 1232295926 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah, didn't know that < 1232295946 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :kerlo, anyway, does it handle connection timeout and such properly? < 1232296411 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... it seems that this IDE is just very very slow today for some reason < 1232296419 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :half an hour later, it shows signs of activity < 1232296429 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, windows? < 1232296434 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232296449 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it might be the domain timeout bug, I suppose, but I don't think so < 1232296453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if yes, all the spyware installed are busy calling home, please show some consideration and wait for them to finish < 1232296461 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I doubt it's spyware < 1232296469 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mostly because these computers are reimaged every night < 1232296485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :idea: install a spyware on the master image < 1232296505 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are legitimate reasons to knock and dislike Windows; please don't improve its reputation with baseless trolling that makes the legitimate complaints seem bad < 1232296521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I was trying to joke < 1232296561 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :protip: jokes are meant to be funny < 1232296581 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, in that case I would ask oerjan, not you < 1232296651 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1232296660 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s9.c:27: error: ‘NULL’ undeclared here (not in a function) < 1232296662 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1232296671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, stdlib.h < 1232296686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :NULL isn't a keyword < 1232296686 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :not stddef.h? < 1232296691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :stdlib IIRC < 1232296692 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :flexo, oh maybe that too < 1232296700 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think I've used stddef for years < 1232296706 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :stdlib is included. < 1232296707 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(hmm... maybe it's included from stdlib, that would explain it) < 1232296711 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it is not my program. < 1232296729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, lots of headers include it < 1232296799 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this is really annoying, this program's running massively slowly and I'm not even allowed to use a top-alike to see what's happening < 1232296813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'allowed'? < 1232296817 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah yes, task manager is allowed here < 1232296821 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yep, locked-down system < 1232296908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[I've always hated the idea of a garbage collector. I understand why it's useful for most people, but I prefer being in control]] < 1232296919 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK, this is insane < 1232296920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if there's a study on the link between programmers and sadists. < 1232296924 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when I try to run the program, it waits for a whiel < 1232296927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :er, masochists < 1232296929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION brainfart < 1232296937 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :er, wait. both. < 1232296945 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then prints the message Process "Synthesize - Synpifly Pro" failed < 1232296950 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no error messages or warnings, but that < 1232296950 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ehird : Do you like clothepins on your nipple < 1232296951 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :s < 1232296964 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no other output at all apart from that and a "Started" message < 1232296970 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IOW, this program is failing and won't tell me why < 1232297294 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1232297322 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I am becoming more and more convinced that the plain machine stack is the best way to handle function calls. < 1232297333 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It seems that copying the c stack isn't actually very hard < 1232297338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it is fast < 1232297385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :One issue with using the machine stack is, how do you return multiple values in C, like scheme requires? You can't < 1232297418 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's entirely possible to return multiple values on the stack, just C doesn't provide a syntax for it < 1232297421 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :people do that all the time in asm < 1232297435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Right, but is it _possible_ to do it portably in C? No. < 1232297440 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes: you can do the same thing by returning a struct that contains all the data you want to return < 1232297450 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :DING! Wrong. That is not the "same thing". < 1232297456 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that ends up compiling to the same asm that returning multiple elements is < 1232297462 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or would be < 1232297475 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that very is the same thing < 1232297484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(unless you have a perverse ABI) < 1232297505 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :17:50 < ais523> it's entirely possible to return multiple values on the stack, just C doesn't provide a syntax for it < 1232297510 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :as in.. returning a struct? < 1232297514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1232297521 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :returning a struct, in this case, is not an option < 1232297521 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :returning a struct is technically speaking only returning one value < 1232297524 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it comes to the same thing < 1232297542 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(returning a /pointer/ to a struct is different, returning the struct itself by-value isn't) < 1232297752 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Excess Flood < 1232297787 0 :BeholdMyGlory!n=arvid@d83-183-181-73.cust.tele2.se JOIN :#esoteric < 1232298039 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1232298117 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :setjmp/longjmp are meant to be cheap, right? < 1232298184 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1232298197 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :getcontext/setcontext presumably aren't :P < 1232298211 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :depends on what you mean by cheap i suppose < 1232298218 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :efficient < 1232298221 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232298240 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :they all work in O(1) < 1232298245 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :that's efficient. < 1232298248 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no duh < 1232298317 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :but setjmp/longjmp don't have to do context switching < 1232298321 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :just stack unwinding < 1232298328 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: setjmp/longjmp are relatively expensive, at least compared to goto < 1232298329 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :so they are more cheap, yea < 1232298336 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there was an article on thedailywtf about them < 1232298341 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and lots of people went and did lots of benchmarking < 1232298353 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Craziness context: I'm considering writing my own :x < 1232298358 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and as for cheapness/expense, it depends on the processor < 1232298364 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :most will have to save all the registers < 1232298376 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is relatively cheap on an 8086 and expensive on something which has loads of registers < 1232298408 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, wait, register starved is better? < 1232298415 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not normally < 1232298418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1232298419 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it's faster at longjmps < 1232298440 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you think about it, if you had no registers but the stack pointer a longjmp would just be assignment to the stack pointer < 1232298449 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you guys think you're so tough at playing baseball. < 1232298451 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the return at the end of longjmp would return to the setjmp not to where it had been called < 1232298460 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, heh < 1232298468 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :i've having serious trouble deciding for a couch < 1232298469 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :i need help < 1232298470 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well let me tell you something: a professional baseball player would beat the crap out of each and everyone of you. < 1232298471 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1232298477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :probably even in scrabble < 1232298481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, yeah I'm pretty much going to do that since who cares about registers < 1232298481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, um? I don't play baseball < 1232298482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232298488 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and i hate scrabble < 1232298495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I fail at it all the time < 1232298518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I suck slightly less at chess, but I'm far from good at it < 1232298529 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232298531 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Whoosh. < 1232298536 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :i think i kinda like BEDDINGE < 1232298545 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :but it has no.. the... stuff.. at the sides < 1232298552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1232298553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let me make sure i understood, you suck slightly at it, but you are far from good at it? < 1232298564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :flexo, an esolang? < 1232298567 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :no < 1232298568 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :a couch < 1232298570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :17:07 i've having serious trouble deciding for a couch < 1232298577 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :beddinge? sounds like a 2D language < 1232298577 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BEDDINGE < 1232298578 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :*i'm < 1232298579 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: AnMaster sucks slightly less at chess than at scrabble, but is far from good at both < 1232298580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE < 1232298583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sorry I like that word < 1232298586 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some sort of fungoid < 1232298591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, oh BADGER? < 1232298593 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.ikea.com/us/en/catalog/products/S49839894 < 1232298593 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.ikea.com/de/de/catalog/products/S29830007 < 1232298594 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232298595 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Neddomge < 1232298597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232298598 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1232298610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no arms :< < 1232298611 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: lol okay i failed :P < 1232298613 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1232298621 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gotta have arms. < 1232298626 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :yea, i think so too < 1232298627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like, to shoot things with < 1232298633 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's in the constitution don't you know < 1232298641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed. How was it ambiguous? < 1232298644 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :not my constitution < 1232298668 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nor mine :P < 1232298672 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1232298677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then it makes perfect sense that name < 1232298684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :once you read it in Swedish < 1232298693 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well not perfect sense, but much more sense that in English < 1232298695 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BED BINGE < 1232298699 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't think it was, I was explaining for oklopol < 1232298707 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right ais < 1232298725 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :but the other sofa beds suck < 1232298736 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :no arms either < 1232298736 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i dropped a crucial word < 1232298764 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I want a desksofachairtablebed < 1232298766 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :all in one < 1232298803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :before anyone asks: no, I can't imagine how it would look < 1232298805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't think that's impossible < 1232298818 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you should be able to lie in bed and use the desktable at the same time, though < 1232298822 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :yea, just some huge tank with some fluid in it < 1232298826 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :likewise, use the desktable at the same time as the sofa < 1232298847 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :like the navigators in dune < 1232298894 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* < 1232298968 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :choosing a couch online sucks < 1232298969 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: thought on bignums being array-of-ints-in-base-max-int? < 1232298981 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :but running around in ikea sucks even more < 1232298984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: use an existing bignum library, it can almost certainly beat you by a lot < 1232298992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no fun < 1232298999 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that seems like a plausible implementation, though < 1232299012 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it's the one that asm uses, if you're mad enough to do bignums in asm < 1232299068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1232299112 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh, one thing I can't do is track how many segments there are, since that needs to be a bignum too :) < 1232299117 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it'll have to be NULL-terminated < 1232299132 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what about sign bits, do you think? < 1232299133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-A,B? < 1232299135 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-A,-B? < 1232299140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :NEGATIVE + {A,B}? < 1232299174 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, in an actual implementation it would be limited by sizeof(void*) < 1232299188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think I'll make it a linked list < 1232299196 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: 2's complemetn < 1232299198 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*complement < 1232299199 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, sounds slow, a vector would be better < 1232299212 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's for binray < 1232299214 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :binary < 1232299253 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: same trick works for any power-of-2 base < 1232299268 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is the max of an unsigned long always a power of 2? < 1232299269 0 :KingOfKarlsruhe!unknown@unknown.invalid QUIT :Remote closed the connection < 1232299271 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess so, in modern systems. < 1232299289 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a power of 2 minus 1 on all C systems, I think < 1232299332 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1232299337 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MAX_ULONG, MAX_UNSIGNED_LONG aren't defined < 1232299339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wonder what it is < 1232299343 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ULONG_MAX < 1232299345 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IIRC < 1232299347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o, right < 1232299351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :probably should make it unsigned long long where that's supported < 1232299354 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster will know even if I get it wrong < 1232299364 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(2147483647L * 2UL + 1UL) < 1232299367 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what about gcc? it has a type longer than long long as an extension < 1232299369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they couldn't just give a constant... < 1232299378 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it has to be done like that, I think < 1232299396 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :due to handling buggy compilers which get confused by 'negative' numbers < 1232299400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1232299413 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, i'm working in base 4294967295 :D < 1232299419 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :except < 1232299422 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wonder what unsigned long long max is < 1232299424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ULONGLONG_MAX? < 1232299428 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ULL_MAX < 1232299433 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you should be working in base 4294967296 < 1232299435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ULONG_LONG_MAX also < 1232299442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, er, yeah < 1232299443 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because 4294967295 is the maximum possible value < 1232299449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not ULL_MAX < 1232299449 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232299453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ULL_MAX is undefined < 1232299463 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ULLONG_MAX is actually plausible < 1232299464 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232299473 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :%eval (c W H A R R G A R B L) < 1232299474 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :WHARRGARBL < 1232299478 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Yay. < 1232299488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok, on this machine I'm working in base 18446744073709551614 < 1232299494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what's the gcc thing you mentioned? < 1232299499 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :__uint128_t, IIRC < 1232299508 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah. I won't bother touching it < 1232299521 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although if you don't have native 128-bit operators, it'll probably be slower < 1232299527 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fwiw, probably using unsigned longs is best < 1232299534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why not unsigned long longs? < 1232299536 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for very big numbers < 1232299539 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: because they'd have to be emulateed < 1232299546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err, why? < 1232299553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm on a 64 bit machine < 1232299573 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1232299580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well unsigned long is 64 bits on a 64 bit machine < 1232299581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or ought to be < 1232299594 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :yea, ought to be. < 1232299596 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :OS X compiles things as 32-bit by default, though. < 1232299598 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :unfortunatly people suck < 1232299601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :For god knows what reason. < 1232299611 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1232299612 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: then 64-bit operations will have to be emulated < 1232299618 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because they aren't available when compiling as 32 bit < 1232299620 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :long should more be like 128 bit on a 64 bit machine < 1232299633 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :int should be the native register size < 1232299640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what constant is defined for 64-bit/32-bit again? < 1232299643 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i forgot.. < 1232299644 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :. < 1232299663 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think there's a standard one < 1232299664 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1232299679 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sizeof(unsigned long) is normally an easy way to check, though < 1232299680 0 :kerlobot!n=kerlobot@c-98-209-136-197.hsd1.mi.comcast.net JOIN :#esoteric < 1232299682 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :flexo: int is 32-bit on gcc mostly even when you do -m64 though, isn't it? < 1232299686 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :%eval (h WHARRGARBL) < 1232299686 0 :kerlobot!unknown@unknown.invalid PRIVMSG #esoteric :(W HARRGARBL) < 1232299688 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and sizeof(int), likewise, tells you if you're on 16-bit or 32-bit < 1232299688 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :ais523: doesn't work on win32 though < 1232299696 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yep < 1232299705 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :So, now you can cut symbols apart and put them together. < 1232299726 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :ehird: but that's only because people suck < 1232299731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: why doesn't #error sizeof(...) work :-P < 1232299732 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :and fail to write portable software < 1232299735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it shoooooooooould < 1232299741 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: because sizeof is compile-time, not preprocess-time < 1232299749 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :>:::( < 1232299756 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can mess about with limits.h, though, if you prefer < 1232299760 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or else use a static assertion < 1232299779 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :i had some flaming with zhivago about that one < 1232299787 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :huh ... sizeof(unsigned long) = sizeof(int) here < 1232299802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1232299811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in 32 bit, sizeof(ul)=sizeof(int)=4 < 1232299815 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :sizeof(int) really should be the native register size. < 1232299815 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in 64 bit, sizeof(ul)=8; sizeof(int)=4 < 1232299821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wtfomobil < 1232299821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e < 1232299828 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :and long should preferrably larger, emulated by software if necessary < 1232299831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think what I can draw from this, is: < 1232299835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :use unsigned long :-P < 1232299836 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :and "long long" is just silly < 1232299847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :we need a long^N specifier < 1232299853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unsigned long^4 x; < 1232299854 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :no we don't. < 1232299856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::DDD < 1232299874 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: algol actually had long long long long long int as a valid data type < 1232299876 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :with any number of longs < 1232299883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232299890 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it had a constant, max lengths, which told you how many longs had an effect < 1232299893 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :likewise, max shorths < 1232299907 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(identifiers could contain spaces in algol, which was a great way to cause confusion) < 1232299960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Code/bignum] % cc -m64 bignum.c; ./a.out < 1232299960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18446744073709551614 < 1232299961 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[ehird:~/Code/bignum] % cc bignum.c; ./a.out < 1232299963 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :4294967294 < 1232299966 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that 64-bit output is lollerific < 1232299968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1232299974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how many numbers do you deal with bigger than that? < 1232299983 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :typedef unsigned long bignum; < 1232299983 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232300009 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: my brother convinced me to teach him Perl, just so he could do really bignum calculations < 1232300012 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :he's looking for big primes < 1232300014 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :short short short short short short int: if int is 32-bits wide and can hold any of 4294967296 values, this is half a bit wide and can hold any of sqrt(2) values. < 1232300022 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ofc, Perl isn't an ideal lang for doing that quickly, but it keeps him happy < 1232300024 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :ehird: like addressing modern harddrives? < 1232300031 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: lol, how old is he? < 1232300035 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :younger than me < 1232300038 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can't remember exactly how old < 1232300041 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :flexo: except im using this in an implementation of Scheme :-P < 1232300049 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although theoretically you could do that < 1232300076 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :hm.. i used a certain lisp-subset a lot when i was a kid < 1232300084 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :anyone knows ADVSYS? :) < 1232300116 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes void bui_mod_succ(biguint n) , without knowing anything about how to actually implement stuff like this. < 1232300117 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Woohoo! < 1232300134 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: how are you marking the length of the integer? < 1232300144 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: {blah,blah,blah,NULL} < 1232300154 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dunno whether it'll be big endian or little endian < 1232300164 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm thinking little endian, so that it's easier to do things like succ < 1232300167 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :without reading to the end < 1232300172 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ugh, that's a really bad way to do it < 1232300178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is it :< < 1232300179 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IMO, it should be length-prefixed < 1232300183 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you don't want a special value < 1232300189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :umm, fail :D < 1232300190 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because then you can't use the entire range of your int, or whatever < 1232300194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how can you do that length prefixed < 1232300198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the length would have to be a bignum < 1232300200 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well, yes < 1232300204 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :recursive bignums ftw < 1232300213 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't think that would work. < 1232300214 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but your method is much less efficient < 1232300238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"that is inefficient, use this impossible method instead" < 1232300255 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you're going for speed, aren't you? < 1232300258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not atm < 1232300261 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if I wanted efficient I'd use gmp < 1232300264 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my advice is to make length-prefixed possible < 1232300270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I bet that's what gmp does < 1232300275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't care < 1232300280 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's simpler to implement this < 1232300284 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it's more conceptually pure < 1232300297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, it isn't more pure, it's conceptually a lot dirtier < 1232300304 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't care :) < 1232300310 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's nothing purer than going add/add-with-carry/add-with-carry all the way along a bignum < 1232300323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't caaaaaaaaaaare :) < 1232300328 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(besides, you can just length-prefix it with a long long, the computer would run out of memory before it ran out of length prefixes) < 1232300345 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or, if you prefer, prefix with a pointer to the last element < 1232300354 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's clearly in memory, therefore it can be pointed at < 1232300355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :problem solved < 1232300361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i prefer to live in a world of infinite memory < 1232300374 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: then you have infinite pointers < 1232300377 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :problem still solve < 1232300380 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*solved < 1232300385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :meh, fine < 1232300408 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but then I have to use VLAs. < 1232300422 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :v < 1232300423 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :typedef struct { < 1232300423 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : BLOCK_TYPE *last; < 1232300425 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : BLOCK_TYPE data[]; < 1232300427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :} *biguint; < 1232300445 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's not a VLA < 1232300450 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's the legalised struct hack < 1232300458 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1232300465 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's c99 only isn't it < 1232300466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1232300467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you can just put a 1 in the square brackets on C89, there's no known system on which the original struct hack doesn't work < 1232300472 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1232300476 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :despite it being technically illegal < 1232300481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I've mostly seen it as data[0] < 1232300487 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's a gcc-ism < 1232300487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to emphasise the hack < 1232300491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is it? ok < 1232300499 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1232300516 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1232300523 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't an infinite-pointer system have infinite unsigned longs too? < 1232300529 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and thus no need for bignums... < 1232300531 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1232300546 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, C fails at handling sizeof infinite data types < 1232300555 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: my aversion of length counting's justification: http://jwz.livejournal.com/854482.html :P < 1232300557 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm really annoyed that the definition of C excludes bignums < 1232300568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I don't like length counting for strings, normally < 1232300572 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for bignums, though, it works a lot better < 1232300572 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not for strings < 1232300574 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :read the post < 1232300623 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :c is a fucking macro assembler. no bigints there. < 1232300635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: classic < 1232300649 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's just a flaw in their bignum implementation, though < 1232300653 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: why? < 1232300658 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they didn't have a big enough length ehader < 1232300664 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :define big enough < 1232300717 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :The fifth season will commence on January 21, 2009 with a three-hour premiere consisting of a clip-show and two back-to-back new episodes. < 1232300720 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :woohoo < 1232300726 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :that's 3 days < 1232300745 0 :ais523!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232300746 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wut < 1232300749 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :lost! < 1232300752 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1232300756 0 :ais523!n=ais523@147.188.254.127 JOIN :#esoteric < 1232300765 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :i didn't think i'd make it < 1232300772 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :3 more days < 1232300786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol wut < 1232300788 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :and my life will have meaning again < 1232300812 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :lost? you know? as in tv? < 1232300859 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1232300860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i know. < 1232300863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I just had a crazy idea for how to implement an AI that would actually work, it is technically unfeasible though < 1232300870 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, it wouldn't work < 1232300891 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, simulate life exactly, I mean simulate evolution, from the start < 1232300898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in all details < 1232300906 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :that's not so much artitical < 1232300906 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :would require huge resources though < 1232300912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you couldn't do that < 1232300915 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because you don't know the details < 1232300916 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: how do you know that intelligence would evolve before the extinction of life? < 1232300920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you don't have nature's random number generator < 1232300931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you would have to do several runs of course < 1232300933 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what you're saying is, < 1232300941 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but given enough time it should work < 1232300946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the odds against intelligence may be incredibly high < 1232300948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"Here's an easy way to simulate intelligence: simulate everything!" < 1232300958 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I said "technically unfeasible" < 1232300959 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the fact that intelligence evolved here may have been a huge fluke < 1232300962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :simulating intelligence is almost certainly easier than simulating everything < 1232300969 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thus your solution is a non-solution, even with an infinitely powerful computer < 1232300982 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but anywhere where the point will be brought up, there must be intelligences to ask the question < 1232300993 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed. I said "technically unfeasible" and "given enough time" < 1232301005 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Indeed, I'd rather just use genetic algorithms. < 1232301005 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you could also brute-force intelligence. < 1232301014 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's both way easier to implement and about as efficient. < 1232301018 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: how would you detect it once you had it? < 1232301020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :agreed < 1232301025 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you could probably stack the dice a bit by ensuring there was something resembling earth geologically... < 1232301032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: clone an infinite amount of people and have them talk with the iterations simultaneously < 1232301034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :forever < 1232301045 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(No harder than simulating the entire universe.) < 1232301049 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: being able to clone an infinite number of people would probably mean you could just outsource your intelligence < 1232301050 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to them < 1232301057 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That would not be artificial. < 1232301075 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :plate tectonics, the right elements and the right temperature is a good start i think < 1232301094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(recent Slashdot story: it seems some companies have been using Mechanical Turk to astroturf Amazon reviews of their products) < 1232301116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, well yes, but all written in rules of basic physics < 1232301137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, quantum mechanics level or so, or you couldn't simulate all effects < 1232301164 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course that would require as near infinite resources as it makes no practical difference that it would in fact only be finite resources < 1232301187 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you may not need to simulate more than the biosphere to full precision < 1232301206 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, true, but probably not all of space < 1232301235 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :d'aww, while (printf("%lu\n", *n++)); wouldn't work < 1232301238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :need to return *n < 1232301242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, I mean, relativity limits speed of information < 1232301245 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : while (printf("%lu\n", *n++), *n); < 1232301246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :good enough < 1232301254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so only the visible universe at the end of the simulation < 1232301277 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh you could probably fake it, no one would notice if the stars were made of paper ;) < 1232301350 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyone, anyone up for the task of calculating much computer resources this would need? < 1232301380 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: er i said "you may _not_ need". did you read me backwards? < 1232301403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, oh indeed I must have done < 1232301435 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also, you could stack the dice even more, you could probably get a simple cell in there < 1232301455 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"stack the dice" I never heard that idiom before < 1232301473 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: stack the deck, surely? < 1232301479 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1232301480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, going for a while, I need to get dinner < 1232301480 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right < 1232301482 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :i suppose it would be less effort to build a new biosphere than simulating one < 1232301485 0 :ais523!unknown@unknown.invalid QUIT : < 1232301491 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what does "stack the deck" mean? < 1232301508 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"to arrange something in a way that is not fair in order to achieve what you want" < 1232301518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also, what a shock they would get when they realise that they are simulated < 1232301524 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :as the universe is kinda efficient in "emulating" stuff in itself. < 1232301542 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well maybe. _we_ could be simulated. < 1232301551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, yes I was thinking about that too < 1232301563 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :actually it's more likely that it's just me being simulated :) < 1232301567 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it could be simulations all the way up :D < 1232301573 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :and you all consist of paper < 1232301588 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they wouldn't realise they were simulated. < 1232301589 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, augh! < 1232301595 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you'd get religions, and atheists. < 1232301610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and some fringe ones arguing they're all simulated, dismissed as kooks. < 1232301613 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what if we planted a message, like that that book, Strata < 1232301620 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :by T. Pratchett < 1232301621 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you mean like the bible < 1232301635 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I mean like in Strata by T. Pratchett < 1232301645 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I have not read it./ < 1232301647 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1232301657 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1232301669 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it is Pratchett, it is kind of hard to make a short plot summary < 1232301673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as you surely can imagine < 1232301697 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure there's one on wikipedia :D < 1232301705 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyway, it'd almost certainly go on exactly as the religious situation in this world goes on. < 1232301718 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you were extremely blatant, probably they'd die of shock, or rebel against you. < 1232301747 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well that is assuming there _is_ no actual divine input to the world's religions. < 1232301756 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(this world's) < 1232301773 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as is my belief :-) < 1232301789 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes. but that is not the same as "almost certainly". < 1232301798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :naturally. < 1232301813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but christianity could well be truly divinely influenced, doesn't mean people take it any more seriously < 1232301872 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION *CONTRAVARSY* < 1232301913 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :aight, I'll length count. < 1232301915 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Humans in the book have advanced to terraforming other planets and so on, to increase biodiversity. After some thousand generations before getting to space flight the emigrants tend to forget that they came from elsewhere. Something like that. However, sometimes the machine operators leave some (unauthorised) clues when terraforming. Like a fossile of a dinosaur holding a sign saying "Stop nu < 1232301915 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :clear war".... And well in the end the protagonists find out that the universe they live in was constructed. Thanks to a clue left in it. < 1232301916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now to incrementerament < 1232301928 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that clue was a flat world. This work iirc pre-dates disc world < 1232301933 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : < 1232301939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shrug < 1232301943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's fiction. < 1232301948 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes of course < 1232301961 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it would be so cool if it wasn't ;P < 1232302171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ugh, there should be a realloc that forces in-placeness < 1232302371 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( my bui_mod_incr doesn't work < 1232302442 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Algorithm: replace all vowels except I and Y with A. < 1232302470 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Eh, leave silent E as well. < 1232302495 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, leave all E's. < 1232302549 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :^bf ++++++++++>++++++++[->++++++++<]>++++++>++++++[[->+>+<<]>>[-<<+>>]<[-<<.>>]<-<<<.>>>] < 1232302550 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :FFFFFF.FFFFF.FFFF.FFF.FF.F. < 1232302579 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : I assure you that this is all part of my evil plan. < 1232302585 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how assuring. < 1232302622 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :GEARGE W. BASH WILL STAP BARACK ABAMA FRAM DESTRAYING AAR CAANTRY! < 1232302637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Proto: Eliminate consonants. < 1232302678 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eoe u i o aa aa o eroyi ou ouny! < 1232302718 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :WHAT IS THE PAINT AF THIS? < 1232302732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ugh, there should be a realloc that forces in-placeness <-- that is not possible in practise since there could be other stuff allocated after < 1232302738 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :who cares < 1232302740 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :write over it < 1232302741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232302762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, why not just check the return value? < 1232302787 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because your face < 1232302812 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that made no sense, not even grammatically < 1232302829 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :neither does your face < 1232302835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what he said < 1232302840 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, that made sense grammatically < 1232302843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because *you're* face < 1232302844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so wrong < 1232302847 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I sint re soud dsust retrace arr tonsonants ris arzeorar tonsonants. < 1232302849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's a common mistake < 1232302864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, heh... < 1232302873 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :arzeorar? < 1232302874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that make no sense either < 1232302892 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Alveolar. < 1232302904 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ssh, it's a secret that AnMaster is Mr. Potato Head < 1232302909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :kerlo, what is the substitution? c->t I see < 1232302921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sometimes? < 1232302931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, who? < 1232302949 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but good thing it isn't telnet at least < 1232302951 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: a famous face < 1232302957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: scarily, that worked < 1232302969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hopes someone gets that bad pun < 1232302981 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: nope < 1232302986 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i did. < 1232302988 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1232303002 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION swats AnMaster -----### < 1232303009 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION dodges < 1232303024 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what worked? < 1232303031 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: consonant replacing < 1232303094 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :isn't l alveolar? < 1232303095 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, anyway there might be a way to handle the realloc() issue < 1232303099 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you tell me why you need it < 1232303114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i dont < 1232303114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232303121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but my increment doesnt work :((((((( < 1232303124 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well it seems to be linux specific anyway < 1232303186 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Glibc specific? :-> < 1232303221 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, linux kernel specific I think < 1232303228 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least that is what the man page says < 1232303247 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :AFAIK, the memory allocation functions Linux kernel implements are brk() and mmap(). < 1232303263 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :basically: mmap with MAP_FIXED (and possibly MAP_GROWSDOWN), then mremap (possibly using MREMAP_FIXED, not 100% sure about that) < 1232303263 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And also mremap(). < 1232303286 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :P becomes T, B becomes D, T remains T, D remains D, CH becomes TS, J becomes DZ, K becomes T, hard G becomes D, F becomes S, V becomes Z, soft TH becomes S, hard TH becomes Z, S remains S, Z remains Z, SH becomes S, "zh" becomes Z, H becomes S, M becomes N, N remains N, NG becomes N, L remains L, R remains R, W becomes R, Y becomes R. < 1232303304 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :So yeah, "alveolar" becomes "alzeolar", not "arzeolar". < 1232303314 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :kerlo, that isn't loseless, also how did you decide on this scheme? < 1232303328 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :All consonants become alveolar. < 1232303339 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION googles alveolar < 1232303365 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Unvoiced glottal fricative becomes unvoiced alveolar fricative, voiced bilabial stop becomes voiced alveolar stop, etc. < 1232303378 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Process memory maps are available, so one can check if there's gap after current allocation... < 1232303384 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Whap aboup mapim ip wabiw imfpeab? < 1232303393 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*wabiaw < 1232303407 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :That sounds really fun. < 1232303414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :kerlo, huh. I might understand that better if translated to Swedish < 1232303467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Unvoiced glottal fricative becomes unvoiced alveolar fricative, voiced bilabial stop becomes voiced alveolar stop, etc. <- I understood the words "(un)?voiced", "stop", "becomes" and "etc" in that < 1232303480 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Well, they're all phonetic terms. < 1232303488 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :^bf <. < 1232303491 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :kerlo, well I don't know much about that < 1232303495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :FireFly, it wraps < 1232303497 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Ustemda glottala frikativer bliver ustemda alveolära frikativer ;D < 1232303498 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1232303508 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, no less understandable :P < 1232303524 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :FireFly, 1000 or 10000 cells iirc < 1232303529 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :read the source for details < 1232303668 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://boinkor.net/misc/terrible-xml-error.png < 1232303699 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :technomadic? NOMADS? < 1232303703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, and funny < 1232303711 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*ostämda, i think < 1232303726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, that is why I use an electrical piano :P < 1232303742 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*facepalm* < 1232303770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, so not so bad it is good this time? :( < 1232303842 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's surreal < 1232303854 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, oh? < 1232303861 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how do you mean < 1232303929 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my brain cannot grasp how that comment leads from mine, even as a pun :D < 1232303939 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*follows < 1232303963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, you know an instrument needs to be tuned? < 1232303968 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well that is stämma in Swedish < 1232303978 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and, ostämda, would be non-tuned < 1232303982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or in need of tuning < 1232303995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you don't need to tune an electrical piano :P < 1232304004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION evacuates the building -> < 1232304009 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, maybe it doesn't work in Norwegian? < 1232304010 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :come on, get away from the dangerous AnMaster, everyone < 1232304016 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :terrible pun situation, let's get this under control < 1232304019 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :everyone out in an orderly fashion -> < 1232304021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION joins ehird < 1232304027 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lets get out of here < 1232304029 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh it works all right. it just doesn't make sense. < 1232304030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION squirts AnMaster with funny juicde < 1232304033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*juice < 1232304037 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :come on everyone -> < 1232304039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tastes nice! < 1232304043 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION follows < 1232304048 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION bats AnMaster with a cluebat < 1232304049 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1232304062 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, Always were a hard hat on irc < 1232304065 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is what I always say < 1232304067 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :want one too? < 1232304072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hands ehird a nice hard hat < 1232304076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION puts AnMaster in a cage < 1232304077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1232304100 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, hey good thing I was Houdini in a previous life! < 1232304108 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and good thing I believe in reincarnation) < 1232304115 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION kills AnMaster < 1232304119 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :How? < 1232304121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now we don't need to evacuate! < 1232304128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, how would you kill? < 1232304133 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some sort of weapon or such < 1232304133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: funny-clue-giving-machine < 1232304137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you're allergic to it < 1232304150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ah good thing I took the medicine this morning then < 1232304151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1232304156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, there is no cure < 1232304159 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION walks out of the exit < 1232304163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :source: channel logs < 1232304167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yay out of the building < 1232304172 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :crap < 1232304176 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION turns on the lhc, targets at AnMaster < 1232304182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :now what was it that was so dangerous in there? < 1232304185 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION dodges < 1232304196 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: but you're already a black hole, remember? < 1232304198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[black hole expands to be as big as anmaster and everywhere at once] < 1232304207 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION turns off LHC just as AnMaster is sunk in. < 1232304211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :only a few million casualties. < 1232304212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, no I dodged fast enough < 1232304223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also that was debunked, see snopes or something < 1232304237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or maybe busted, in that case see mythbusters < 1232304243 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :snopes is clearly one of the men in black < 1232304254 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :don't believe everything he debunks < 1232304256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, then mythbusters clearly < 1232304273 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes, they too < 1232304287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure about not believe, but no they aren't MIB < 1232304295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the SNMP protocol would simply reject them < 1232304299 0 :sebbu2!n=sebbu@ADijon-152-1-89-224.w81-50.abo.wanadoo.fr JOIN :#esoteric < 1232304316 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION certainly hopes no one find that funny < 1232304326 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1232304346 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i might be hurting you now if i knew the acronyms without looking them up < 1232304365 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, first hit on google is "Management information base", used in the SNMP protocol < 1232304392 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :clearly anmasterful joke < 1232304406 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, and yes I like making bad puns, it is like you know, the counter weight continent < 1232304416 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :someone need to balance your good puns < 1232304426 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or the channel will tip over < 1232304436 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you mean some day the bad puns will create that black hole out of sheer weight? < 1232304487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, no, I mean without me you would be a white hole just throwing out more and more puns until everyone in here died of laughing, as it is I'm kind of balancing this < 1232304525 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :O_o < 1232304551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :everyone walk away from the crazy man -> < 1232304564 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232304578 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which one? the channel is full of them < 1232304592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, exactly < 1232304593 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: < 1232304605 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well you are worse, you talked a lot about TIME CUBE < 1232304613 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :shut up, stupid academic < 1232304646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh you are a bit untrained, you forgot upper case < 1232304691 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :time cube is not all uppercase. < 1232304735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok true < 1232304739 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it is very large font < 1232304801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm seems he updated it? < 1232304984 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :time to beat AnMaster at this joking game < 1232304985 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"ehird: come on everyone ->" < 1232304988 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :OKAY < 1232304992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION comes on everyone < 1232305000 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bravo < 1232305002 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, :D < 1232305023 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, AnMaster going :D at a sex joke? < 1232305026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what is the world comingt o < 1232305028 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, sure < 1232305030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coming to < 1232305031 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :HURF HURF HURF < 1232305038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1232305039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232305041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ahah* < 1232305082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :by the way, this is the pinnacle achivement of mankind today: http://music.metafilter.com/2943/Runnin-With-The-Songsmith < 1232305125 0 :kar8nga!n=kar8nga@f-34.vc-graz.ac.at JOIN :#esoteric < 1232305248 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, where is the actual music on that link? < 1232305255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :enable flash :\ < 1232305260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1232305264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :an mp3 link might be in the html source < 1232305265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let me look < 1232305272 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: also, 'music' is a bit rich < 1232305284 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://music.metafilter.com/music/DevilAudio.mp3 < 1232305296 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well I did enable all scripts, and I don't see any such "missing plugin box" < 1232305296 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1232305297 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1232305302 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cover your ears < 1232305322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ouch < 1232305351 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the song sounds like it should fit some sort of rock or possibly metal music < 1232305356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and that music doesn't fit < 1232305360 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eww < 1232305364 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :read the post < 1232305366 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232305370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's this: < 1232305376 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://uk.youtube.com/watch?v=tpX3NhpRGdE&feature=related < 1232305377 0 :sebbu!unknown@unknown.invalid QUIT :No route to host < 1232305378 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1232305382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'s vocal track, put into: < 1232305390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://uk.youtube.com/watch?v=3oGFogwcx-E < 1232305398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is a hideous abominatory microsoft creation < 1232305405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ARGH! < 1232305410 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it makes music < 1232305411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :from vocals < 1232305420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the advert is linked to is simply hilarious < 1232305421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no it doesn't < 1232305427 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it makes *sound* from music < 1232305427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it _attempts_ to < 1232305428 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1232305430 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232305431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sound from singing < 1232305433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232305438 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, but I say it doesn't make music < 1232305459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, it arguably improves van halen. < 1232305479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I haven't listened to original yet < 1232305483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :will do shortly < 1232305500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't think anyone can listen to such an abomination all the way through < 1232305563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, the original is about as horrible in fact < 1232305565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but in a differen < 1232305568 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :different way < 1232305575 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okay, now watch the songsmith advert :-D < 1232305579 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unless you've already seen it < 1232305587 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is it same as http://music.metafilter.com/music/DevilAudio.mp3 ? < 1232305601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no... < 1232305604 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1232305609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://uk.youtube.com/watch?v=3oGFogwcx-E < 1232305613 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the official from-microsoft advert < 1232305615 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also how come youtube didn't remove audio from the original? < 1232305618 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :surely that is copyrighted < 1232305632 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they tried to, but everyone they sent to do it died of hearing it before they could mute it < 1232305686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :AUGH!!!!!!!!!!!!!!!!!! < 1232305712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :don't give up! < 1232305714 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I can't watch more than 30 seconds of it < 1232305715 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it gets better as it goes < 1232305719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :where better means worse < 1232305777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :will anyone actually buy it? < 1232305782 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't think so < 1232305802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i checked their forums, people were actually asking when it could be bought in non-US places < 1232305803 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :x_x < 1232305816 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh no < 1232305829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I mean compared to this even rap is good < 1232305832 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in the future, all music will be made with songsmith. < 1232305837 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :musicians will be obsolete. < 1232305847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then, the vocalists for it will be replaced with Microsoft Sam text-to-speech. < 1232305853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The lyricwriters? markov chains. < 1232305863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, good thing I have some good old style gramophone records with classical music on them then < 1232305872 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they will be outlawed. < 1232305883 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, actually, feeding Ms Sam into that would be interesting < 1232305885 0 :ais523!n=ais523@147.188.254.127 JOIN :#esoteric < 1232305890 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I wonder what the result would be < 1232305892 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hi ais523 < 1232305894 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi AnMaster < 1232305897 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and wb me < 1232305901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, microsoft sam doesn't exactly do any intonation < 1232305913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes so what will songsmith do with it I wonder < 1232305928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :play the same chord over and over again? < 1232305934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :possibly < 1232305969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway this product won't lower the overall music quality of the world. Because it doesn't count as music < 1232305980 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh no, SongSmith? < 1232305989 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: we're talking about feeding microsoft sam into songsmith. < 1232306006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :with text from markov chains. < 1232306016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, also how the heck does it handle when the person singing don't know how to sing properly, I mean can't "find the notes" or whatever you say in English < 1232306020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :actually, that could count as good piece of art-music, possibly. like, sarcastically. < 1232306020 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh dear < 1232306024 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :will it retune to a different freq on demand? < 1232306033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: probably it tries to correct it when making the chords < 1232306034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :most likely, < 1232306039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it'll produce more awful crap < 1232306039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, oh yes modernistic music, sure it would work as that < 1232306049 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it just produces bad music, it does that even with people who can sing I expect < 1232306060 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SongSmith may turn out to be an even worse idea than Microsoft Bob < 1232306065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: have you seen < 1232306068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, someone fed some rock vocalist into it < 1232306070 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :music.metafilter.com/music/DevilAudio.mp3 < 1232306074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah, what AnMaster said :-P < 1232306074 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it produced something totally different < 1232306079 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah that link < 1232306080 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :van halen vocals + songsmith = http://music.metafilter.com/music/DevilAudio.mp3 < 1232306101 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they didn't even set the bpm correctly, they just set the "happy" slider at full < 1232306102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232306119 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well, it arguably improves van halen. <-- no... equally bad before and after < 1232306141 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i can listen to the songsmithed version all the way through, not the original < 1232306169 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is because the original has video too < 1232306174 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah. good point. < 1232306183 0 :join!n=Slereah@ANantes-259-1-93-23.w92-139.abo.wanadoo.fr JOIN :#esoteric < 1232306184 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you hide that it isn't so bad < 1232306190 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hi join < 1232306195 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :where's part? < 1232306198 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :someone who has it should pipe a few Fugue programs into it < 1232306201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hi Slereah < 1232306209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, none of us has it < 1232306216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and htf did Slereah hit on an obvious non-registered nickname? < 1232306219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's a 6-hour demo, AnMaster < 1232306220 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also what is Fugue? < 1232306229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://esolangs.org/wiki/Fugue < 1232306244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, of songsmith? < 1232306247 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1232306252 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i could boot up windows and download it, I guess. < 1232306271 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: as in, you only get to use it for 6 hours? < 1232306271 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well not an issue since you could take a snapshot before and reset it after < 1232306275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes < 1232306280 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1232306282 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a ridiculously short free trial < 1232306287 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're normally 30 days < 1232306293 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, enough to decide "I hate this" < 1232306297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah but it's songsmiht < 1232306300 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :all you do is sing then listen. < 1232306321 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I told you about the free trial GPL program a while back, didn't I < 1232306323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if it was any good, 3 hours of listening to it (3 hours of singing in...) would be enough to decide, probably < 1232306324 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that was really silly < 1232306332 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what one was it? < 1232306335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: a compiler < 1232306337 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :based on gcc < 1232306345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well sounds familiar < 1232306347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I just looked at the source, then replaced the licence manager with hello world < 1232306351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://esoteric.voxelperfect.net/files/fugue/src/hworld.mid < 1232306359 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wrote that < 1232306362 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I like it < 1232306362 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1232306366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I like it too < 1232306368 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is music, not song? < 1232306372 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you can't play mids, I have an ogg version lying around somewhere over here < 1232306374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it wouldn't work in songsmith < 1232306380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, you can put instruments in it too < 1232306380 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I can, I have hardware midi < 1232306383 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it tries to match it up < 1232306394 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I have software midi, it's pretty good apart from taking up 40% of my CPU < 1232306411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :someone should put a fast & complex electric guitar solo in there and see what it does t o it < 1232306411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, oh, I wonder what will happen if you use, say "Spring" of Vivaldi as input < 1232306421 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i think it kills the program. < 1232306426 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like, in an actual < 1232306426 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :life < 1232306427 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :killing < 1232306430 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :way < 1232306436 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I think the result will kill anyone listening < 1232306439 0 :MigoMipo!n=MigoMipo@84-217-2-145.tn.glocalnet.net JOIN :#esoteric < 1232306453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well I lack a good soundfont < 1232306466 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, a340 is ok-ish as a soundfont < 1232306471 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but the piano really sucks < 1232306546 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, um? D-minor? < 1232306551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nah none existing one I think < 1232306565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I quite like it, some atonality there too < 1232306570 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it isn't in any particular key < 1232306580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was in fact automatically generated by a BF->Fugue compiler < 1232306589 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which was sufficiently nonportable that I believe it only runs on one computer < 1232306592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok for auto generated it isn't too bad < 1232306600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh? < 1232306612 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a crazy story, actually < 1232306639 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the compiler involved lots of different langs, including C, Prelude, Visual Basic, and a couple I invented specifically for the purpose < 1232306648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm Fugue is massively concurrent isn't it? < 1232306658 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the actual music entry was done by customizing the keyboard shortcuts of a proprietary MIDI editor < 1232306667 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then sending it keyboard events using VB's SendKeys < 1232306681 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and no, it isn't, it has a fixed number of threads which have to run in step < 1232306693 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's more like having a lang where each command always does a large number of finite things < 1232306711 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, was the compiler gc? (Goldberg Compiler) < 1232306729 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wrote everything in the chain myself, except the proprietary midi editor < 1232306744 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, why so complex < 1232306747 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I actually used to be pretty good at VB once, surprisingly < 1232306751 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I rarely use it nowadays < 1232306762 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and why so complex? because I didn't know how to generate MIDI by hand < 1232306776 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um. specs? < 1232306787 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523 my bignum kind of doesnt work :(((((((((((((((((((((((( < 1232306789 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or maybe this was long ago? < 1232306810 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: post-2005 < 1232306812 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was ages ago < 1232306813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since fugue is 2005 < 1232306814 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and specs of what? < 1232306819 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, of midi format < 1232306823 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or some library for it < 1232306831 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't know if there are any < 1232306835 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also how comes it isn't very concurrent? just play a chord? < 1232306835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastie.org/364042.txt?key=u3cqc6nuw91cp0cehfm5fg <-- the bui_mod_incr function doesn't work and I can't figure out why < 1232306844 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and this is back when I didn't do any programming on Internet-connected computers < 1232306849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and you have a few threads, one per tone? < 1232306851 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or not? < 1232306863 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because I had only public terminals for that < 1232306868 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and no, it isn't exactly a thread per tone < 1232306881 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because multithreaded programs can have threads running at different rates, and doing control flow < 1232306891 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when one line of music loops, every line loops, in Fugue < 1232306898 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what that's called, but it isn't multithreading < 1232306903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um < 1232306915 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1232306931 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::\ < 1232306948 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway there are no loops in midi afaik < 1232306953 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1232306957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :every time i export a loop it ends up being expanded < 1232306961 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are loops in Fugue, though, because it's a programming language < 1232306968 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's like saying there are no loops in ASCII, so C can't have loops < 1232306978 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, right, but how would you encode it in midi < 1232306988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh a special note? < 1232306990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: by using the loop-start and loop-end instructions < 1232307001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just like you encode loops in C by using while or for or goto < 1232307005 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, did you ever do something like "play as it runs"? < 1232307012 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, that wouldn't be particularly interesting < 1232307024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::s < 1232307029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh? it would include listening to the loops < 1232307031 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you would just get the bits inside the loops again and again < 1232307036 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which are only a few notes long < 1232307039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1232307052 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and besides, due to the BF-like arithmetic the loops are going to be running around hundreds of times < 1232307057 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it's going to get on your nerves < 1232307081 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh idea: "Variations of hello world", which should keep the same output (printing hello world a few times) but sound a little different each time < 1232307095 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there were random numbers involved in the compiler < 1232307103 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I actually have a second hello world in Fugue, but it isn't as good < 1232307129 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also midi doesn't actually encode tempo? Just the length in ms or something < 1232307140 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so how can the interpreter know what a fifth is or such < 1232307152 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: tempo has nothing to do with intervals < 1232307190 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, MIDI itself isn't a file format, but a communications format < 1232307193 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well, quater note = 180 or quater note = 120 would end up different in midi, and iirc midi doesn't store any "metronome values" < 1232307204 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: quarter notes have nothing to do with fifths, the interval < 1232307216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a fifth goes up from C to G, or C# to G#, or D to A, and so on < 1232307219 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm? then I mentally mistranslate < 1232307222 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1232307224 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you should look at my bignum :-D < 1232307229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and MIDI does store some metadata, such as the time signature < 1232307231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes that would make more sense < 1232307252 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why are you using goto? < 1232307262 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eh, why no < 1232307262 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :t < 1232307263 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232307273 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i thought about the algorithm in terms of a goto, so that's how I wrote it < 1232307300 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the algorithm looks correct < 1232307307 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in what way does it fail? < 1232307318 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :% cc -Wall -m64 -ansi bignum.c; ./a.out < 1232307318 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232307319 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18446744073709551615 < 1232307321 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232307324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's the full output < 1232307325 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::\ < 1232307332 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :chops off everything after the length and then does nothing more o_O < 1232307401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's something seriously wrong with that < 1232307407 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless the IRC server clipped a newline < 1232307412 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :was there a double-newline in the actual output? < 1232307513 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, ys < 1232307514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232307517 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was my client stripping that < 1232307520 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :where? < 1232307526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :before the last 1 :_) < 1232307528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1232307541 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's easy enough to explain < 1232307544 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*m was 0 < 1232307547 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you broke out of the loop < 1232307552 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :your print routine is incapable of printing a zero < 1232307552 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, duh < 1232307561 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I forgot to make it account for the length-change < 1232307565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instead of the null-termination < 1232307627 0 :kar8nga!unknown@unknown.invalid QUIT :Connection timed out < 1232307666 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, how comes you are using a length instead of a zero terminated one? < 1232307677 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I persuaded him to < 1232307678 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because ais523 argued with me about it and told me to. < 1232307683 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh. < 1232307683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1232307684 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a lot faster for bignums < 1232307689 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because it fits what the architecture is doing < 1232307690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes I can imagine < 1232307705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can add two numbers just with add/add-with-carry/add-with-carry, etc < 1232307715 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, in a simple for loop < 1232307726 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, C doesn't have a portable add-with-carry instruction, but given that ehird's going for speed I'm sure he won't mind rewriting that bit in asm < 1232307737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I am not going for speed < 1232307740 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i've told you this 5000 times < 1232307740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, oh btw ehird, for is usually faster than while with GCC, since it can optimise it better < 1232307742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this is just for fun < 1232307748 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err you said you were before < 1232307753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, for the scheme impl < 1232307754 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm 100% sure you said so < 1232307756 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm just writing a bignum library for fun < 1232307758 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, where does that rumour come from? < 1232307766 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh the scheme one? < 1232307766 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for and while translate to the same thing at the RTL level < 1232307770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as does goto, for that matter < 1232307773 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, the for faster than while thing < 1232307784 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, as in I observed it myself, profiling. < 1232307788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :rewriting a loop can make it a lot faster < 1232307791 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but not for that reason < 1232307795 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, for example it managed to vectorise a for loop < 1232307807 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :while not the equivalent while loop < 1232307831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and it managed to unroll some for loops but not the while loops < 1232307832 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there is no difference apart from scoping between for(a=0; a<64; a++) {foo; } and a=0; while(a<64) {foo; a++} < 1232307848 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as long as you have no continue statements inside the loop < 1232307852 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ssh, let him have his placebo! < 1232307854 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I belive the loop I tried on were a bit more complex, one was CRC for example < 1232307856 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I'm pretty sure gcc unrolls while loops < 1232307891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232307892 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18446744073709551615 < 1232307892 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1232307894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18446744073709551615 < 1232307896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1232307898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok, that's an odd result... < 1232307900 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :should be 2, 0, 1 < 1232307932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1232307943 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well why they does gcc not vectorise any while loops in my experiments < 1232307947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but a lot of for loops < 1232307949 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232307949 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232307952 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm using gcc 4.1.2 btw < 1232307955 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yay, it works < 1232307969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :int main(void) < 1232307971 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :{ < 1232307971 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232307971 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232307972 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :int getchar(void); < 1232307974 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :int i=getchar(); < 1232307975 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :int c=0; < 1232307977 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :while(c<16) {i*=i; ++c;} < 1232307978 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :return i; < 1232307980 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :} < 1232307981 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that loop was unrolled at -O3 < 1232307984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :into 16 multiply instructions < 1232307989 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/364057.txt?key=zpbkykzrv0q9xax847rpbw < 1232308000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and vectorised with -ftree-vectorize or whatever it is called? < 1232308007 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308007 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1232308011 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe -fvectorize-tree < 1232308013 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :don't remember < 1232308013 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: just with -O3 < 1232308020 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308020 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232308025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think this computer does vectorisation < 1232308030 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308030 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I'll try and see what happens < 1232308030 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232308041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, gcc doesn't vectorize without -ftree-vectorize < 1232308047 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, that loop won't vectorise for obvious reasons < 1232308050 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308050 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232308051 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :let me rewrite it as one that will < 1232308058 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, see also -ftree-vectorizer-verbose < 1232308060 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308060 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232308070 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it will tell you why it can/can't vectorise < 1232308073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-ftree-vectorizer-verbose=7 < 1232308074 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or so < 1232308097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some gcc versions segfault on that flag if too high, trying to print a null pointer < 1232308098 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308098 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1232308112 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fixed in trunk < 1232308117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :affects gcc 4.3 at least < 1232308123 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :cc1: error: unrecognized command line option "-ftree-vectorise" < 1232308129 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, how old? < 1232308135 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gcc 3.x or what? < 1232308137 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :gcc (Ubuntu 4.3.2-1ubuntu11) 4.3.2 < 1232308141 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308141 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232308144 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, spell it amercian < 1232308146 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it will help < 1232308149 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308149 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232308155 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :american* < 1232308180 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308180 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232308182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it helped right? < 1232308193 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232308196 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf is up with kar8nga's connection, this is getting irritating < 1232308224 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no it's not... < 1232308227 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I haven't even noticed it < 1232308233 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nowhere near moozilla levels yet < 1232308239 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it didn't vectorise either the while or the for when I tested < 1232308240 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308240 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232308240 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, a lot more often < 1232308243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as you see < 1232308249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, my brain just filters it out < 1232308250 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a.c:8: note: not vectorized: no vectype for stmt: D.1209_21 = i[c_44] scalar_type: int < 1232308253 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why not ignore join/parts < 1232308261 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :"I'm irritated." "No you're not." < 1232308262 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes they depend on each other I believe < 1232308265 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also try -march < 1232308267 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to correct < 1232308271 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like something with sse < 1232308279 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or at least mmx < 1232308288 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to find ais523's lambda scoping example < 1232308289 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308289 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232308292 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what do you recommend? < 1232308303 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well what cpu is it? < 1232308313 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't care, I'm not actually planning to run the program < 1232308317 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just compile to asm and read the asm < 1232308332 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, -march=core2 then? < 1232308333 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308333 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232308356 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ah, it vectorised both of them < 1232308363 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway you can't vectorise that since all modify i < 1232308368 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, I rewrote the program < 1232308378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it did? doesn't with older gcc < 1232308382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :4.1.2 that is < 1232308400 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :int main(void) { < 1232308402 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :int getchar(void), i[16], c; < 1232308403 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :c=0; while(c<16) {c[i]=getchar(); ++c;} < 1232308404 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :c=0; while(c<16) {c[i]*=c[i]; ++c;} < 1232308406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for(c=0; c<16; ++c) {c[i]*=c[i];} < 1232308408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :return i[getchar()]; < 1232308409 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :} < 1232308414 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not at all surprised, because the while and the for loop are completely synonymous < 1232308424 0 :Judofyr!n=Judofyr@95.34.27.156.customer.cdi.no JOIN :#esoteric < 1232308435 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how the heck could that for loop be vectorised? it includes a function call < 1232308441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not the first one < 1232308447 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :loops 2 and 3 are vectorised < 1232308448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1232308450 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which are equivalent < 1232308450 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :misread it < 1232308465 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :loop 1 is just there to prevent gcc constant-folding < 1232308467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :by using user input < 1232308475 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, I apologise for the declarations line < 1232308482 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's legal C, and good for brevity, but very confusing < 1232308488 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C-INTERCAL used it a lot before I fixed that sort of thing < 1232308505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"fix"? < 1232308506 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you mean break < 1232308512 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, not really < 1232308520 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :writing int getchar(void); inside a function is legal < 1232308521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : int getchar(void), i[16], c; <-- function prototype and variables in one? < 1232308522 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but confusing < 1232308524 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yep < 1232308527 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1232308532 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Well, having written this silly lisp-bot, I think I'll try writing a serious one. < 1232308545 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I bet you didn't even know that you can declare library function prototypes inside a lexical scope < 1232308549 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because it's an insane thing to do < 1232308549 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway using a volatile variable would have worked too < 1232308561 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is what I usually do < 1232308561 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I doubt it, that would prevent the compiler vectorising < 1232308564 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :surely? < 1232308564 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Is a volatile variable a variable that is capable of varying? < 1232308569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, depends on where < 1232308573 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes for the first loop < 1232308576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not for the rest? < 1232308579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if < 1232308581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: it tells the compiler that the variable might change unpredictably without it knowing < 1232308588 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :volatile int src; < 1232308591 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally, because you've given a pointer to it to an interrupt handler or to some other program < 1232308593 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Interesting. < 1232308594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :c=0; while(c<16) {c[i]=src; ++c;} < 1232308604 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, how would it affect the other loops? < 1232308614 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kerlo: for instance, if you write volatile int i; i=1; i=2; < 1232308622 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then the compiler will store both 1 and 2 in memory where i is < 1232308633 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because volatile tells it not to get rid of redundant reads and writes < 1232308643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes could be DMA or whatever < 1232308653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like a memory mapped char output < 1232308656 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or a memory-mapped hardware register, I've used volatile for those before < 1232308663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes exactly < 1232308677 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the other thing volatile does is to tell the compiler to definitely not store the variable in a register < 1232308681 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you wrote kernel stuff? < 1232308682 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is useful when messing around with longjmp < 1232308688 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: embedded stuff < 1232308691 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1232308691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :with no OS < 1232308700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1232308713 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :volatile int eax __asm__("%eax"); < 1232308718 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(actually works :-)) < 1232308740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, actually it may still have to put it in a register, but it need to load/store it before/after < 1232308752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some arches may not be able to operate on stuff not loaded in registers < 1232308759 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it may need to do things via registers, yes < 1232308768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but volatile tells it to reread the value whenever it's needed < 1232308773 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, I know that works < 1232308778 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've written such before, for another architecture < 1232308782 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was talking to AnMaster before < 1232308785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :errr < 1232308786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s/before/too/ < 1232308789 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308790 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232308792 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, though I think add on x86 may take memory operands? < 1232308801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also < 1232308806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also < 1232308807 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what does volatile int eax __asm__("%eax"); do? < 1232308808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you're doing that < 1232308811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why not just write it as __asm__ < 1232308812 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232308812 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232308817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: err that syntax is wrong < 1232308820 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :should be < 1232308826 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :volatile int *eax __asm__("%eax"); < 1232308831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: then *eax reads the eax register < 1232308837 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and *eax=...; sets it < 1232308842 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(on x86) < 1232308845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1232308847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ok, but what does volatile for it mean? that it may not be stored in a register? < 1232308859 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, %eax changes all the freaking time < 1232308865 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes true < 1232308865 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just telling gcc to not try and be clever with it... < 1232308871 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1232308884 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, the "must not store in a register" bit is confusing though < 1232308886 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's telling gcc that %eax might change when it does something that doesn't obviously change the variable < 1232308895 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1232308937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it obviously ignore the bit about the "not store in a register", I bet that it won't work with longjmp < 1232308953 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also, could you pass this pointer around? < 1232308963 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232308965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or cast the pointer to an int? < 1232308965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, no < 1232308967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it isn't a pointer < 1232308970 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes it is < 1232308975 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :int *eax means that eax stores an int* < 1232308975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it looks like that though < 1232308975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :volatile int *eax __asm__("%eax"); < 1232308988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not that you can do &eax and get a sensible value < 1232308995 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the variable has a pointer type, but it can't be pointed to < 1232308998 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1232308999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1232309010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes of course it can't work like that in the machine code < 1232309015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but < 1232309024 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :memory mapped CPU registers would be fun < 1232309033 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :My GCC info pages say "5.40.2 Specifying Registers for Local Variables -- You can define a local register variable with a specified register like this: register int *foo asm ("a5");". < 1232309044 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have heard of register mapped memory before < 1232309051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :isn't that an overloading of "register", fizzie? < 1232309054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but the other way around, no < 1232309086 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, wouldn't using "volatile int *eax __asm__("foo")" be an overloading of volatile? < 1232309094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, err I think that means that the register will be reserved for that variable < 1232309105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: no? < 1232309116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, which isn't same as "lets see what is in this register anyway" < 1232309155 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's the only sort of "explicit register names for variables" I could find in GCC docs with a quick glance. < 1232309179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, but as far as I know the meaning is quite different < 1232309227 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, it doesn't reserve the register for that value except for where it's live, but I guess it is a bit different. < 1232309276 0 :KingOfKarlsruhe!n=nice@HSI-KBW-091-089-252-201.hsi2.kabel-badenwuerttemberg.de JOIN :#esoteric < 1232309302 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I just can't find in the docs any references to "here's how you declare a variable which will read whatever eax is, but not reserve eax if you store something in it". < 1232309328 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Puff of cream. < 1232309329 0 :kerlobot!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232309340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: that's not done via a variable, I think < 1232309353 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you want to give an asm command with a constraint to read eax without reserving it < 1232309373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, if you do that, there's quite a chance that the compiler will put the variable you're trying to copy to in eax, to save a command < 1232309435 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, well, if that's the case, I don't see how that "volatile int *eax" thing is different. It sounds like it would just tell GCC to explicitly use the eax register for storing values stored in that variable. < 1232309456 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, if you didn't do that then volatile makes no sense since it wouldn't change < 1232309474 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: the question is, really, what exactly are you trying to do? < 1232309495 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to understand what you are speaking of. :p < 1232309521 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And what that "volatile int *eax" was all about, since the only similar form I'm aware of is the "register int *eax asm("eax");" thing. < 1232309539 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, doing it with register is more common IIRC < 1232309543 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I think that's the form I saw < 1232309545 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm. ok < 1232309575 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would make a lot more sense < 1232310587 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310587 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232310610 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310610 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232310669 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310669 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232310686 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310686 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232310704 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310704 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1232310743 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310743 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232310800 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310800 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232310839 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310839 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232310858 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310858 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232310899 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310899 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232310916 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310916 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1232310964 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310964 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232310981 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232310981 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232311009 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311009 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232311044 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311044 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232311082 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1232311090 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, that's about 2/3 of a screenful of quitjoin spam < 1232311102 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311102 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232311108 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :i suppose it depends on your screensize < 1232311140 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311141 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232311146 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1/1, says i < 1232311155 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311155 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232311189 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311189 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1232311207 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a screenful now, with only 4 lines interrupting it < 1232311222 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now, banning someone for unintentional quitjoin spam is too much, I think < 1232311229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :could we reverse-ban kar8nga? < 1232311233 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to stop them parting? < 1232311235 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that would also stop the spam < 1232311271 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's not part, it's quit < 1232311277 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, stop them quitting too < 1232311296 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311296 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232311297 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION swats ais523 -----### < 1232311305 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ow < 1232311314 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311314 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232311328 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311328 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1232311337 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i would swat kar8nga, but he isn't here long enough at a time < 1232311347 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Reminds me of that Hotel California song. "You can /quit any time you like / but you can never leave." < 1232311353 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The reverse-banning, that is. < 1232311370 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311370 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232311435 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311435 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1232311474 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Maybe if I do a five-minute ban, his/her client will not try to rejoin after failing once. < 1232311477 0 :kar8nga!n=kar8nga@b-35.vc-graz.ac.at JOIN :#esoteric < 1232311477 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1232311485 0 :ChanServ!unknown@unknown.invalid MODE #esoteric :+o fizzie < 1232311503 0 :fizzie!unknown@unknown.invalid MODE #esoteric :+b kar8nga!*@* < 1232311526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: shock! < 1232311528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :actual op powers! < 1232311532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :never do this again :-P < 1232311550 0 :join!unknown@unknown.invalid PRIVMSG #esoteric :He is all powerful < 1232311554 0 :join!unknown@unknown.invalid PRIVMSG #esoteric :Bow to him! < 1232311555 0 :join!unknown@unknown.invalid PRIVMSG #esoteric :Also < 1232311559 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is op-striken < 1232311559 0 :join!unknown@unknown.invalid NICK :Slereah < 1232311561 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*stricken < 1232311568 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :*chicken < 1232311569 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: how did you end up with the nick "join", anyway? < 1232311569 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey fizzie < 1232311571 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :op me! < 1232311581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you know how badly that went last time... < 1232311582 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*thicken < 1232311591 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, I wrote a bot to keep me an op :D < 1232311594 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ais523 : You know when your nick is registered and you connect the server? < 1232311597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and lament de-opped it :'( < 1232311604 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It puts "/nick" as your default line < 1232311609 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1232311616 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And I entered /join #esoteric < 1232311619 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, in that case I'm doubly-shocked that nobody has taken join yet < 1232311621 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, mine doesn't < 1232311623 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it just tries ais523_ < 1232311625 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then ais523__ < 1232311631 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then prompts, I think, in a dialog box < 1232311633 0 :fizzie!unknown@unknown.invalid MODE #esoteric :-b kar8nga!*@* < 1232311635 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's different, ais523 < 1232311642 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Because I actually stay Slereah < 1232311655 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Because Freenode doesn't actually enforce registered nickls < 1232311659 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, just joining with a nick registered by someone else < 1232311665 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and Freenode does, but only on request from the nick's owner < 1232311676 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can tell NickServ to enforce your nick, but hardly anyone ever does < 1232311689 0 :fizzie!unknown@unknown.invalid MODE #esoteric :-o fizzie < 1232311693 0 :Slereah!unknown@unknown.invalid NICK :moot < 1232311696 0 :moot!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232311698 0 :moot!unknown@unknown.invalid PRIVMSG #esoteric :Bow! < 1232311709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :go away, little girl < 1232311710 0 :moot!unknown@unknown.invalid PRIVMSG #esoteric :Hell, moot is actually registered! < 1232311716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: you deopped fizzie? What did they do wrong? < 1232311720 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that was a moot question < 1232311727 0 :moot!unknown@unknown.invalid NICK :Slereah < 1232311736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: /me recalls deopping AnMaster in #ESO because he opped me without first asking for permission from an op < 1232311744 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Senseless banning of poor, defenseless kar8nga. < 1232312624 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : It puts "/nick" as your default line <-- what client? < 1232312627 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mine never does that < 1232312658 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mIRC < 1232312659 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1232312663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm ok < 1232312668 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :mIRC, yeah < 1232312671 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(mIRC is actually a good IRC client, despite being Windows software) < 1232312700 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or use Insurgent Sysreset, if you're an /i/nsurgent :D < 1232312734 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:05 Error(404): #twitter Your message is 142 characters long. Your message was not sent. < 1232312741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Stupid artificial restrictions < 1232312752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION registers the nick join btw < 1232312759 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1232312761 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh you < 1232312761 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's not very nice < 1232312764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's Slereah's < 1232312771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, he forgot to register it < 1232312775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so? < 1232312777 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :still jackassy < 1232312784 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :someone needed to register it < 1232312791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :let Slereah, then < 1232312794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I waited several hours < 1232312800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and he didn't register it < 1232312800 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it isn't Slereah's nick really, Slereah made it clear that it was by accident < 1232312802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :without telling him you were going to. < 1232312804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so his own fault < 1232312807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232312810 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you're an ass. < 1232312811 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, and? < 1232312815 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no I'm not you are < 1232312820 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you took otpbot < 1232312823 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :without telling me < 1232312829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :...otpbot was my name. < 1232312835 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no it was mine, I wanted it < 1232312840 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I didn't even realise there was an otpbot < 1232312841 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :same logic sorry < 1232312846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, there isn't < 1232312847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I came up with otpbot _before_ you did. < 1232312850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :he used optbot < 1232312851 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in the end < 1232312855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So only "same logic" if you're an idiot. < 1232312858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Wait a second. < 1232312862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I wanted it for otpbot as in Erlang/OTP < 1232312896 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :22:05 -NickServ(NickServ@services.)- 1 failed login since Jan 18 21:05:10 2009. < 1232312896 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :22:05 -NickServ(NickServ@services.)- Last failed attempt from: Cats!n=92825d6c@Pantheon.Kanotix.com on Jan 13 18:10:37 2009. < 1232312898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1232312905 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes that tusho and ehird are different people according to NickServ < 1232312911 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:07 but I wanted it for otpbot as in Erlang/OTP < 1232312915 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you wanted it _afterwards_ < 1232312915 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(oh yes I own that nick, used it for a AYB joke) < 1232312924 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whereas you only regisered join because you saw Slereah using it < 1232312925 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I had plans long before < 1232312932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :uh-huh. < 1232312945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's about as verifiable as when i claimed I came up with the name cfunge first, AnMaster < 1232312946 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Connection timed out < 1232312959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, oh you admit then? < 1232312963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :great < 1232312965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :afk < 1232312976 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bye, jackass < 1232313053 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Thank goodness, VIP is here to guide you in these troubled times : < 1232313054 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Divers7/Take%20it%20easy.jpg < 1232313077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm not angry when I call people asses. < 1232313088 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :getting angry over assholes would be counterproductive < 1232313123 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, tell me, why are you so fond of donkeys? < 1232313135 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Because of their huge penises < 1232313136 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DDDDDDDDDDDDDDDDD < 1232313139 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :congratulations. you are the 1 billionth person to make that joke, AnMaster. < 1232313146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you win £-100. pay up. < 1232313153 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, alas no < 1232313168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'm the 1 billionth + 1 person < 1232313181 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :x'DDDDD < 1232313183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you missed that one over there >> < 1232313189 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :GregorR? < 1232313197 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, no, in the other room < 1232313197 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders about making a map of UseNet < 1232313199 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*Usenet < 1232313201 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Owait, now it points at fizzie < 1232313203 0 :MigoMipo!unknown@unknown.invalid NICK :QwertUiop < 1232313212 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: indecisive asses are the worst. < 1232313214 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after all, we know that comp.lang.c++ is two rooms down the corridor on the left from comp.lang.c < 1232313216 0 :QwertUiop!unknown@unknown.invalid NICK :MigoMipo2 < 1232313223 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there may be enough of those references to draw a map of the whole thing < 1232313235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wut? < 1232313242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what like alt.porn alt.porn.makes.no.sense (I forgot the details, it was something like alt.bin.whatever.sex-something.clinton iirc) < 1232313244 0 :MigoMipo2!unknown@unknown.invalid NICK :MigoMipo < 1232313249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what this usenet is everyone keeps referring to :P < 1232313252 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or wait no < 1232313263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you've never heard of usenet? < 1232313264 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Usenet is where you use the internet < 1232313272 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, tons of times. < 1232313277 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, alt.bin.pic.sex.parachute or such < 1232313282 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I used to go to usenet, because the first French furry group was thar :o < 1232313283 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because people keep referring to it < 1232313291 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Usenet is pretty much shit, though < 1232313291 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, make whatever sense you want of that < 1232313293 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: do you know how to access it? < 1232313296 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I didn't check what it was < 1232313299 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no < 1232313303 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: alt.binaries., surely? < 1232313305 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :How come most /b/tards are furries? < 1232313307 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes maybe < 1232313308 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hypocrites :-P < 1232313312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I don't use usenet a lot < 1232313316 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you can view it via groups.google.com < 1232313321 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :have a look at alt.lang.intercal some time < 1232313323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not the binaries < 1232313325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1232313327 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's the esolang group, but it isn't very active < 1232313327 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however < 1232313329 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ehird : Remember the credo! < 1232313341 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Divers/1167175439619.gif < 1232313363 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Usenet is the last bastion of the True Spirit of the Internet < 1232313373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even if there was that terrible accident where it got stuck in September 2003 < 1232313379 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*1993 < 1232313382 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What is the true spirit of the internet, ais523? < 1232313391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: being able to talk to other people about anything you want < 1232313395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :without problems < 1232313400 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Define "problems" < 1232313414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :problems != flamewars < 1232313416 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232313422 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, you get flamewars on Usenet too < 1232313427 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1232313430 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but nobody can be blocked from it, pretty much < 1232313452 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the main tool for debate de-escalation there is the equivalent of /ignore < 1232313457 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you don't like what someone's saying, ignore them < 1232313460 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, btw, if you have ipv6, xs4all provides a good usenet read only server, very fast and very complete. Doesn't filter binary channels either. And it is at least available to users of the SixXS tunnel < 1232313461 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and talk to the people you do like < 1232313463 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure about other ipv6 < 1232313474 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://encyclopediadramatica.com/Alt.tasteless < 1232313475 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't, the computer's fine but the network here can't handle it < 1232313482 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, tunnel? < 1232313483 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why hello there, I am internet of the past. < 1232313490 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is what I use... < 1232313554 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"In 1993, alt.tasteless members orchestrated one of the first forum invasions, in which rec.pets.cats (a newsgroup for cat-lovers) was mercilessly trolled." < 1232313569 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :before or after september/ < 1232313575 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :End of august :D < 1232313623 0 :MigoMipo!unknown@unknown.invalid PART #esoteric :? < 1232313640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, where does it say that? < 1232313684 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's a link to the thread : http://groups.google.com/group/alt.tasteless/browse_thread/thread/3f265cf9ef49d3e1 < 1232313705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, doesn't work for me, it refuses even when I click the 'yes i'm sure' button < 1232313715 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's because you are underaged < 1232313717 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Noti boy < 1232313722 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Google have been doing a lot of archiving of Usenet < 1232313722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, I'm not. < 1232313733 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they even bought up all the Usenet archives from before they started < 1232313736 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I'm not entirely sure why < 1232313741 0 :FireFly!unknown@unknown.invalid QUIT :"Later" < 1232313746 0 :KingOfKarlsruhe!unknown@unknown.invalid QUIT :Remote closed the connection < 1232313753 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... deja.com still redirects to groups.google.com, after all this time < 1232313766 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :deja.com? < 1232313770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf would that be < 1232313773 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Usenet archivers < 1232313776 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1232313779 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they got bought out by Google < 1232313792 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well how much would the domain cost google? relatively speaking < 1232313799 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it isn't like they would notice < 1232313805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they got the domain free with the company < 1232313810 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so they may as well maintain it, I suppose < 1232313814 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well they have to renew it < 1232313818 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in case anyone still wants to visit Deja's archives for some reason < 1232313837 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or in case someone also got stuck in September 1993 and has only just come out of their coma < 1232313837 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also I hope links still work < 1232313842 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :permanent url you know < 1232313911 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://encyclopediadramatica.com/Meow_Wars < 1232313912 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232314018 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why are you linking to that horrible site all the time < 1232314038 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :You must face your demons, AnMaster < 1232314046 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, ? < 1232314052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that sounds like a quote from something < 1232314084 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1232314120 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's a stock movie quote, AnMaster < 1232314128 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It is not a quote of anything in particular < 1232314156 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm ok < 1232314159 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that < 1232314165 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :*that reminds me < 1232314178 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION checks if there has been a new beta of that open source game yet < 1232314194 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes!, no activity for several months before, finally a new beta < 1232314239 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Wait.... < 1232314243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :That is no beta... < 1232314252 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is a 1.0 release! < 1232314252 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232314292 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It is sad that the first association for any sentence of "that is no X" is the "that is no moon" thing. < 1232314305 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, that was intentional < 1232314317 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1232314319 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: which game? < 1232314331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, blob wars: blob and conquer < 1232314336 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :needs 3D acceleration < 1232314341 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a pretty ridiculous name... < 1232314349 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes, but quite playable IMO < 1232314356 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what genre? < 1232314379 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well previous one was jump and run with guns. This one is third person shooter 3D < 1232314391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... I don't generally play shooter games < 1232314400 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and well if I played table top RPGs I would play Toons < 1232314401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I used to play platform games a bit, but rarely do nowadays < 1232314414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Saving to: `download.php?proj=blobAndConquer&file=blobAndConquer-1.05-1.tar.gz&type=zip' < 1232314416 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1232314423 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's quite a filename < 1232314433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232314454 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it reminds me of the dontcountme=s that used to be at the end of URLs on Wikipedia < 1232314464 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what? I never seen that < 1232314467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also what was it for < 1232314467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to avoid triggering the page counters, which ignored URLs ending in s because they thought it was js or css < 1232314480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it wasn't on the actual pages, but on things that were XHRed via scripts < 1232314481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, err < 1232314493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they have better counters now < 1232314497 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :based on sampling the HTTP logs < 1232314516 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and JS which loads images a small percentage of the time, to avoid Wikipedia DDOSing its own servers < 1232314524 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh that reminds me... the main.css is included as main.css?164 < 1232314525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when I look < 1232314528 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on a wiki I run < 1232314531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :any idea why? < 1232314535 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's an anti-cache-problems tool < 1232314537 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since main.css is a static file < 1232314548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, err I like clients to cache it < 1232314550 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it may be static, but it can be changed by upgrades < 1232314552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it is using a lot of my bw < 1232314556 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :clients are told to cache it aggressively < 1232314564 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but if it changes across an upgrade, the 164 changes to 165 < 1232314565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1232314567 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so clients will get a new copy < 1232314571 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1232314578 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the caching information is hidden in the URL < 1232314581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :effectively < 1232314586 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also where are they told to cache it aggressively? < 1232314593 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in the HTTP headers, I think < 1232314596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it is a static file < 1232314601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it would depend on server setup < 1232314609 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, it dose < 1232314611 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*does < 1232314614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and since it is shared hosting I have no control over that < 1232314619 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but remember that MediaWiki was invented for Wikimedia, who do have control over that < 1232314622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nor did I see anything in mediawiki manual < 1232314632 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I think it can be done in .htaccess < 1232314683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also ehird was surprised the supertux site had around 15k hits on images *per day* < 1232314690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you know of that game < 1232314706 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've vaguely heard of it, but no more than that < 1232314710 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :don't even know what it's about < 1232314713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the name strongly suggests Linux < 1232314718 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, super mario style < 1232314790 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and I'm a developer on it. I talked to him about image hits because I was implementing anti-hotlinking since that was using quite some bw < 1232314814 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :based on referrer? < 1232314853 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes, and no blocking if empty referrer of course < 1232314858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and allowing google image search and so on < 1232314923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, some people were linking screen shots, full size and then scaling it down to thumbnail in tag < 1232314941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: and wasting their reader's bandwidth as well as yours < 1232314949 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what's your anti-hotlink image? < 1232314972 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, a gif animation :D < 1232314974 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me link it < 1232314987 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: oh dear < 1232314992 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure if I want to look at it < 1232314992 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, http://supertux.lethargik.org/errors/img/nohot.gif < 1232314995 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :can you describe it? < 1232315006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, too slow to cause epilepsy < 1232315008 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha awesome < 1232315010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, only text < 1232315015 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what does it say? < 1232315028 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"Please don't hotlink\nimages from this site" < 1232315033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :simple enough < 1232315039 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so why the animation? < 1232315044 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, check it out < 1232315056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is not shock pic < 1232315057 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or such < 1232315066 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it won't cause epilepsy, it is too slow for that < 1232315092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well? < 1232315104 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's just such a pain for me to load images from IRC < 1232315115 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ... < 1232315117 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, I don't see the animation < 1232315118 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I tried < 1232315121 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, just copy and paste to the browser < 1232315123 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but my photo viewer prorgams don't show it < 1232315124 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it inverts < 1232315138 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't really like the colour scheme either, but I suppose that's the point < 1232315140 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, as in text and bg colors change place < 1232315146 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :every 5000 ms or something < 1232315157 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err 500* < 1232315157 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :more like every second < 1232315159 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1232315167 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah 500 < 1232315171 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I remember it was 5 and some zero < 1232315173 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zeros* < 1232315209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also gimp will show both as layers < 1232315211 0 :BeholdMyGlory!n=arvid@d83-183-181-73.cust.tele2.se JOIN :#esoteric < 1232315259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Lovely: "This game contains scenes of gore"* (* which can be switched off) < 1232315298 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unreal tournament allows you to turn off the gore < 1232315303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like, in case you're a kid playing it or something :| < 1232315357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : why are you linking to that horrible site all the time < 1232315362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ED is useful for internet culture. < 1232315402 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wish it wasn't written in it < 1232315424 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Why are you writing in that horrible language all the time? < 1232315432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :FireFly, ? < 1232315439 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: What? FireFly: lol < 1232315457 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Well, for others esolangs are pretty horrible.. I guess it's the same with ED < 1232315459 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :FireFly: which lang are you thinking of? < 1232315467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, I see < 1232315481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : wish it wasn't written in it < 1232315484 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can I have this in coherent form < 1232315486 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, basically ED is written in /b/tard style a lot of the time. I mean compare the language used if wikipedia would discuss "lol" and if ED would. < 1232315496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I haven't looked at the articles < 1232315508 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"I WISH AN INTERNET CULTURE COMPENDIUM DIDN'T TALK IN AN INTERNET CULTURE-RELATED STYLE" < 1232315521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ED is useful for internet culture. wish it {ed} wasn't written in it {the style of that} < 1232315530 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, correct. < 1232315533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is the most ridiculous complaint I've ever heard. < 1232315543 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, also all the shock pics < 1232315555 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah. all the vast expanses of them. < 1232315566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if Wikipedia has an article on lol < 1232315568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'd guess yes < 1232315574 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it redirects to internet slang < 1232315579 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :makes sense < 1232315586 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although teh gets its own article, IIRC < 1232315589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyway, most non-nsfw-related ED articlse are sfw. Well, not safe for owrk but not offensive. < 1232315598 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that should redirect to "the" < 1232315602 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, it doesn't < 1232315608 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although there's a disambig header < 1232315609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I didn't say it did < 1232315612 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Special:Search?go=Go&search=teh < 1232315615 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I said it *should* < 1232315616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the typo has enough of its life to deserve an article, AnMaster < 1232315620 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the word has too much of its own culture < 1232315630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, Not notable! < 1232315632 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :your own view of the way Things Should Be does not mean wikipedia shouldn't reflect reality < 1232315637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, very notable < 1232315640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what you mean to say is, "I dislike it" < 1232315640 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh no, it has an image now < 1232315659 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, Missing reliable sources! Reads as advertisement! Is missing references! < 1232315666 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :"A typo on a poster." < 1232315678 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, also no < 1232315689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I was just imitating the style of wp < 1232315706 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not entirely convinced the image adds to the article < 1232315716 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, or that it is true < 1232315727 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but then, it's reasonably common to drop a random vaguely-relevant image into an article in the hope of meeting GA criteria < 1232315750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"This image is of a poster, and the copyright for it is most likely owned by either the publisher or the creator of the work depicted. It is believed that the use of scaled-down, low-resolution images of posters " <-- um, so you can't take a pic of a cityscape containing any posters? < 1232315754 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would be fscked < 1232315779 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it is public space < 1232315806 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it depends on what it's a picture of < 1232315812 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and which jurisdiction, and all sorts of things < 1232315820 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, like how much of the image it covers? < 1232315823 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you can't, say, take a photo of an advert and crop out the logo of the advertiser < 1232315836 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :copyright law is really complex and confusing < 1232315862 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, the general reasoning is to, on Wikipedia, avoid images which contain even a small amount of copyvio stuff, unless it's covered by fair use < 1232315872 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because purely free-licensed images are fine < 1232315876 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh, "purpose of use" field in the fair use rationale blob: "The spelling error in the image is unique and it depictures the Teh article's subject." < 1232315883 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it is an unique spelling error. < 1232315896 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a free-licensed image which depends on fair use for a few pixels is more debatable < 1232315905 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because there are ways in which it can't be modified < 1232315916 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: what's your opinion on "a unique" vs. "an unique"? < 1232315925 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a unique... < 1232315933 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I normally use "a unique", because the pronunciation of "unique" starts with a consonant, even though the word itself doesn't < 1232315946 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :an unique is incorrect, i've never heard anyone say that < 1232315954 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I hear it quite a bit < 1232315989 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :My opinon is that I shouldn't have an opinion, being so very non-native speaker. And I would write it as "a unique", it's just that I caught myself only after the newline. < 1232315997 0 :GreaseMonkey!n=gm@unaffiliated/greasemonkey JOIN :#esoteric < 1232316090 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"a unique" < 1232316152 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i want oklotalk - - bot ;-) < 1232316155 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in here ;-) < 1232316157 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :tonight ;-) < 1232316158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now ;-) < 1232316167 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I blame the Finnish pronunciation where 'u' always sounds the same, and is always a vowel. < 1232316168 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :preferably written in something stupid < 1232316172 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1232316175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it already exists < 1232316175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::3 < 1232316191 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: most languages are more logical than English < 1232316193 0 :ehird!unknown@unknown.invalid TOPIC #esoteric :IRC IRC IRC < 1232316194 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :IRC IRC IRC | http://tunes.org/~nef/logs/esoteric < 1232316198 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe that's why English does so well... < 1232316201 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do you like our auto-topic-setting? < 1232316207 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, very much < 1232316218 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's the work of mizardx and I :D < 1232316223 0 :ais523!unknown@unknown.invalid TOPIC #esoteric :IRC IRC IRC | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric < 1232316233 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if bsmnt_bot will add another < 1232316235 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't do anything if the logs are already in the topic < 1232316237 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :apparantly not, though < 1232316243 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that would have made for a really amusing botloop < 1232316243 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wut < 1232316245 0 :ehird!unknown@unknown.invalid TOPIC #esoteric :http://tunes.org/~nef/logs/esoteric ** so you can do arty things like this < 1232316252 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: we taught bsmnt_bot to do this: < 1232316253 0 :ehird!unknown@unknown.invalid TOPIC #esoteric :aaaaaaa < 1232316254 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :aaaaaaa | http://tunes.org/~nef/logs/esoteric < 1232316261 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1232316262 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: your bot has found itself a new usefulness < 1232316267 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :^bf ,[.,]!Test < 1232316267 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Test < 1232316268 0 :GreaseMonkey!unknown@unknown.invalid TOPIC #esoteric :aaaaaaa | http://tunes.org/~nef/logs/esoteric/penis < 1232316286 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... we'll have to dig the BF-in-bsmnt_bot out of the logs < 1232316286 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so much for useful < 1232316293 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :^ aren't you glad you don't use a tinyurl one? < 1232316303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: ? < 1232316308 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I have a copy, but all the whitespace got corrupted < 1232316316 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I don't think there's a way to automatically reconstruct it < 1232316317 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :because someone could always append to it and hijack it < 1232316328 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this, incidentally, is what caused my hatred of Python < 1232316329 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: ... what? < 1232316348 0 :ais523!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ < 1232316348 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric < 1232316350 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: unsurprisingly, Python is not optimized for entering code over IRC. < 1232316354 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :e.g if you had tinyurl.com/esolog and someone managed to take /esologs for something then yeah < 1232316358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :crazy I know. < 1232316363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: how about they could just change the topic... < 1232316382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :^ul (a(:^)*S):^ < 1232316383 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(a(:^)*S):^ < 1232316384 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :what if there were a bot? < 1232316390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: what? < 1232316397 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :~bf ,[.,]!Test < 1232316410 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :like, a bot to autoappend some crap? < 1232316422 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then we kick it. < 1232316458 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :^bf >,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>] < 1232316458 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>] < 1232316464 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1232316482 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :^bf >,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>] < 1232316483 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :>,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>] < 1232316489 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :^bf >,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>] < 1232316489 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :>,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>] < 1232316492 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's better < 1232316500 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even though it's cheating, really < 1232316631 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : that would have made for a really amusing botloop3 <-- happened yesterday < 1232316637 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :before they had it working < 1232316651 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I think the point here was that since you can add any suffix to the log URL, if the bot it set to keep "tinyurl/foo" in the topic always it fails if someone gets "tinyurl/foobar" and sets that as the topic, without the bot adding the real URL. If you "just change the topic" you won't get rid of the real log URL. < 1232316668 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1232316674 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well who cares, it's just for setting the topic easily < 1232316740 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ChanServ could have a auto-append/prepend channel variables for that; there are 'topicappend' and 'topicprepend' commands, after all. < 1232316771 0 :MizardX!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo < 1232316772 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric < 1232316774 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric < 1232316778 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric < 1232316779 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :geh... again < 1232316781 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232316782 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric < 1232316786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sigh < 1232316786 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric < 1232316787 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MizardX < 1232316789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why did you eff with it :P < 1232316791 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric < 1232316793 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :~raw QUIT < 1232316796 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric < 1232316796 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT") < 1232316800 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT") < 1232316801 0 :bsmnt_bot!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes. < 1232316802 0 :ChanServ!unknown@unknown.invalid MODE #esoteric :+o fizzie < 1232316803 0 :fizzie!unknown@unknown.invalid MODE #esoteric :+t < 1232316804 0 :ChanServ!unknown@unknown.invalid MODE #esoteric :-t < 1232316807 0 :bsmnt_bot!unknown@unknown.invalid QUIT : < 1232316809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: it'll stop < 1232316810 0 :bsmnt_bot!n=bsmnt@eso-std.org JOIN :#esoteric < 1232316810 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there we go < 1232316827 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, +t would've been quicker, maybe. Except that chanserv removed it since it's in the mlock. < 1232316835 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1232316839 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's intereseting to have a channel mlocked at -t < 1232316842 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*interesting < 1232316847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... come back, bsmnt_bot < 1232316849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232316860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... shit < 1232316882 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: can i call you overlord while you're op? < 1232316899 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: You can call me overlord whenever you want, I don't mind. < 1232316901 0 :fizzie!unknown@unknown.invalid TOPIC #esoteric :(a(:^)*S):^ < 1232316913 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: i'll keep that in mind. < 1232316923 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I just have to test that chanserv topicprepend thing, I want to see if it adds a separator or something. < 1232316941 0 :ChanServ!unknown@unknown.invalid TOPIC #esoteric :fancy! | (a(:^)*S):^ < 1232316943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bots are always the correct solution < 1232316948 0 :ehird!unknown@unknown.invalid TOPIC #esoteric :aa < 1232316952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Failure < 1232316953 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh, yes, it added that | there. < 1232316999 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's not an auto-append, though. I'm not sure what it is for, really. < 1232317063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: changing the topic when you aren't opped and the channel is +t < 1232317079 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right, I guess there's that. < 1232317094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey, who wants to fix bsmnt_bot < 1232317098 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not i < 1232317107 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1232317110 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm writing a irc bot wrapper in awk < 1232317112 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1232317115 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1232317211 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Client Excited" < 1232317308 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh, interesting typo: "/frop gizzie" < 1232317311 0 :fizzie!unknown@unknown.invalid MODE #esoteric :-o fizzie < 1232317330 0 :AnMaster!unknown@unknown.invalid TOPIC #esoteric :http://tunes.org/~nef/logs/esoteric < 1232317339 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: your hand was too far to the right < 1232317350 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also < 1232317354 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why this < 1232317365 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean how hard could it be < 1232317374 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :? < 1232317384 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Maybe my keyboard was just too far to the left. It's not always my fault! < 1232317385 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if (!substr(topic, "http://tunes.org/~nef/logs/esoteric") topic += "| http://tunes.org/~nef/logs/esoteric" < 1232317386 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :basically < 1232317388 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well a space too < 1232317395 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: because we have to write it one line in python < 1232317401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's easy enough < 1232317402 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, MizardX effed up the disconnection logic < 1232317407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1232317407 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it's sitting there using up cycles < 1232317410 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instead of reconnecting < 1232317421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, kill it and restart it clean? < 1232317429 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well k < 1232317435 0 :bsmntbombdood__!n=foo@97-118-123-213.hlrn.qwest.net JOIN :#esoteric < 1232317440 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just use the exec("""if !substr(topic, "http://tunes.org/~nef/logs/esoteric"):\n topic += "| http://tunes.org/~nef/logs/esoteric"\n""") trick < 1232317451 0 :bsmntbombdood__!unknown@unknown.invalid PRIVMSG #esoteric :dc is the best irc client EVAR < 1232317454 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's how I wrote the BF interp in the first place < 1232317465 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: dc the reverse-polish-notation calculator? < 1232317473 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1232317487 0 :bsmntbombdood__!unknown@unknown.invalid PRIVMSG #esoteric :i mean to say nc < 1232317492 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey bsmntbombdood__ < 1232317496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you start bsmnt_bot again < 1232317501 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :run start.sh < 1232317502 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1232317508 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :does that start the chroot < 1232317515 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1232317530 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah, yep < 1232317547 0 :bsmnt_bot!n=bsmnt@eso-std.org JOIN :#esoteric < 1232317637 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I have in my logs a whitespace-fixed version of that bsmnt_bot brainfuck. Will test. < 1232317653 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.bf3="def bfarg(x,y):\n p=y.group(2)\n a=y.group(3)+unichr(0)\n o=''\n p=p+'!'\n t=[0]*30000\n i=0\n l=0\n while p[i]!='!':\n if p[i]=='[' and t[l]==0:\n c=1\n while c>0:\n i=i+1\n if p[i]=='[': c=c+1\n if p[i]==']': c=c-1\n if p[i]==']' and t[l]!=0:\n c=1\n while c>0:\n i=i-1\n if p[i]==']': c=c+1\n if p[i]=='[': c=c-1\n" < 1232317666 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.bf4=" if p[i]=='+': t[l]=t[l]+1\n if p[i]=='-': t[l]=t[l]-1\n if p[i]=='<': l=l-1\n if p[i]=='>': l=l+1\n if p[i]=='.': o=o+unichr(t[l])\n if p[i]==',':\n t[l]=ord(a[0])\n a=a[1:]\n i=i+1\n sys.stdout(o)\nself.register_raw(r'\S+ PRIVMSG (\S+) :~bf ([^!]*)!?(.*)',bfarg)" < 1232317673 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :~exec exec(self.bf3+self.bf4) < 1232317674 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :where is bf1-2 < 1232317679 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :~bf ++++++[->++++++<]>. < 1232317679 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :$ < 1232317686 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :~bf ++++++++++++++++++++++++++++++++++++++++++++++. < 1232317686 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :. < 1232317692 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :~bf +++++++++++++++++++. < 1232317692 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric : < 1232317701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok, who wants to make it \nQUIT? :P < 1232317707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although you can easily do that with ~exec < 1232317708 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :~bf ,[.,]!Hello, world! < 1232317709 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Hello, world! < 1232317712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey, someone make the callbacks persist < 1232317715 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its irritating having them not < 1232317743 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow, one-line non-lambda based Python is really weird to read < 1232317746 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even when I wrote it... < 1232317752 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :all those varying amounts of spaces < 1232317764 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks this is the only legitimate use-case they've ever seen for one-space indentation < 1232317845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what bsmnt_bot needs is bracism < 1232317857 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :def bfarg(x,y): { p = y.group(2); ... } < 1232317920 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what a Python purist would say if they were watching this discussion < 1232317930 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :couldn't you just start with from __future__ import braces; ? < 1232317939 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if it worked quickly enough, you wouldn't even need the newline after it < 1232317945 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just a semicolon < 1232317962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1232317970 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Pythoners are generally an assholish lot. < 1232317975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So are Schemers. < 1232317984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And Lispers in general; #lisp is awful. < 1232318018 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :use ACME::Pythonic; requires the one last semicolon after the statement, unfortunately < 1232318023 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you don't need any semicolons from then on < 1232318043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyway, bracism is a nice little hack. I think I will now reimplement it. < 1232318047 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ais523: Pythoners are generally an assholish lot. So are Schemers. And Lispers in general; #lisp is awful. <-- what about perlers? < 1232318061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I noticed the less sane the language is the nicer the people are in the support channels < 1232318063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Perlers are bathshit insane, but very friendly, apart from in #perl, where they keep the assholes. < 1232318077 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: and the INTERCAL support channel is very friendl < 1232318079 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*y < 1232318082 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even though it's mostly just me < 1232318082 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, we are all insane in here < 1232318089 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and very friendly 99% of the time < 1232318099 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, #esoteric is the nicest channel on IRC. < 1232318106 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#haskell is about equal, though. < 1232318111 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also you missed some awful puns I made today < 1232318113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think that says something about Haskell. < 1232318121 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, haha < 1232318136 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yep, I think Haskell is pretty insane too by common-language standards < 1232318141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but insane in a "wow, that's so elegant" way < 1232318154 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Scheme is pretty esoteric, too. < 1232318154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes, but lisp is kind of like that too IMO < 1232318155 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1232318159 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well. < 1232318163 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION joins #vhdl, to see what they're like < 1232318164 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Common Lisp is kind of unelegant. < 1232318168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, tell us < 1232318170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*inelegant < 1232318172 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :however, it seems to be a mostly idle channel < 1232318173 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that is true < 1232318179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, elisp vs. clisp < 1232318181 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is worst? < 1232318182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to ask a question to see how they react < 1232318185 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: elisp < 1232318187 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: "Verilog questions possibly answered but only if we get a cookie (Remillard will answer Verilog questions for a Chipotle burrito.) " < 1232318189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sounds friendly < 1232318190 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm ok < 1232318203 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ergh i can't figure out what i'm doing wrong < 1232318245 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: elisp is _dynamically scoped_ < 1232318248 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's hard to beat. < 1232318257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ok, but isn't bf too= < 1232318257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :? < 1232318260 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've asked a question which is "I'm doing insane thing X, what should I do instead?" < 1232318263 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course it got no scope < 1232318283 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what is this insane thing? < 1232318294 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: using a for loop with one iteration to define a temporary variable < 1232318301 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh < 1232318356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A colon followed by whitespace followed by { opens a new block, unless we're in a {} block that wasn't a bracism block < 1232318360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(to allow {'foo': {...}}) < 1232318373 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :} ends a block if we're in a block and not a {} that isn't a block. < 1232318378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :; is newline-and-indent. < 1232318381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hokay. < 1232318384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, in what language? < 1232318390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Python. < 1232318393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's for writing one-line python. < 1232318396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh the source filter < 1232318398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1232318400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just a library < 1232318402 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no? < 1232318403 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a bot in here used to have it < 1232318405 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one I wrote < 1232318406 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh ok < 1232318411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was great for irc < 1232318428 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the basic rule is { is newline and increase indentation, } is newline and decrease indentation, ; is newline and maintain indentation < 1232318429 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or should be < 1232318434 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes < 1232318436 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you have to detect when those characters are used for other things < 1232318438 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but you have to deal with dictionaries < 1232318440 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which are {...} < 1232318446 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and semicolons inside strings? < 1232318450 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1232318451 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :luckily, Python is easy to parse < 1232318452 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thus my above rules < 1232318453 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :nc irc.freenode.net 6667 < /tmp/fifo | command > /tmp/fifo < 1232318456 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :why isn't that working? < 1232318456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you don't have to parse it much < 1232318461 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: dunno :-D < 1232318472 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, simple < 1232318479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, ETOOLITTLEINFO < 1232318482 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1232318491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, bracism parsing is more complex than a regex. < 1232318495 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: there's an option to nc to do that automatically < 1232318509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I would recommend socat < 1232318509 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nc irc.freenode.net 6667 -e 'command', IIRC < 1232318518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, doesn't that listen? < 1232318527 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, you would recommend socat. < 1232318533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this is a reason why you are unhelpful < 1232318535 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what is wrong with socat!? < 1232318539 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tell me < 1232318543 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I may have used the wrong option < 1232318548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"How can I do X with this tool?" < 1232318550 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"Use another tool" < 1232318556 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :=> very unhelpful unless all other situations have been covered. < 1232318601 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, I'm going to declare #vhdl Helpful and Not At All Snarky < 1232318622 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :So it gets the coveted HNAAS award. < 1232318622 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is VHDL, I mean, good? < 1232318629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or is it sucky < 1232318634 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's a language which is good for what it's designed for < 1232318636 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whoa, kragen sitaker < 1232318639 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that guy gets everywhere < 1232318647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if inspired slightly (well, far) too much by ADA < 1232318663 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you need to get used to writing lots of boilerplate to write VHDL < 1232318668 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but luckily Emacs has it all memorised < 1232318684 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, I'd better go home now, or I'll never get any work done < 1232318687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1232318691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :bye everyone < 1232318693 0 :ais523!unknown@unknown.invalid QUIT :Client Quit < 1232318737 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it still doesn't work < 1232318738 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :grrr < 1232318927 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/1312016 < 1232318946 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that does work when it is run with nc -e < 1232318962 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :s/does/does not/ < 1232318966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1232318969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1232319017 0 :bsmntbombdood__!unknown@unknown.invalid QUIT : < 1232319088 0 :seabot!n=seabot@91.105.127.160 JOIN :#esoteric < 1232319094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :here's the bracism bot < 1232319095 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@help < 1232319095 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :cdecl: cdecl < 1232319095 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :help: help < 1232319095 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :karma: karma karma+ karma- < 1232319095 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :meta: load reload unload < 1232319095 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :python: python < 1232319100 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@help karma < 1232319101 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :karma: karma karma+ karma- < 1232319104 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@help karma+ < 1232319104 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :No plugin called karma+. < 1232319104 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :UnboundLocalError: local variable 'plugin' referenced before assignment < 1232319108 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fail :D < 1232319111 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@karma ehird < 1232319111 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :You have a karma of 0 < 1232319113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@karma+ ehird < 1232319113 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :You can't change your own karma, silly. < 1232319116 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@karma+ seabot < 1232319117 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :seabot's karma raised to 2. < 1232319118 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@karma seabot < 1232319119 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :seabot has a karma of 2 < 1232319122 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python 2+2 < 1232319123 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1232319128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1 == 2: { print "nooo" } < 1232319133 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python if 1 == 1: { print "nooo" } < 1232319133 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :nooo < 1232319140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey AnMaster, or whoever < 1232319144 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :issmyoldbot :D < 1232319153 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@cdecl int (*)(int *) < 1232319154 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :syntax error < 1232319156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wut < 1232319159 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@cdecl int < 1232319159 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :syntax error < 1232319162 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wut < 1232319163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@cdecl int a; < 1232319164 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :declare a as int < 1232319169 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@cdecl int (*a)(int *); < 1232319170 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :declare a as pointer to function (pointer to int) returning int < 1232319211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :issnitsocute:D < 1232319257 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python a= 2 < 1232319259 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python a < 1232319260 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1232319265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird < 1232319265 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1232319269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird['a'] < 1232319269 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1232319272 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.ehird['a'] = 2 < 1232319281 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... wait wat < 1232319292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.foo < 1232319292 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :KeyError: 'foo' < 1232319295 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.seabot < 1232319295 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :KeyError: 'seabot' < 1232319300 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey AnMaster, do @python a= 2 < 1232319316 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ooooooooooooooooooooooooooooooooo < 1232319320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python a= 2 < 1232319321 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you do it < 1232319323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1232319326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.oklopol < 1232319326 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :on it < 1232319326 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric : < 1232319328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.oklopol['a'] < 1232319328 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1232319330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.oklopol['a'] = 7 < 1232319333 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python users.oklopol['a'] < 1232319333 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :7 < 1232319334 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232319335 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :D::::::: < 1232319338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that isn't meant to wokrk < 1232319351 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I CAN HAS MY OWN LIST HUH < 1232319357 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seabot? < 1232319359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf is that one < 1232319362 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also < 1232319369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: seabot is my old bot, it has bracism < 1232319370 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how many bots do we hacve < 1232319372 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :have* < 1232319378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a={users.oklopol["a"]} < 1232319381 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python a={users.oklopol["a"]} < 1232319382 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: unexpected EOF while parsing (, line 1) < 1232319390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def hello(a): { print "yo"; return a }; print hello("aa") < 1232319390 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 5) < 1232319393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232319393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WUT < 1232319394 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...... < 1232319403 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@python a=[users.oklopol["a"]] < 1232319405 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... a bug in bracism?????? < 1232319406 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think that's what i meant < 1232319410 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@python def hello(a):{ print "yo"; return a }; print hello("aa") < 1232319410 0 :seabot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax (, line 5) < 1232319412 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :D::::::::::::: < 1232319419 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but in my fingers i think. < 1232319424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err oh < 1232319566 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :why doesn't it work :( < 1232319669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: because butt < 1232319670 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1232319868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: also, bsmnt_bot has dc < 1232319875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :~exec bot.run('ls','usr/bin') < 1232319875 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :['dc', 'nice', 'python2.4', 'wget'] < 1232319885 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not my dc < 1232319886 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1232319912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1232320007 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's better cuz i wrote it < 1232320020 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1232320360 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :About that awk thing, my guess is there's some sort of buffering nastiness going on. When I run "awk -f test.awk < from-irc.fifo > to-irc.fifo" here, then start a "cat > from-irc.fifo" and a "cat to-irc.fifo", nothing appears no matter what I write into the "cat > from-irc.fifo" terminal, except when I ^d it, at which point the nick/user/join lines finally appear in "cat to-irc.fifo". < 1232320443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, sound probably < 1232320444 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so < 1232320449 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :attach gdb to awk < 1232320452 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Also if I feed enough (a couple of rather large screenfuls) of stuff into the "cat > from-irc.fifo" terminal, awk replies in "cat to-irc.fifo". So I guess awk is reading the fifo with the usual few-kilobyte buffer. < 1232320456 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :add calls to set non-buffered mode < 1232320465 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure I want to; it's not my bot. < 1232320468 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'll pepper in some fflush()es < 1232320477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, in awk!? < 1232320489 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :well, gawk < 1232320507 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, does awk have a flush() or fflush()? < 1232320518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :modifying the gawk source is cheating < 1232320532 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :gawk has a fflush() call. < 1232320548 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure it'll help, though, if the problem is that awk's still waiting for input before actually executing any BEGIN { } blocks or anything. < 1232320553 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : fflush([file]) Flush any buffers associated with the open output file or pipe file. If < 1232320569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if? < 1232320626 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :file is missing, then standard output is flushed. If file is the null string, then all open output files and pipes have their buffers flushed. < 1232320660 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :well that did it < 1232320662 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1232320675 0 :FireFly!unknown@unknown.invalid QUIT :"Later" < 1232320689 0 :dc-bot!n=foo@97-118-123-213.hlrn.qwest.net JOIN :#esoteric < 1232320702 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~say foobar < 1232320703 0 :dc-bot!unknown@unknown.invalid PRIVMSG #esoteric : foobar < 1232320712 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~dc 123p < 1232320720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :phail < 1232320724 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :.... < 1232320753 0 :dc-bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1232320765 0 :dc-bot!n=foo@97-118-123-213.hlrn.qwest.net JOIN :#esoteric < 1232320776 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :guise < 1232320778 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~dc 123p < 1232320783 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1232320790 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh i know < 1232320803 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :i know how to design parsers that recognize a language < 1232320808 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :congratulations. < 1232320815 0 :dc-bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1232320817 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :but how the hell do i use the parser output to build an abstract syntax tree? < 1232320817 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you're not functionally retarded. < 1232320818 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :>.< < 1232320826 0 :dc-bot!n=foo@97-118-123-213.hlrn.qwest.net JOIN :#esoteric < 1232320827 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I retract my previous statement. < 1232320836 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~dc 123p < 1232320836 0 :dc-bot!unknown@unknown.invalid PRIVMSG #esoteric :123 < 1232320839 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1232320851 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :~dc [loop forever] < 1232320858 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :the only parser book i have is incredibly complete, except in that it doesnt explain how to use a parser's output :| < 1232320979 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err what parser's output? i figured parsing out by thinking, and afaik i'm the retard from us two. < 1232321005 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'd really have to guess that depends on what sort of parser you have, and what its output is. If your parser outputs "accept" or "reject" depending on whether the input is in the language, you'd have to be Really Clever to build a syntax tree out of that. < 1232321025 0 :botbot!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1232321029 0 :botbot!unknown@unknown.invalid PRIVMSG #esoteric :Even more bots! < 1232321032 0 :dc-bot!unknown@unknown.invalid PRIVMSG #esoteric :loopPONG :leguin.freenode.net < 1232321048 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :dc-bot: Thank you, that was appropriately bizarre. < 1232321053 0 :botbot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION prods ehird < 1232321063 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: you could find nested stuff by doing dynamic programming on all substrings of the code < 1232321066 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :what i mean is, parsers can produce things like stacks of symbols and so on. what im not sure about is how to reverse those symbols and get a tree < 1232321084 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :only nested expressions wouldn't fail, you could recurse on them < 1232321088 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :i suppose i could kind of run the parser in reverse, in a sense < 1232321090 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is Really Clever < 1232321092 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~dc 0sa1[la1+salad1+n10>b]dsbx < 1232321104 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232321108 0 :dc-bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1232321111 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1232321116 0 :botbot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION prods fizzie then :/ < 1232321119 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :and instead of pushing it out to a string, i'd push it out to the tree itself, but im not entire sure how to do that. atleast not in any way thats well established < 1232321199 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: you're an idiot :D < 1232321202 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :can you be like recognize_addition = [+, read_expression, read_expression] < 1232321209 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and that builds up a tree < 1232321209 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :thank you for your constructive advice, ehird. < 1232321211 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my suggestion is writing your own parser < 1232321233 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, i can WRITE a parser, im just not sure about how to get anything useful out of it < 1232321248 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: oh. i thought you wanted to use an existing parser or something. < 1232321249 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :the parsing is trivial. its the conversion to an AST that im confused about. < 1232321259 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1232321262 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :parses PRODUCE ASTS < 1232321267 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's the whole POINT of them < 1232321268 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no they dont. < 1232321268 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1232321276 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: yes they do. bsmntbombdood: yes they do. < 1232321280 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :parsing can just be a boolean < 1232321283 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no. they dont. < 1232321284 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bsmnt_bot, the bot is written in dc? < 1232321286 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you can build the ast as you go, consider recursion descending in the ast. < 1232321293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: that's a technicality :-) < 1232321295 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: yes. they do. < 1232321312 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when you call a nested thingie recursively, you're parsing a child, just append result in list. < 1232321313 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"Hey guys, I don't get this topic. Can you explain it?" "Foobar" "No, not foobar." < 1232321322 0 :botbot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION prods ehird again < 1232321326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :botbot: WHAT DAMMIT < 1232321329 0 :botbot!unknown@unknown.invalid PART #esoteric :? < 1232321334 0 :botbot!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1232321336 0 :botbot!unknown@unknown.invalid PRIVMSG #esoteric :!! < 1232321341 0 :botbot!unknown@unknown.invalid QUIT :"..." < 1232321342 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: im not entirely sure what you mean. < 1232321361 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: have you tried parsing brainfuck? < 1232321376 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If the parser is a recursive-descent one, building an AST is really simple, sure. Just have a "foo" function, for a non-terminal foo, return an AST node foo(x, y, z), with x, y, z given from whatever foo() recursive-descends into. < 1232321378 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck is trivial... < 1232321393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: yes, and it contains the basic idea < 1232321416 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird: then i suppose i should rephrase it since you're a bit too dense. when building a parser, after i've gotten to the stage where each token in the string is recognized, and the production path has been determined, as a sequence of terminals and non-terminals, how does that get read off into an AST. < 1232321417 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a way to parse a bf loop body is to make a list, and start appending instructions, and for [...]'s, call recursively, append result < 1232321424 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no. i havent touched bf. :P < 1232321428 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :$ ps aux|grep xterm|wc -l < 1232321430 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :253 < 1232321435 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :THIS IS TOO MANY XTERMS < 1232321439 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: Protip: Calling someone dense is not a way to get help. < 1232321449 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :you're not helping anyway ehird < 1232321450 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :you never help < 1232321452 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: the paths are paths in the tree btw < 1232321459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I never help :'( < 1232321463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I suggest cutting yourself < 1232321466 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :you're just a whiney little twat who never has anything useful to say. < 1232321486 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes. Because if I'm not here to help you do trivial stuff all the time, what am I here for?! < 1232321510 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :if you're not here to help, you might want to stop replying to my requests for help < 1232321531 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i know that they're paths in the tree. but that doesnt help much. < 1232321533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or I might not, seeing as there isn't a channel rule that I can't reply to requests for help how I want. < 1232321534 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh lawd < 1232321536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, try a tabbed terminal < 1232321542 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: if not, read my actual help. < 1232321548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like konsole, or whatever gnome have < 1232321550 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i have a tabbed window manager, same thing < 1232321551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it may help a lot < 1232321553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i suggest you try to see how brainfuck is parsed recursively < 1232321557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, hm ok < 1232321561 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure 253 terminal tabs would be very helpful either. < 1232321565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's very simple, and you should see the general idea < 1232321578 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, parsing bf recursive? yeah dead easy < 1232321580 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* nevermind. ill read this book on parsers more carefully and see if it has any explanation that i missed. < 1232321582 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have done it several times < 1232321584 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: maybe do it in a real language, not haskell < 1232321593 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :what? lol < 1232321611 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i've done it about 50 times. i do it every time i want to write something in brainfuck. < 1232321623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, err < 1232321626 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that makes no sense < 1232321628 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because it's faster than finding a brainfuck.py. < 1232321633 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I save my project < 1232321636 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Building the syntax tree in a hand-crafted "bottom-up"-style LR parser might not be quite as easy, but really, if your parser is a recursive-descent stylish, I would think it'd be hard to not to get a syntax tree out of it. < 1232321643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, are you on *nix? I don't remember < 1232321646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if yes use < 1232321648 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what's the difference really? both take <1min < 1232321652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :locate brainfuck.py < 1232321660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it will take a few seconds < 1232321663 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: could have a different name. < 1232321673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, idea: store it in ~/bin ? < 1232321676 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with that name < 1232321681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1. hes on windows < 1232321685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2. shut up, stop trying to make oklopol logical < 1232321686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1232321686 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, i don't take very kindly to people suggesting me to do stuff unless i actually ask. < 1232321687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you're ruining him < 1232321705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, sorry then < 1232321761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm perfectly logical. i just have different axioms. < 1232321774 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: im sure thats the case, but i dont do much recursive descent stuff, so i cant really conceptualize why :) < 1232321781 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nice oklopol < 1232321785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, what axioms? < 1232321795 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(and a few psychological bugs) < 1232321798 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err. < 1232321803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i haven't actually listed them. < 1232321810 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i have yet to write a real parser < 1232321813 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, indeed, that is why I asked < 1232321816 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have you listed yours? < 1232321825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, not yet on irc < 1232321833 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, and I need to consider them < 1232321844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seeing your as examples would help me define them clearer < 1232321844 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood i have a copy of a really good intro to parsers book < 1232321857 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :well, its more of a somewhat comprehensive parsing techniques book actually < 1232321863 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :but it goes through a lot of intro stuff too < 1232321868 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :if you want i'll send it to you < 1232321875 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :parsing is a solved problem < 1232321881 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :it is rather. < 1232321892 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :not that there aren't new and better techniques to be found < 1232321892 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :reading a book on a monitor isn't pleasent < 1232321894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :BECAUSE THAT DOESN'T GET SAID ENOUGH < 1232321898 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :print it out then :p < 1232321933 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :reading on a monitor is pleasant, the only problem is irl books are prettier. < 1232321946 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i knowwwwwwww < 1232321948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :books are so awesome < 1232321949 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :painfully true < 1232321953 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive, what is the name/ISBN of this book? < 1232321956 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :printing is expensive and slow < 1232321959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just wondering < 1232321988 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :Parsing Techniques - A Practical Guide < 1232321995 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :you can actually get it online i just forget where < 1232321999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive, and ISBN? < 1232322001 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :you can probably find it by googling that. < 1232322005 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :no idea, anmaster. no idea. < 1232322006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :woo < 1232322006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :print to_python("{'a':{'b':lambda a: a}}; def a(b={'a':2}): { pass }") < 1232322008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :works properly < 1232322020 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :http://www.cs.vu.nl/~dick/PTAPG.html < 1232322031 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ISBN 0 13 651431 6 < 1232322039 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :tho you can download it there < 1232322173 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ugh my local library sucks so hard < 1232322196 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can you writerate a program for me :P < 1232322444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whee, it also handles def a(): { return {'a':2} } < 1232322448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's quite enough testing. < 1232322477 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :guh < 1232322481 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i am looking on amazon for books < 1232322486 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that shit's expensive < 1232322568 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a used copy of introduction to algorithms for $70?!?! < 1232322614 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's strange, I get a "whoa, that stuff's so cheap" feeling, thanks to the book prices here. Most of my course books (if bought new from a local retailer) have had prices around $100. < 1232322653 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Amazon seems to be clever enough to find Introduction to Algorithms if I write "clrs" in the search-box. < 1232322724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$100, yikes :D < 1232322733 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :books are crazy expensive : D < 1232322781 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure what's up with that $70-used version of CLRS. Even though it's printed in 2003, it's still the same old 2nd edition, for which Amazon is selling new copies (hardcover, even) for $60. < 1232322857 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Even the page count is higher (1184 pages vs. 1056 pages) in the old one, so it's not like they'd have added any stuff. < 1232322942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they could add and remove. < 1232322963 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :FWIW, in the two largest local book stores here in Finland, the hardcover edition of CLRS sells for $130. < 1232322998 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Of course it's a big book. I think I've used that thing to stand on when I couldn't quite reach something. < 1232323007 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i should probably buy it < 1232323089 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :uh-oh, a bug < 1232323117 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :("Full disclosure" note: as a cheap student, I got the non-hardcover edition.)