< 1205539218 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I strongly suggest that numbers are optimised; that's possible in Underlambda because there's no way to distinguish two data if they do the same thing in all cases < 1205539222 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(and all data are functions) < 1205539258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: underlambda->c compiler: dibs on it < 1205539273 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's specifically designed to be compilable < 1205539281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and also so that Unlambda can be compiled into it < 1205539287 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :thus allowing an Unlambda -> C compiler < 1205539293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dibbsss < 1205539300 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you can handle the C command, you're well on your way to writing the compiler < 1205539320 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it looks so simple on the rewrite rule, but I put a lot of thought into that one; it can be used to implement call/cc, for instance) < 1205539348 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1205539360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :include landarins J < 1205539363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205539422 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what's that? < 1205539491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hard to explakin < 1205539500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :c/cc on steroids < 1205539531 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: C captures the entire state of the program, in such a way that it can be edited to some extent (but not enough to make compilation impossible) and then run < 1205539554 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can use it to implement call/cc by simply editing the result of C a bit and then using it as your continuation < 1205539580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would be great if it could implement J too, whatever it is < 1205539629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: does it have variables? < 1205539640 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not exactly < 1205539645 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but there are various ways to simulate them < 1205539650 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1205539677 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :For instance, all Brainfuck programs with no comments become legal Underlambda programs if you add the magic line and | at the end < 1205539687 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I haven't put [],. in the spec yet < 1205539823 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the stack is good to use for temporary variables < 1205539827 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you can use lambdas as well < 1205539860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I might also implement some sort of 'variable storage' at some point which allows you to store and retrieve functions in a hash table, exactly like global variables work in imperative languages < 1205539873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I might make each of them a STASH like in INTERCAL so you could have scoping < 1205539883 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if I do that, it would probably go in Tier 3 < 1205540532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I feel like spceifying a minimal concatenative language based on rewrites. < 1205540533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So I will. < 1205540586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hmm < 1205540589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :What about one with no [...]? < 1205540598 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The only way to get a quotation is 'dei' < 1205540601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(de-i) < 1205540611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which [...]s the last execution step < 1205540617 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but of course you have to execute it first < 1205540619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :making stuff tricky < 1205540650 0 :BMeph!n=chatzill@adsl-76-212-195-210.dsl.sndg02.sbcglobal.net JOIN :#esoteric < 1205540665 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :[...] is what makes a language concatenative, generally speaking < 1205540674 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I suppose you might just about be able to create one without it < 1205540679 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, what i mean is < 1205540685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo dei => [foo] < 1205540687 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it would probably end up just being lambda calculus or something like that < 1205540689 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but since 'foo' executes first... < 1205540694 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so like < 1205540702 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 dup dei => 2 2 [dup] < 1205540708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you'd have to do < 1205540716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 dup dei swap drop => 2 [dup] < 1205540730 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :dup a dei doo dah < 1205540764 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Whatcha talking about? < 1205540778 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Factor? < 1205540783 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: no < 1205540795 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Then what? < 1205540803 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this < 1205540848 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is waiting. < 1205540922 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: so dei's like ' in Underlambda, but its argument gets evaluated anyway? < 1205540936 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... manipulating deis would be fun < 1205540940 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: pretty much < 1205540946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :2 dei dei swap drop => [dei] < 1205540949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically, it's like this: < 1205540958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :after each word is executed, you save it in the 'last' variable < 1205540968 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'dei' just pushes a quotation of the last word < 1205540974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you'd also have 'compose' of course < 1205540976 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so: < 1205540978 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: there'd be no way to get [quit] < 1205540988 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but of course < 1205541006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 dei dup dei compose drop drop => [2 dup] < 1205541009 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :being able to write (Q) (or 'Q) is needed for Underlambda to be able to do call/cc < 1205541013 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cooooooooooool :D < 1205541021 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: meh, i'm thinking about it in a purely functional manner right now < 1205541035 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Q and A are sort of opposites in Underlambda < 1205541042 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Q deletes the program, A deletes the stack < 1205541044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: like my idea though? :D < 1205541051 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's interesting < 1205541063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not sure it'll lead to a very usable language, but somehow I don't think that was your aim < 1205541079 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :What language has [...]? I thought I came up with that all on my own. < 1205541080 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1205541186 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: dips rewrite rule is simple :D < 1205541187 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[X] Y dip => X Y < 1205541201 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: eys < 1205541204 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/eys/yes/ < 1205541207 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :dip is _ in Underlambda < 1205541219 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I haven't written it into the spec yet, or the reference interp, so it only exists in my head < 1205541246 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can implement _ as ~a*^ < 1205541299 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so what's simpler? _ => ~a*^ or (x)(y)_ => y(x) < 1205541324 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(are the X and Y the wrong way around in your rewrite rule, actually?) < 1205541356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and no, ais523 < 1205541357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's ... TOP < 1205541360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205541360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1205541362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you're right < 1205541382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :X [Y] dip => Y X < 1205541405 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I have a vision of somewhere (maybe Tier 5) of being able to write your own rewrite rules at the start of the program, sort of like Lisp macros < 1205541458 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wrote a spec for my thing < 1205541463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also, have user-definable synta < 1205541463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :x < 1205541463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205541477 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's pretty much what that rule would do < 1205541479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/943111 < 1205541488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i am going to work on a factorial < 1205541491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err wait < 1205541493 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i need compose < 1205541497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw < 1205541501 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[X] dei => http://en.wikipedia.org/wiki/Special:Search?go=Go&search=X < 1205541504 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err. < 1205541505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1205541505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205541509 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[X] dei => [ [X] ] < 1205541514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1205541516 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can't do that literally < 1205541516 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so. < 1205541530 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so i need a special 'curry; < 1205541535 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :are you implementing wrap? < 1205541541 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: guess so < 1205541541 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205541571 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastebin.ca/943115 < 1205541572 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :new spec < 1205541580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it looks like you're implementing negative numbers. Stop it. < 1205541603 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Negative numbers don't exist except in reversible languages, because you can't do something a negative number of times < 1205541603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: haha, why < 1205541603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205541608 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205541609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :true i guess.. < 1205541616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but they're just atoms < 1205541620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and there's no "do n times" thingy < 1205541639 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: in Underlambda the number n is the function that transforms a function into that function composed with itself n times < 1205541643 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not in this. < 1205541649 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, hm, recursion is hard with this language < 1205541651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe impossible.. < 1205541657 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since you have to do it to dei it < 1205541657 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: but then you have more than one data type < 1205541664 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what about implementing sii? < 1205541665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION adds a 'while' to simplify things < 1205541668 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ooh, good idea < 1205541700 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wait < 1205541702 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what would that do < 1205541702 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1205541710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205541711 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[X] sii => [X] X < 1205541714 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's :^ in Underlambda/Underload < 1205541721 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so [X] sii => [X] X < 1205541725 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, snap < 1205541731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: maybe I should do Y < 1205541731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205541735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, impossible < 1205541736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1205541772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: dup drop dei => [drop] < 1205541773 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :useful < 1205541790 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: all reversible combinators can be deid easily < 1205541811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah < 1205541828 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but i'm having trouble dei'ing [1 - swap sii] < 1205541832 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for certain values of reversible < 1205541834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm trying to implement this < 1205541844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :: make0 dup 0 = [drop] [1 - make0] if ; < 1205541847 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for instance, a 'invert order of stack' combinator would be hard to dei < 1205541859 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because your [invertstack] would end up on the /bottom/ of the stack < 1205541903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: invertstack dei dup dip < 1205541905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, no < 1205541908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you'd need another dip < 1205541909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :arrgh < 1205541942 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the problem is, to dip around the invertstack, you need a dei'd invertstack, so you have a chicken-and-egg problem < 1205541949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: any ideas on my make0 btw? < 1205541964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you have to write the function, remove the recursion, dei the whole thing, then sii it i guess < 1205541967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, I'm trying to concentrate on something else in RL < 1205541972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but i'm stuck on writing the function :) < 1205541984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: think this is TC? < 1205541984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don;t < 1205542004 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's probably TC but probably hard to write programs in < 1205542015 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: probably tc? really? < 1205542019 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wouldn't think s < 1205542019 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1205542020 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you can implement s, k, and apply, you're done, after all < 1205542253 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it's possible to implement s and k, and i=apply, but you'd have to write the program in the first place using deis < 1205542304 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... it's possible to get [wrap], [drop], [dup], [swap], [i], and [compose] easily enough < 1205542315 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so all you have to do is get some TC Underload program < 1205542343 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then flatten it so that it never quotes more than one combinator in a row (which is easy with a few rewrite rules) < 1205542355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then just dei each of the combinators, and you're done < 1205542361 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. (:^):^ < 1205542378 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :would be [dup] [i] compose wrap [dup] compose [i] compose < 1205542405 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and [dup] and [i] are both easy to dei onto the stack < 1205542414 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so the language is TC, I've just informally proved it < 1205542458 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe I'll write an Underload-minus-S (i.e. Underlambda Tier 1) to your language compiler, it wouldn't be too hard < 1205542807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: interesting < 1205542807 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205542977 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://pastebin.ca/943140 < 1205543001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a 'flattener' for your language that takes a program using [] and Underlambda-tier-1 combinators and transfers it into one using dei < 1205543002 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1205543064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: woo < 1205543064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205543073 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :see, I told you it was TC < 1205543086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I think that could be regexpable actually < 1205543086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205543094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(caveat: you need at least one element on the stack to start with unless it magically fills itself, but you could just write 0) < 1205543108 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: using recursive regexen (like Python and Perl5.10 have), yes < 1205543112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :otherwise, no < 1205543136 0 :ais523!unknown@unknown.invalid QUIT :"it's past midnight" < 1205543539 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1205546389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, bye everyone for today < 1205546394 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :see you all tomorrow :) < 1205546402 0 :ehird!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1205547880 0 :Deformati!unknown@unknown.invalid QUIT :SendQ exceeded < 1205549127 0 :GregorR-L!n=gregor@pool-96-233-24-39.bstnma.east.verizon.net JOIN :#esoteric < 1205549428 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :Fastest way to get the integral square root of an integer with no FPU? < 1205549515 0 :Tritonio_!n=Tritonio@150.140.229.38 JOIN :#esoteric < 1205549854 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :binary search? < 1205549861 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1205549870 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :lotsa ways < 1205549873 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :probably just iterate newtons methods < 1205549877 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :-s < 1205550166 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1205550259 0 :calamari!n=calamari@ip24-255-58-177.tc.ph.cox.net JOIN :#esoteric < 1205551153 0 :Tritonio_!unknown@unknown.invalid QUIT :Remote closed the connection < 1205553087 0 :Corun!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205557271 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ACTION made his first thue program! < 1205557275 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ski interp < 1205557290 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :not sure it works yet, just tried some simple examples < 1205557909 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :`````s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kki``s`kk`ki``s``s`ks``s`kk`kk`kiski evaluates correctly, i'm convinced < 1205557912 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205558735 0 :GregorR-L!unknown@unknown.invalid QUIT :"Leaving" < 1205559620 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/oklopol/thue.txt < 1205559650 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm fairly sure that's all i'm ever going to do with thue without code generation :D < 1205559721 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :perhaps i should do that brainfuck self interp < 1205560842 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://video.google.com/videoplay?docid=-7974828993993586658 < 1205560982 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION performed that earlier today (not that recording, though) < 1205561239 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklokok, in PSOX? < 1205561253 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :anyways, g'night < 1205561258 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Goodnight all! < 1205561320 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1205562135 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1205564239 0 :BlackMeph!n=chatzill@adsl-76-212-202-214.dsl.sndg02.sbcglobal.net JOIN :#esoteric < 1205564243 0 :BMeph!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205564252 0 :BlackMeph!unknown@unknown.invalid NICK :BMeph < 1205564521 0 :BlackMeph!n=chatzill@76.248.9.96 JOIN :#esoteric < 1205564637 0 :BMeph69!n=chatzill@adsl-76-212-192-106.dsl.sndg02.sbcglobal.net JOIN :#esoteric < 1205565211 0 :adu!n=andrew@pool-71-178-14-80.washdc.fios.verizon.net JOIN :#esoteric < 1205565382 0 :BMeph!unknown@unknown.invalid QUIT :Connection timed out < 1205565630 0 :oklokok!unknown@unknown.invalid QUIT :Remote closed the connection < 1205565658 0 :oklokok!n=oklofok@spark.turku.fi JOIN :#esoteric < 1205565661 0 :BlackMeph!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205567999 0 :clog!unknown@unknown.invalid QUIT :ended < 1205568000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1205569486 0 :adu!unknown@unknown.invalid QUIT :Remote closed the connection < 1205576244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what is this from strn.d about: static assert (cell.sizeof == 4 && cell.min < 0, "Need more than 11 chars here"); < 1205577338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.085s < 1205578824 0 :sebbu2!n=sebbu@ADijon-152-1-65-148.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1205579292 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205579292 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1205579653 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it probably (I don't have the code here, at school) uses a static buffer of 11 chars < 1205579667 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: which means that if you have a 64-bit int, for instance, it won't fit. < 1205579675 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah I see < 1205579684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is wrestling with cmake atm < 1205579736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah that's fixed < 1205579752 0 :faxathisia!unknown@unknown.invalid PART #esoteric :? < 1205579792 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, now cfunge compiles with no warnings here, using either 32-bit or 64-bit data type, I got no idea if that is also the case on 32-bit platforms. I still get a single warning when using -DNDEBUG however < 1205579899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf *looks again* < 1205580411 0 :oklokok!unknown@unknown.invalid QUIT :Remote closed the connection < 1205581054 0 :oklokok!n=oklofok@spark.turku.fi JOIN :#esoteric < 1205581370 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I admit, doing it in D is simpler: That the size of the stack stack is 0 < 1205581371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :BAD: should be at least 1, assuming 1 < 1205581371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : That the stack sizes are [ 41 ] from top to bottom < 1205581371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : That the command-line arguments were: [ "▒" "/mycology/mycology.b98" ] < 1205581374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION debugs < 1205581419 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :now, everything pushed on stack seems ok, so would be useful to have ccbi print each instruction as it runs it so I can compare < 1205582262 0 :ais523!n=ais523@mu01-fap01.bham.ac.uk JOIN :#esoteric < 1205584630 0 :Hiato!n=Hiato@dsl-245-11-225.telkomadsl.co.za JOIN :#esoteric < 1205585071 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the stack matches for ccbi and cfunge in the interesting part, so that's not the problem, but they show different output for time, up to and including date everything is fine in mycology < 1205585099 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :after that y output is more or less garbled for cfunge, until environment variables < 1205585102 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders wtf < 1205585146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: is it possible that you're pushing the wrong number of elements onto the stack? < 1205585176 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that way all the ouput would be displayed in the wrong section in the wrong format, leading to that sort of problem < 1205585178 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I dumped stack from both ccbi and cfunge, they match in size for elements < 1205585195 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :up to, and past the section we are discussing < 1205585198 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :are any of the elements themselves a count of elements? < 1205585250 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well yes, items of stack and such, but I verified those, the only ones that differ are handprint, interpreter version, exact time, and supported features < 1205585301 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1205585327 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, when I build with -fstack-protector-all it works, when I don't it fails, and this is -O0, so it isn't due to optimizing too much < 1205585382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually now it works without -fstack-protector-all too, but I did make clean before, so it can't be due to broken build before < 1205585383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :w t f < 1205585427 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you might have run an old executable by mistake. I've been doing that quite a lot recently due to cross-compiling and transferring the resulting executable from computer to computer by USB stick < 1205585446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, err, I didn't do that, I use cmake, and I ran make < 1205585454 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I run on same computer < 1205585480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK, that makes it substantiatlly harder to get things wrong < 1205585487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1205585497 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and now it refuse to fail for the moment < 1205585515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :odd thing is, I had about same problem yesterday, for a while, then it started working again < 1205585523 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if he maybe should run memcheck < 1205585531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or memtest or whatever it is called < 1205585540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's the default on valgrind, anyway < 1205585551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, no I mean on computer memory < 1205585555 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :thing you boot into < 1205585568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think your memory is very unlikely to be the problem < 1205585575 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and I did do valgrind on the failing binary before, it reported nothing < 1205585583 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1205585587 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some memory leaks yes, because I had to build without garbage collector < 1205585589 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that was it < 1205585595 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no invalid reads or such < 1205585689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway it did have some issue before, because it reported random garbage in the first field of command line arguments, like: < 1205585704 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : That the command-line arguments were: [ "" "mycology/mycology.b98" ] < 1205585759 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION checks one thing < 1205585765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: most likely the stack somehow got out of sync < 1205585806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as it first failed at time value, *tries to make it push same time value as before to see what happens* < 1205585831 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... maybe it's a current-time-dependent error, that would explain why it suddenly started working < 1205585831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hah, when I push old time value it fails < 1205585837 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :StackPush((FUNGEDATATYPE)668196, pushStack); < 1205585840 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that one breaks it < 1205585847 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what type is FUNGEDATATYPE? < 1205585865 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, int_fast64_t, depending on compile time options < 1205585874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the normal line is: < 1205585880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :StackPush((FUNGEDATATYPE)(curTime.tm_year * 256 * 256 + (curTime.tm_mon + 1) * 256 + curTime.tm_mday), pushStack); < 1205585905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :where curTime is returned from gmtime < 1205585915 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is amused at seeing the int_fast64_t; I wonder how long it'll be before there's a computer that's faster at >64-bit numbers than 64-bit numbers? < 1205585930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, heheh :) < 1205585934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :128-bit anyone? < 1205585945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually gcc got __int128_t if you want to try < 1205585949 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :horribly slow here < 1205585969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway it can be set to use int32_t or int_fast64_t < 1205585970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205585974 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge that is < 1205586018 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually the line I meant above that was normal push was: StackPush((FUNGEDATATYPE)(curTime.tm_hour * 256 * 256 + curTime.tm_min * 256 + curTime.tm_sec), pushStack); < 1205586030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :copied wrong one first < 1205586208 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok... this doesn't make any sese < 1205586211 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sense* < 1205586237 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what data type is curTime.tm_hour? < 1205586238 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :11 * 256 * 256 = 720896 < 1205586243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, int, so 32-bit < 1205586247 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is it possibly overflowing before you cast it to FUNGEDATATYPE? < 1205586250 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :668196 < 720896 < 1205586257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2^32 > 720896 < 1205586259 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, can't be in this case < 1205586263 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should not overflow? < 1205586277 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has been working on a 16-bit embedded system, and as a result is somewhat jumpy about overflows < 1205586307 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well man gmtime says it's int < 1205586317 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION checks header file < 1205586337 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :header file agrees < 1205586346 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it's not an overflow, at least not there... < 1205586356 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what's 668196 in hex? < 1205586376 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :~$ printf %x\\n $((668196)) < 1205586376 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a3224 < 1205586378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ echo $(( 0x668196 )) < 1205586378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :6717846 < 1205586378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205586389 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you converted in the wrong direction < 1205586395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1205586396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1205586414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but 668196 is value I printed using %d < 1205586420 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't see anything particularly unusuable about that bit pattern < 1205586421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in my stack dump routine < 1205586442 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(I was wondering if it ended with lots of 0s or something) < 1205586579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, how do you find out the hours, minutes and seconds from 668196 < 1205586583 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION can't think of how atm < 1205586604 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hour = 668196 / 65536 < 1205586613 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :minute = (668196 / 256) % 256 < 1205586621 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :second = (668196) % 356 < 1205586635 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :% 356? < 1205586636 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/356/256/ < 1205586650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :10:50:36 < 1205586661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yep that matches when I dumped stack I think < 1205586661 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or you could just look at the hex output; the hour is 0xa, the minute is 0x32, the second is 0x24 < 1205586693 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... does ccbi have the same problem when run at that precise time? < 1205586696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or actually 11:50:36 because I found out hour was off by one < 1205586700 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if so it's likely a bug in Mycology < 1205586703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hard to check :/ < 1205586722 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :agreed < 1205586740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I run some time dependant stuff that would scream is I set clock back, and I can't compile ccbi myself < 1205586744 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I use binary from Deewiant < 1205586763 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so checking will be hard, then < 1205586769 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yep < 1205586799 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, can you check what happens when you push 668196 as time in ccbi? ie. hard code that value in and test what happens < 1205586805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or rather < 1205586812 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hard code the value of 10:50:36 < 1205586858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, now it correctly says: < 1205586860 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : That the time is 13 : 14 : 05 < 1205586883 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :local time hm < 1205586896 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION changes to UTC < 1205587028 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1205587469 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, btw I'm happy there isn't any way to get phase of moon in befunge XD < 1205587479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(unless you calculate it from date) < 1205587490 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there should be a fingerprint for that < 1205587493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also the date of Easter < 1205587525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, god, that's complicated, well in that case we should do non-western holidays too < 1205587555 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has an Easter-calculating algorithm in C which they translated from an example in an Algol-68 textbook < 1205587557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like say, Ramadan or whatever it is the Muslims do (of course it would be classed as terrorist software in US if it did that)! < 1205587618 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe also convert between calendars of different cultures < 1205587627 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205587641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, year of the pig? < 1205587659 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :do the Western zodiac as well in that case < 1205587670 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and also convert to sidereal and Darian just in case < 1205587670 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :such a fingerprint would get extremely complex < 1205587680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what about Discordian dates? < 1205587703 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just do as many calendary things as you can until you run out of capital letters < 1205587706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you know there is some unix program for that called ddate < 1205587742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, nah, it could be C for convert, that pops type of calender to convert from, type to convert to and date < 1205587745 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :all in one < 1205587774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ ddate < 1205587774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Today is Prickle-Prickle, the 1st day of Discord in the YOLD 3174 < 1205587799 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonder why someone added that to util-linux < 1205587804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sys-apps/util-linux (/usr/bin/ddate) < 1205587839 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's like me wondering why factor is in GNU coreutils; I think there must be more to it than ehird`'s claim that it's because GNU is horribly bloated < 1205587851 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least tsort makes some kind of sense < 1205587881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well no ddate on my freebsd :) < 1205587918 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :factor: `42233453345345233256' is too large :/ < 1205588893 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$ factor 9223372036854775807 < 1205588893 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :9223372036854775807: 7 7 73 127 337 92737 649657 < 1205588893 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$ factor 9223372036854775806 < 1205588893 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :9223372036854775806: 2 3 715827883 2147483647 < 1205588914 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it can handle signed 64-bit ints < 1205588928 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least in the implementation I have here < 1205588934 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :still no idea why it's in coreutils, though < 1205591170 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw I'm down around 0.78 seconds when I disable boehm-gc, also currently just 8 bytes leaked memory without boehm-gc, though there is a lot valgrind says is "still reachable" < 1205591961 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(which means that there's a pointer to it available somewhere, but that you don't necessarily know you're going to have to free) < 1205592608 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1205593017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1205593026 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and quite a few "possibly lost" < 1205593034 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :meaning, pointer to somewhere inside object < 1205593049 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :reason is that I allocate data cells for fungespace in chunks of 512 cells < 1205593077 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so that *will* be a memory leak if there is no cell referenced inside such a block, when not using a garbage collector < 1205593374 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205594212 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1205596696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, apart from the time issue mentioned above, I got another question, why does it seem that ccbi's SUBR only allocate a call stack of 8 calls? < 1205597388 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1205597899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, AAAAAAAAAAAAAAAAARGH! at rcfugne fingerprint docs, and I fail to understand wtf you are doing in subr.d < 1205598226 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: fixed the bug with mycology's time output < 1205598239 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah what was the issue? < 1205598260 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :a 'a' instead of a '9' lead to the leading zero < 1205598264 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and then there was a misalignment < 1205598269 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :should have hit a space but it hit a 'y' < 1205598271 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1205598317 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and subr, what about it < 1205598338 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the call stack is initialized to 8, yes. but it can grow. < 1205598343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1205598344 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(first two lines of push) < 1205598359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why not create a normal temp stack? < 1205598373 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :'normal'? < 1205598380 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it needs to be persistent, no? < 1205598381 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err don't you have some stack class? < 1205598394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it does? anyway is it local to ip or not? < 1205598400 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the D stdlibs don't have any containers like in C++ < 1205598406 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :not at the time of writing, anyway < 1205598408 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think they might nowadays < 1205598432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION points to his stack struct < 1205598447 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but anyhoo, sure I've got the stack class < 1205598455 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but anyway should it be local to ip, and, what do you mean persistent? < 1205598460 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but it's different < 1205598471 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :'cause this one doesn't pop zero when it's empty, for instance. < 1205598480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm true < 1205598484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know, I can't remember what the fingerprint does. < 1205598497 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, RC/Funge subroutine < 1205598506 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :call, jump, ret. < 1205598523 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :hmm, maybe it should be local to IP. < 1205598524 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see ret, the return address is on the main stack, no? < 1205598542 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so call stack should be local to function? < 1205598543 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1205598573 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :to function? to IP, certainly, I think. < 1205598586 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :although strictly speaking these are all UNDEF when it comes to multiple IPs. < 1205598601 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :since RC/Funge-98's docs suck and it doesn't implement concurrency. < 1205598622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err, as far as I can see, you don't need to store call stack, as you get return address from ip's stack < 1205598654 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :look at what's happening < 1205598658 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :in call(), it pops n < 1205598669 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and then it moves n cells from IP's stack to the callstack < 1205598677 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :in ret, it puts them back < 1205598688 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or wait, what? < 1205598723 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it pops n, then it puts the ret address, then it puts them back again. < 1205598735 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I guess you're right. < 1205598751 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :so it's just an optimization to avoid needless heap activity. < 1205598759 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh, auto is a C keyword!? < 1205598764 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what it does in C < 1205598773 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :nothing < 1205598784 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is it for then? < 1205598787 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you know 'register'? < 1205598793 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205598797 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :auto is basically the opposite < 1205598800 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :i.e. let the compiler decide < 1205598805 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but auto is also the default for all variables < 1205598811 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :so it's unnecessary < 1205598825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err that's volatile? < 1205598825 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :maybe in the old days you wanted to be explicit about auto vs. register or something < 1205598831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's the opposite of register < 1205598836 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205598839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :auto would be default middle value < 1205598841 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm using the term 'opposite' loosely < 1205598844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, let compiler decide < 1205598849 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :register -> put it in register < 1205598852 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1205598853 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :auto -> let compiler decide < 1205598861 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :volatile -> always read the value from wherever it came from < 1205598867 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1205598876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :therefore register is opposite of volatile < 1205598878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1205598892 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd disagree < 1205598907 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd say none of these are opposites of each other, strictly speaking < 1205598916 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but anyway, that's 'auto' for ya. < 1205598916 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well strictly speaking indeed < 1205599131 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what is up with ddate's man-page < 1205599169 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually, "auto" variables are those with automatic allocation < 1205599172 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :i,e, stack allocation < 1205599206 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but for some reason, my less thinks that the ddate manpage has ~6500 lines just befor the "EXAMPLES" subtitle. < 1205599212 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :when it blatently doesn't < 1205599314 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#\884***+1#<;#_ -! #_ bb*01- x>".dedaol">:#_,#>:#_,#>:#_,#>:#_,#>:#_,#>:#_,#>:#_,#>:#_$a,Testing fingerprint SUBR... loaded. < 1205599314 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : 0655**- \ ef* - x5xtxxxxxxxxxxxxxxxxxxxxxxxxxx < 1205599323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sighs at infinite loop < 1205599345 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, usefunge < 1205599347 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*une < 1205599350 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no < 1205599355 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just debug output < 1205599361 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :from my befunge interpreter < 1205599366 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1205599384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :printing each instruction as it runs, at trace level 3, (at 4 it would print like: x=165 y=210: x (120) ) < 1205599495 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1205599640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, help, what could cause that error on SUBR loading? :( < 1205599644 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it makes no sense < 1205599649 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1205599653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : >0" tnirpregnif gnitseT">:#,_00p410p310p210p110p>:;^p1p00:+1g00:;# _ " ...",,,, 41g:!#^_>31g:!#^_>21g:!#^_>11g 00g #^(22p33pv>".dedaol">:#,_$a, 0655**- \ ef* - x < 1205599654 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :do you get to (15, 725) < 1205599659 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it fails at the x at the end < 1205599665 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :somehow it pops 0,0 < 1205599670 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :so something is messed up < 1205599673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so ip end up not moving < 1205599681 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :because that's the standard fingerprint loading routine < 1205599683 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :used for every fingerprint < 1205599689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes, and it works for other fingerprints < 1205599703 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :at the end, it hits an x and jumps to (15, y) where the y-coordinate is pushed at the fingerprint < 1205599707 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :in this case it should be 725 < 1205599721 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Testing fingerprint SUBR... loaded. < 1205599721 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Testing fingerprint SUBR... loaded. < 1205599722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1205599766 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that is odd eh? < 1205599772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why would it load it twice wtf < 1205599784 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :something's going wrong in that first x I guess < 1205599795 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205599813 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but considering it is generic loading and works for other fingerprints, I don't get it < 1205599852 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is about to die of boredom < 1205599857 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :what's that '5' after the first x < 1205599862 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :where is it at < 1205599878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err? < 1205599888 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :2008-03-15 17:41:54 ( AnMaster) 0655**- \ ef* - x5xtxxxxxxxxxxxxxxxxxxxxxxxxxx < 1205599891 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :x5xtx < 1205599895 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :good question a sec < 1205599896 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :what's the 5 < 1205599943 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION traces in gdb to be able to catch the output < 1205599962 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because even without optimizing it takes just a fraction of a second to fill the scrollback with x < 1205599978 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how about teeing the output? < 1205600096 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, http://rafb.net/p/mz4t6B40.html < 1205600125 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :x=15 y=0? fail :-P < 1205600158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes, looks like something jumped way too far < 1205600179 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :looks like your math goes wrong somewhere < 1205600206 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's your program, you debug it :-P < 1205600240 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(gdb) print ip->delta < 1205600240 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$1 = {x = -150, y = -210} < 1205600243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes indeed < 1205600479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ok J is broken, if I make J reflect i do get BAD but it doesn't lock up < 1205600522 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha, missing a setting of delta in J I think < 1205600540 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes that was it ^ < 1205600545 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :J? I thought that died before getting to J < 1205600555 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, nop < 1205600567 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :What is this SUBR fingerprint? < 1205600574 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but J didn't set delta, you may want to test for that < 1205600579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, sub routinesa < 1205600583 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :routines* < 1205600594 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I thought '98 already did those < 1205600598 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err no? < 1205600605 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205600821 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, pull to get my SUBR, not yet optimal < 1205600830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(in sense of speed I mean) < 1205600835 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1205600864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, still around 0.075 seconds here for it :D < 1205600900 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm, odd indeed < 1205600920 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I must have been confused by j in combination with u and {} < 1205600935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, those are different indeed < 1205600959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but really, SUBR is quite possible to emulate using befunge < 1205600974 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant do that in mycology really < 1205601012 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :sure, you just have to manually push the return address < 1205601023 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I make things easier by hard-coding the return x-coordinate as 15 < 1205601087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1205601126 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers a C->Befunge compiler < 1205601210 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually a Forth might work quite well < 1205601255 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, err what? < 1205601260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :C->forth? < 1205601264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure, but why? < 1205601272 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait, C->befunge would be nice < 1205601287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because then I could run cfunge under cfunge < 1205601293 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205601302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, note that cfunge is very much C99, so would be quite a bit of work < 1205601313 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Aren't there enough befunge terps out there already? < 1205601326 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, very few standard conforming ones < 1205601337 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :CCBI and mine are all standard conforming ones I know < 1205601341 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and CCBI is in D < 1205601346 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so a pain to compile < 1205601350 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what about fbbi? < 1205601358 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, not conformant iirc < 1205601413 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, http://users.tkk.fi/~mniemenm/befunge/mycology-comparison.html < 1205601424 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see chart at end < 1205601448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw for mycology fix of date, you didn't update webpage it seems? < 1205601453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, no changelog entry < 1205601816 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :only on the main page < 1205601833 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :can't be bothered to put it all there < 1205601846 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :because they're mostly of the type "fixed typo" like that one. < 1205601953 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :zzzz < 1205601976 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is dead tiredbored < 1205601998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, anyway cfunge: http://rage.kuonet.org/~anmaster/cfunge/ < 1205602982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it is weird that my interpreter seems to get no slower for each fingerprint I add < 1205603000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is basically same speed, around 0.78 seconds in super-optimized mode < 1205603019 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I found that gcc 4.1 and later actually got an undocumented -O4 < 1205603020 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has just proved Splinter to be a push-down automaton < 1205603029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what is splinter? < 1205603037 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I found it on Keymaker's website < 1205603046 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not sure if it's on esolangs < 1205603054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, how much do you win for that? < 1205603061 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nothing < 1205603063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was just for fun < 1205603069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :link to it? < 1205603075 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it was an interesting task, because Keymaker thought it was just a finite-state machine < 1205603094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://koti.mbnet.fi/yiap/splinter/splinter.html < 1205603160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, contact him/her about it? < 1205603175 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I may do at some point < 1205603213 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pastes their pushdown automaton to Splinter compiler < 1205603244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is adding concurrency hard? < 1205603267 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/943809 < 1205603289 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: dunno... potentially < 1205603299 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if you've just copied all my algorithms then probably not ;-P < 1205603310 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I have designed with concurrency in mind < 1205603315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, passing around ip pointer < 1205603329 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :using ip->stack instead of some global stack stack variable < 1205603339 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err actually the latter I do but it's quite hidden < 1205603341 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and easy to fix < 1205603348 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the definition of a push-down automaton requires it to accept input, but I simulate that by using a separate splinter N whose only purpose is to provide input every time it's called, so the input is entirely separate to the program < 1205603463 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but I didn't copy your algorithms for core code, wrapping and fingerprints yes, but I didn't look at ccbi before I got stuck at wrapping < 1205603469 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :splinter is cute < 1205603480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the reason being I thought D was so different I wouldn't understand it, heh < 1205603507 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Splinter works too (although Esolang was down a few minutes ago, apparently due to 'too many connections', it's back up again) < 1205603539 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, the whole program looks like a > heh < 1205603545 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why < 1205603563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that pastebin link, it may not exist forever < 1205603580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's meant to, but I still have the original file, just nowhere more permanent to put it < 1205603595 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are a few pastebin links on Esolang for before things can be moved to a proper home < 1205603598 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1205603611 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and because pastebin.ca keeps things around forever, it's likely to last longer than many esolang sites < 1205603711 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when ehird's website is up, that would likely be a better place < 1205603926 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well I got launchpad to mirror cfunge and sf.net for download hosting < 1205603947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's more of a serious project than a proof-of-concept compiler, though < 1205603979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, true < 1205604832 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1205605748 0 :oklokok!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1205605915 0 :oklofok!n=oklofok@spark.turku.fi JOIN :#esoteric < 1205606095 0 :shinku!n=r0x@20150056098.user.veloxzone.com.br JOIN :#esoteric < 1205607162 0 :shinku!unknown@unknown.invalid QUIT : < 1205607491 0 :sebbu2!n=sebbu@ADijon-152-1-93-16.w81-50.abo.wanadoo.fr JOIN :#esoteric < 1205607724 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw about concurrent IP, would you do it as a linked list? < 1205607742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :considering this with inserting and removing IPs it seems like the best way < 1205607750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a double linked list < 1205607762 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I did that once, it ended up slower than arrays < 1205607803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, true not good for CPU cache < 1205607814 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :aye, memory locality is likely the reason < 1205607859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but adding a new one, or deleting an old one becomes O(n) with array, right? < 1205607866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as you need to insert < 1205607994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what file is IP *list* in? < 1205607996 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's O(1) + memory allocation costs < 1205607999 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :IP.d < 1205608002 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's a global at the top < 1205608007 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1205608013 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :IP[] ips; < 1205608031 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how can it be O(1) if you need to insert an entry in front of another you will need to move all later ones < 1205608037 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless you use some hash map for it? < 1205608052 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :allocate new array which is 1 bigger < 1205608058 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"It causes the current IP to be duplicated, and this duplicate is added to the IP list such that it is executed for the first time before the parent IP is next executed." < 1205608061 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :copy old_array[0..i] to the beginning < 1205608069 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :of the new array < 1205608075 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :insert new IP at position i < 1205608083 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :copy old_array[i+1..end] to the end of the new array < 1205608096 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ok true, yes I get that bit, but that isn't O(1) < 1205608097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1205608120 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's something like O(n) for number of elements in array < 1205608128 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the memory allocation costs make it O(n) in practice < 1205608142 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes and you can't copy all in one go < 1205608144 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but the copying can basically be done by sharing < 1205608149 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, err what? < 1205608158 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or hmm, actually only half of it can be done by sharing. darn, so it becomes O(n/2) < 1205608161 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :which is O(n) anyway. < 1205608190 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err? *thinks* O(n/2) == O(n)?? < 1205608197 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1205608204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then O maths are strange < 1205608205 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :O(constant * n) == O(n) < 1205608208 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1205608218 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :if you know the definition it makes sense < 1205608221 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that would only be true if n is treated as infinite < 1205608230 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ah, but O isn't a function < 1205608232 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :O is a set < 1205608233 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mathematically speaking I mean < 1205608242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ok hm < 1205608272 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the notation is a bit crap, but it makes it easier to talk about stuff < 1205608295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haven't got to set theory much in school yet, we done some basics like discuss N, Z, Q and R and such < 1205608304 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :for instance, it's not really "f = O(n)", it's "f ∈ O(n)" < 1205608338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : UNCHANGING = 0, < 1205608338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : STOPPING, < 1205608338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : QUITTING, < 1205608342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :state hm? < 1205608347 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :aye < 1205608359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what does those means? they aren't same as mode < 1205608361 0 :ais523!unknown@unknown.invalid QUIT :"might be back soon, might not be" < 1205608370 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :STOPPING - hit an @ < 1205608375 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :QUITTING - hit a q < 1205608381 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :UNCHANGING - normal. < 1205608384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1205608393 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :then there's the one or two for TRDS. < 1205608426 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why those? I think q = call to exit, @ = some call to destroy current ip, and exit if it's the only one < 1205608445 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :because of TRDS. < 1205608448 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205608457 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, err all of those are for TRDS? < 1205608469 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :as you say, they wouldn't be necessary if it weren't for TRDS. < 1205608471 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh god sounds like a real mess (yes it is) < 1205608513 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't think, anyway. < 1205608739 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :think what? < 1205608743 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at all? ;P < 1205608745 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs < 1205608760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(sorry, considering ccbi's code, you *DO* think) < 1205608794 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure they're necessary even now. depends on how the states get set. < 1205608803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1205608809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I won't do TRDS < 1205608822 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, in: < 1205608824 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :IP[] ips; < 1205608829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is that a C style array < 1205608834 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :A spam email that sends to a malicious IP belongs to ucsd.edu < 1205608840 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or some D interal to make it sparse? < 1205608843 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :no, C style arrays are static. :-) < 1205608855 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Do I forward the email to the technical contact, or should I send to abuse@ucsd.edu ? < 1205608863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so it's a sparse array= < 1205608868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/=/?/ < 1205608871 0 :ehird!n=ehird@91.105.73.126 JOIN :#esoteric < 1205608875 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's essentially a struct __someinternalname { whatever_the_type_is *data; size_t length; } < 1205608888 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's flat, just dynamic < 1205608889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1205608891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what's this about < 1205608891 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1205608898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it sounds interestermating < 1205608898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ? < 1205608900 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: dynamic arrays in D < 1205608907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh ah < 1205608909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it's not like that < 1205608912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the actual thingy is: < 1205608922 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :struct __foo { size_t length; void *data; } < 1205608923 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :iirc. < 1205608926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1205608934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but that is, of course, post-compilation < 1205608934 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes urgently < 1205608935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes makes sense to store length first < 1205608942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also i found a silly little thing < 1205608948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :imagine this structure for a string < 1205608949 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't matter, really < 1205608953 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :struct { size_t length; char first; } < 1205608956 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :means less indirectly addressing to access first element of a struct < 1205608957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you get to the data by: < 1205608960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :&foo->first < 1205608964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and since D do range checking < 1205608965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think that would work < 1205608965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cute < 1205608966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it makes sense < 1205608969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ^ < 1205608985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait < 1205608990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the __foo includes size_t allocated; too < 1205609000 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it makes no difference whether you're accessing address FOO or FOO+x. that's implemented at the hardware level. < 1205609020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes at hardware level it (used to at least) make a difference < 1205609021 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sends < 1205609023 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's for the GC, not in the struct itself, I don't think. < 1205609031 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, in how many cycles the access took that is < 1205609033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: no, i mean how much it has been allocated < 1205609038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not always == length. < 1205609050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :btw, how to allocate my structure thingy: malloc(sizeof(string_t) + (sz ? sz-1 : 0)) < 1205609099 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I got an idea to make it faster for first time anyway, you can just realloc then, if you consider "before in exec order" == "after in array" < 1205609107 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, you execute counting downwards < 1205609114 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should make the first split faster < 1205609115 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, I know what you meant. < 1205609129 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it looks like it's defined as void** data actually. < 1205609137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, is that a struct that can grow at the end? < 1205609138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: that would make sense < 1205609140 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if obj = void * < 1205609146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then the replacable array ref is obj* < 1205609151 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thingy < 1205609156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yepp < 1205609160 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but transforms into a char* < 1205609163 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, if it is, see how I do stackstacks in my code < 1205609178 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION use C99 flexible struct members < 1205609181 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or whatever the name is < 1205609185 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the cool thing about it is that you don't need two pointers < 1205609191 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, indeed < 1205609193 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if one is always going to be in one place -- the struct -- it's pointless < 1205609199 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so just have one that can pretend to be both :D < 1205609207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :typedef struct { < 1205609207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : size_t size; /**< This is number of elements in stacks. */ < 1205609207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : size_t current; /**< Top stack and current stack */ < 1205609207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : fungeStack * stacks[]; /**< Array of pointers to stacks */ < 1205609207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :} fungeStackStack; < 1205609221 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : stackStack = cf_realloc(*me, sizeof(fungeStackStack) + ((*me)->size + 1) * sizeof(fungeStack*)); < 1205609227 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is how I grow it < 1205609256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :initial alloc is just: stackStack = cf_malloc(sizeof(fungeStackStack) + sizeof(fungeStack*)); < 1205609264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i like c89 < 1205609272 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well that's your choice < 1205609274 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but i think there is a place for a langugae like c99 < 1205609281 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just not as the latest c :) < 1205609290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, hehe, tough luck < 1205609358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://pastebin.ca/943924 < 1205609360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :string_t! < 1205609362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1205609382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, god, are you doing C99 feature in C89 < 1205609383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1205609402 0 :ais523!n=ais523@mu01-fap01.bham.ac.uk JOIN :#esoteric < 1205609404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you know, the original gopher client had something like that < 1205609427 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you got the timing on that message so precise you beat the welcome message from ChanServ < 1205609440 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: same happened when i came in < 1205609448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, err? it was 2 seconds later < 1205609448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205609450 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe Chanserv is just being slow today < 1205609451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: and no, i'm not < 1205609463 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks that big-O notation would be better as a partial ordering on functions than the current wibbliness < 1205609470 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's just a structure which is allocated past its size and the rest is used as char * < 1205609471 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205609485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I am splitting my dei language into two < 1205609487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :littledei and bigdei < 1205609492 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :littledei will be the minimum to do your rewrites < 1205609495 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and bigdei will have IO < 1205609501 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but you can redirect input and output to 'sinks' to it will work < 1205609510 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you can catch signals so [quit] is possible < 1205609510 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1205609513 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes, ie, something likehttp://pastebin.ca/943925 < 1205609514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION came across (on Wikipedia) the fact that there were algorithms that ran in O(n*alpha(n)) time, where alpha is the inverse of the Ackermann function < 1205609516 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err add space < 1205609520 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so very very slightly worse than O(n) < 1205609532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, not really < 1205609535 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but eh. < 1205609544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it works the same *shrugs* < 1205609546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: link to your rewrites again? < 1205609548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: so does two pointers < 1205609562 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no, that is one more level of indirection < 1205609579 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to find it < 1205609580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and therefore likely slower < 1205609602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, wtf link to that? < 1205609626 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: for dei < 1205609630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is turing complete < 1205609634 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :* ais523 came across (on Wikipedia) the fact that there were algorithms that ran in O(n*alpha(n)) time, where alpha is the inverse of the Ackermann function < 1205609636 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for that < 1205609640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ho < 1205609643 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205609667 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's apparently one of the algorithms for solving the [[Minimal Spanning Tree]] problem < 1205609676 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mentioned in some of the pages around there < 1205609685 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :none of them said explicitly what the algorithm was, though < 1205609700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1205609709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, i need a special value to put at the start of the program < 1205609710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe []? < 1205609725 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's the most obvious option < 1205609728 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, is this TURKY BOMB, your funge or what? < 1205609741 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a concatenative language without the [] operator < 1205609748 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1205609775 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is still trying to find the link < 1205609790 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/943140 < 1205609818 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's how to translate programs written in terms of [] into programs written in terms of dei < 1205609831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is, of course, scary :) < 1205609845 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(assuming the semantics for i dei are to evaluate TOS, then push [i]; that isn't clear from the spec) < 1205609867 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where is Dei defined? < 1205609871 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: did you see my proof that Splinter was a PDA that I linked in #esoteric earlier today? < 1205609886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: this: < 1205609887 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1205609888 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in my spec < 1205609896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which ais523 will now find and give a link, maybe ;) < 1205609897 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: ehird's most recent spec was http://pastebin.ca/943115 < 1205609905 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: way to cross messages... < 1205609912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hehe, indeed. < 1205609916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and no, ais523, I didn't < 1205609927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: basically, `X dei` is `X [X]` < 1205609930 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but before X is executed < 1205609935 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :`dup dei` => `dup [dup]` < 1205609942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so the top element of the stack is duplicated, then [dup] is pushed < 1205609950 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"Firefox can't find the server at www.pastebin.ca." ! < 1205609962 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: there isn't a www at the start of the name < 1205609964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Okies: < 1205609965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :www is so 1990s < 1205609967 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/943935 < 1205609969 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That's minidei < 1205609978 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the smallest dei that is turing complete, as far as I know < 1205609980 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, more formally specified < 1205609995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I will now do the noble thing and write an interpreter using s/// < 1205610004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: before I start, what's the "and redo" trick? it looks useful < 1205610012 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well firefox is putting it there < 1205610021 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it jumps back to the start of the {} block you're in < 1205610030 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if the command succeded < 1205610048 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when combined with s/// it gives you Thutu-style replacements: start the block again if you make a change < 1205610071 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: can you ping pastebin.ca? < 1205610083 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hm damn i don't think i can implement this < 1205610098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because of [...] < 1205610102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can't do that with regexps < 1205610106 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: learn to write recursive regexps < 1205610110 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: scared < 1205610114 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the syntax was improved a lot for Perl 5.10 < 1205610132 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the 5.005 syntax is to declare a part of a regexp with $variable=qr/regexp/ < 1205610143 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and to access it with (?{{$variable}}) < 1205610144 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i have 5.10 < 1205610156 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in that case, (?R) will do the entire regexp < 1205610167 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, it recurses the whole thing < 1205610181 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ping can't see it either < 1205610181 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's also syntax to recurse into one group which I've forgotten right now, but is very simple < 1205610192 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: can you access other websites? < 1205610195 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, how does kate highlight: 'whatever / 25 ; # / ; die "this dies!";' < 1205610195 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205610200 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cperl-mode highlights it as divide+Comment < 1205610205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :perl-mode too < 1205610258 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Kate interprets it as divide+comment < 1205610272 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"Ping request could not find host pastebin.ca. Please check the name and try again." < 1205610275 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm# < 1205610277 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: my $q = /(\[(?:(?:R)|[^ ]+)+\])/; < 1205610316 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: if you change the whatever to the reserved word split, then it higlights it as regexp + die because it knows that split takes arguments < 1205610323 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, not reserved word, built in function < 1205610338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, I want $q to match 'foo [bar baz]' in [foo [bar baz]] < 1205610367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/\[((?:(?:R)|[^ ]+)+)\]/ < 1205610369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :think that's right < 1205610445 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: can you navigate to http://208.68.18.97/ < 1205610458 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's how you write pastebin.ca as numbers, according to ping < 1205610468 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(i.e. by IP rather than by domain name) < 1205610493 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nope, can' do < 1205610493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you want to put \[ and \] inside your character class [^ ] < 1205610497 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*can't < 1205610520 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: that's strange, it seems like bits of the internet are inaccessible to you for some reason < 1205610525 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :weird < 1205610536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: thanks < 1205610543 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What does "(qmail 11842 invoked from network)" mean? < 1205610546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok now i need to know how to debug this :p < 1205610549 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: qmail, eww < 1205610559 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :what does it mean? < 1205610566 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where was it? < 1205610574 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :In a Received: header in some spam < 1205610575 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: putting a print; just inside your block that you're redoing into is generally useful for debugging, I find < 1205610581 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Received: (qmail 11842 invoked from network); Mon, 10 Mar 2008 11:30:46 +0530 < 1205610587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh and i want * < 1205610588 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not + < 1205610602 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, it is just giving the PID of the qmail process that invoked it < 1205610607 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1205610607 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: only the outer + < 1205610617 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I mean the PID of the one that processed it < 1205610620 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or you could have zero-character combinators, HOMESPRING-style < 1205610620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehird@ehird-desktop:~$ echo 'i'|perl minidei.pl < 1205610620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1205610625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :veeeery odd < 1205610646 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: are you using $_ for your s///s? < 1205610653 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Received: from unknown (HELO forki) (28.116.40.228) < 1205610664 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :weird < 1205610670 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is that Received: line reliable, even with the Received: with the qmail above it? < 1205610675 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastebin.ca/943947 < 1205610688 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: qmail is a program < 1205610689 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a sucky one < 1205610691 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :does that help? < 1205610703 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What is it doing in the header like that? < 1205610711 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: advertising itself to the world < 1205610716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what it is saying is: < 1205610729 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And could that line be used to fake wahtever's below it? < 1205610732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'I am qmail with PID 11842. I was invoked from the network (i.e. not used locally from the box Im running on)' < 1205610742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And you can always fake every part of an email. < 1205610753 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you need to write my $q = qr/\[((?:(?:R)|[^ \[\]]+)*)\]/; and so on (note the extra qr) < 1205610760 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not all < 1205610762 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :EVERY part? < 1205610764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: okies. why? < 1205610767 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I trust this: < 1205610768 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Received: from 210.211.190.168.bb-static.vsnl.net.in ([210.211.190.168]) < 1205610768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that the regexp is evaluated when it's included, rather than when you declare it < 1205610768 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : by mx.google.com with SMTP id 13si12968233fks.8.2008.03.09.23.02.19; < 1205610768 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : Sun, 09 Mar 2008 23:02:24 -0700 (PDT) < 1205610769 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: most that matter :) < 1205610781 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :at some point the email must have finished passing through untrusted computers < 1205610783 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's like writing '(list) rather than (list) in Lisp < 1205610792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: still the same < 1205610807 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and almost any trusted computer will tell you if it detects it is being given bogus headers < 1205610821 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :like, computers that lie about who they are < 1205610832 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is 0 all the output you're getting? < 1205610849 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or is there other output first? < 1205610857 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The only line that looks like it might have been used for forging earlier stuff is the qmail one < 1205610875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that;s it < 1205610888 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$_ = "[] "+<>; < 1205610890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i guess that is wrong < 1205610899 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1205610902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it gets it as .. < 1205610903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh of course < 1205610905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :+ ain't concat < 1205610907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :. is < 1205610913 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION feels stupid for not noticing that < 1205610957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehird@ehird-desktop:~$ echo 'wrap'|perl minidei.pl < 1205610957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] wrap < 1205610957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[]] < 1205610964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205610965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dup doesn't work < 1205610972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205610974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i didn't implement it < 1205610974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :XS < 1205610975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1205610995 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oh dear < 1205611025 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i think $e is broken < 1205611025 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1205611028 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1205611029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1205611038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$e should match the whole [..] < 1205611054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and $w needs to exclude square brackets < 1205611058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wait a second.. < 1205611063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the only time $e will be used is for dei < 1205611069 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since otherwise all we have are quotations < 1205611076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since the words to the left have been executed < 1205611077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1205611086 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205611089 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and.. < 1205611092 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dei only needs to match on words!! < 1205611098 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205611111 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but your implementation of i is wrong < 1205611120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it needs to remove the outermost set of square brackets < 1205611127 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it does. [..] does < 1205611127 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205611147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehird@ehird-desktop:~$ echo 'dup dei i'|perl minidei.pl < 1205611147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] dup dei i < 1205611147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [] [dup] i < 1205611147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [] dup < 1205611147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [] [] < 1205611149 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because the [] are /inside/ the () in $q. That's clever < 1205611156 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yep. and sorry for the flood < 1205611160 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :everything looks so much smaller in the terminal window < 1205611165 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :why is there a "dei" instruction? < 1205611177 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: because [] isn't allowed in input programs < 1205611178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: because there's no [..] instruction < 1205611182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you have to do everything with dei < 1205611184 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which i should fix, actually < 1205611184 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, ok < 1205611192 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :technically the spec allows [...] in the program just as a word < 1205611197 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but i'll just die if i find [..] < 1205611197 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's ehird being deliberately difficult < 1205611201 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is the nature of esolangs, after all < 1205611204 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that is one way of saying it < 1205611204 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205611205 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1205611250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can i use <> multiple times? < 1205611259 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes < 1205611262 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you get one line each time you do < 1205611273 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you set $/=undef you get one file each time you do instead < 1205611279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm < 1205611283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what's the easiest way to just slurp all of stdin? < 1205611287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1205611288 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(that is, one file from the command line, and stdin when they run out) < 1205611290 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ruby's ARGF < 1205611293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :command line OR stdin < 1205611302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: $/=undef; $something=<> < 1205611315 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that gives you the first file on the cmdline, or stdin if there weren't any < 1205611351 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although if you're aiming for encapsulation saying local $/=undef will localise the change on <>'s effect to the entire program < 1205611374 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the golfing variant of this is $/=$] < 1205611384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] found in input at minidei.pl line 3, <> chunk 1. < 1205611385 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :huh? "localise the change ... to the entire program"? < 1205611386 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it sets the line separator to the Perl version number, which is unlikely to be in the input < 1205611391 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i love how perl puts useufl crap at the end of your message < 1205611420 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: if you were using multiple program files, which is how Perl does object-orientation, or you were writing a module < 1205611429 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :blither < 1205611430 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sort of like static in C < 1205611433 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wishes there was a way to determine if he's doing a good job of sending abuse reports < 1205611484 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Presumably, a program that could do that could just find abuse itself. < 1205611489 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastebin.ca/943963 minideiii! It works. < 1205611505 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's public domain because it's so trivial that I couldn't bring myself to even MIT it < 1205611519 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is also my first perl program beyond 'hello world', really < 1205611526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's far too readable, i guess < 1205611539 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I write like that too < 1205611551 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I suspect the reason the program looks like that is that you were copying my style < 1205611574 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Well, the email listed as the Registrant in the whois for vsnl.net.in doesn't exist < 1205611586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah, i probably was.. < 1205611590 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: :) < 1205611640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hm < 1205611642 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's buggy < 1205611644 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :need to fix up whitespace < 1205611692 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: as for the whatever line: Kate correctly marks the // stuff as a regexp whenever I change whatever to a builtin function that takes at least one argument < 1205611700 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and otherwise treats it as a division < 1205611701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you said that < 1205611701 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205611715 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I was trying even functions which don't normally take regexps as arguments, like log < 1205611719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastebin.ca/943970 < 1205611720 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :upgraded it < 1205611724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :made it do deis in steps < 1205611725 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and fixed [] etc < 1205611745 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You know what this channel needs? < 1205611750 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A more fleshed-out topic. < 1205611752 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I wonders if pastebin.ca have a reguler customer discount scheme... < 1205611755 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1205611781 0 :SimonRC!unknown@unknown.invalid TOPIC #esoteric :FLESH http://ircbrowse.com/cdates.html?channel=esoteric FLESH - From Brainfuck FLESH to extending FLESH tetration to the reals FLESH. < 1205611799 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: 'drop dei dup i' is a program worth trying < 1205611813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i love how you can see it expand the is out D: < 1205611814 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*:D < 1205611822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Would the qdb count? :p < 1205611845 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I get similar joy watching similar things in Underlambda < 1205611855 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is implemented and debugged the same way ATM < 1205611872 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric - From Brainfuck to extending tetration to the reals. | Logs: http://ircbrowse.com/cdates.html?channel=esoteric | Wiki: http://esolangs.org/wiki/ | The Esoteric File Archive: http://esolangs.org/files/ < 1205611872 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's great to see it collapse a whole line of lambdas < 1205611876 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205611878 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Does it work? < 1205611886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Sooooooon. < 1205611888 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :<___< < 1205611894 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :We can add it once it works. < 1205611901 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How can "no reply" exist in tracepath? < 1205611908 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Meanwhile, if that's a sufficient topic, then I'm changing to it. < 1205611910 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is tracert or whatever more reliable? < 1205611925 0 :pikhq!unknown@unknown.invalid TOPIC #esoteric :- From Brainfuck to extending tetration to the reals. | Logs: http://ircbrowse.com/cdates.html?channel=esoteric | Wiki: http://esolangs.org/wiki/ | The Esoteric File Archive: http://esolangs.org/files/ < 1205611926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I like our topic < 1205611928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's crazy < 1205611941 0 :pikhq!unknown@unknown.invalid TOPIC #esoteric :#esoteric - From Brainfuck to extending tetration to the reals. | Logs: http://ircbrowse.com/cdates.html?channel=esoteric | Wiki: http://esolangs.org/wiki/ | The Esoteric File Archive: http://esolangs.org/files/ < 1205611943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hmm, I'm going to implement your flattener and use it to write an infinite loop < 1205611944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205611950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(:^):^ -> [dup i] dup i < 1205611952 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205611954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i can do that manually < 1205611968 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Seems like this spammer just sent from their computer directly to Google's computer.. < 1205611979 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Received: from itlxx ([92.81.128.73]) < 1205611979 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : by mx.google.com with SMTP id g1si18349881muf.5.2008.03.15.03.37.47; < 1205611979 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : Sat, 15 Mar 2008 03:37:48 -0700 (PDT) < 1205611984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: there's actually a much better way to dei an i than I used in the flattener, that I thought up more recently < 1205611987 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :No Received:'s after that < 1205611989 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wrap i dei < 1205611989 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION curses at OpenVPN < 1205611995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dup dei swap drop dup swap dei i dei swap drop compose dup i < 1205612006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205612009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't wooooork < 1205612009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1205612011 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So did they just connect to mx.google.com or wahtever? < 1205612016 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wanna post a new spec so i can retest? < 1205612019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1205612048 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's the same, just with the rule for [i] changed to [i] => wrap i dei < 1205612061 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: how do you get arbitrary stuff inside brackets? < 1205612073 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, what is mx.google.com ? < 1205612075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: http://pastebin.ca/943140 < 1205612083 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: that's all the underload functions, sans S < 1205612086 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no good, pastebin is still fail for me < 1205612090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, that's all you NEED to get in brackets < 1205612097 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Main eXchange < 1205612098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and by 'coincidence' ;) that's all there is in the spec < 1205612104 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: MAIL exchange < 1205612108 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :named after MX DNS records, I assume < 1205612118 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :um, yeah, I meant to type Mail < 1205612134 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: http://rafb.net/p/e3X6O830.html is the same as what ehird just linked < 1205612140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I just repasted it elsewhere so you could see it < 1205612159 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So how does one connect directly to gmail's server? < 1205612211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Just how your mail client does it. < 1205612222 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hmm. How does that handle, e.g. [X [wrap]]? < 1205612224 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I think I meant server-to-server < 1205612225 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is, when the second isn't a word < 1205612228 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The same way, I'd bet < 1205612230 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Because I think that's what the spammer did < 1205612244 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it splits it into [X] http://en.wikipedia.org/wiki/Special:Search?go=Go&search=wrap compose < 1205612256 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :um, wow < 1205612260 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a whole url? < 1205612261 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1205612273 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: my client expands [[ ]] into links to Wikipedia < 1205612278 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is sometimes useful, and sometimes not useful < 1205612297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'll write it as (X) ((wrap)) compose to prevent that happening < 1205612410 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How do I get the mx record for gmail.com? < 1205612470 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehird@ehird-desktop:~$ echo '[dup i] dup i' | perl flatten.pl < 1205612472 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :runs forever < 1205612472 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1205612488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it goes into a huuuge compose chain < 1205612491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: maybe your order is wrong < 1205612499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[dup i] dup i < 1205612499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [] compose dup i < 1205612499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [] compose compose dup i < 1205612499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :.... < 1205612502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is how it goes < 1205612504 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: dig gmail.com MX < 1205612509 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :with the host command? oh < 1205612528 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: are you making sure that the [] splitter insists both halves are positive-length < 1205612536 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you may be accidentally using * rather than + < 1205612537 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :host is easier to read < 1205612541 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But I should learn the dig stuff < 1205612571 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastebin.ca/943984 < 1205612574 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :newest version of both scripts < 1205612635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you need capture parens around the $w in the [$w $w] rule < 1205612663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1205612684 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: now it thinks it should be: < 1205612685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[dup]]]]]]]]] [[[[[[[[[i] compose compose compose compose compose compose compose compose compose dup i < 1205612709 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you still haven't banned [ and ] in $w < 1205612715 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1205612741 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :why isn't it working? < 1205612749 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sgeo@ubuntu:~$ telnet gmail-smtp-in.l.google.com 25 < 1205612749 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Trying 72.14.205.27... < 1205612761 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Well now it converts < 1205612764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but runs in finite time < 1205612764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205612773 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what does it convert to? < 1205612773 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you didn't say HELO < 1205612779 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dup dei swap drop wrap i dei compose dup i < 1205612792 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sgeo@ubuntu:~$ telnet alt1.gmail-smtp-in.l.google.com 25 < 1205612792 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Trying 72.14.221.27... < 1205612792 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :HELO sgeo < 1205612792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that looks right to me? < 1205612795 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what goes wrong? < 1205612801 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so: < 1205612802 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dup [dup] swap drop wrap i [i] compose dup i < 1205612803 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(I don't have 5.10 installed over here) < 1205612806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so let's run through that < 1205612814 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] dup [dup] swap drop wrap i [i] compose dup i < 1205612818 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [] [dup] swap drop wrap i [i] compose dup i < 1205612819 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and how do I make sure the proper line endings are being used? < 1205612822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [dup] [] drop wrap i [i] compose dup i < 1205612826 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [dup] wrap i [i] compose dup i < 1205612830 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: dunno < 1205612830 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] http://en.wikipedia.org/wiki/Special:Search?go=Go&search=dup i [i] compose dup i < 1205612835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [dup] [i] compose dup i < 1205612842 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [dup i] dup i < 1205612850 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [dup i] [dup i] i < 1205612853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] [dup i] dup i < 1205612854 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so yes < 1205612856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it should work < 1205612860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it is minidei.pl's fault < 1205612868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :minidei stops at < 1205612869 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[] http://en.wikipedia.org/wiki/Special:Search?go=Go&search=dup i [i] compose dup i < 1205612874 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, i have a bug < 1205612900 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Think I got it < 1205612904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$q doesn't handle nested < 1205612910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Is (?:R) wrong? < 1205612913 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Does (?R) make a group? < 1205612930 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :waiiiit < 1205612932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i [i] compose < 1205612934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1205612936 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's what it sees < 1205612939 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm not too sure about the new recursion syntax < 1205612939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, I need to fix $q < 1205612947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :seeing as I can't use it over here, I never learnt it < 1205612949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sequence (?R...) not recognized in regex; marked by <-- HERE in m/\[((?:(?R <-- HERE )|[^ \[\]]+)*)\]/ at minidei.pl line 9. < 1205612955 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: (?:R) is just matching R. < 1205612956 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205612962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :This is perl, v5.8.8 built for i486-linux-gnu-thread-multi < 1205612962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1205612970 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: try (??{$q}) < 1205612974 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's ugly, but it works < 1205612999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sequence (??:...) not recognized in regex; marked by <-- HERE in m/(?:(??: <-- HERE {})|[^ \[\]]+)*/ at flatten.pl line 7, <> chunk 1. < 1205613000 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :darn < 1205613001 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1205613002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i will fix < 1205613024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now it dies at [] [dup i] dup i < 1205613036 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but.. < 1205613040 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's no reason for that to fail < 1205613042 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :other than.. < 1205613043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$q failing! < 1205613051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my $q = qr/\[((?:(??{$q})|[^ \[\]]+)*)\]/; < 1205613119 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sgeo@ubuntu:~$ telnet alt1.gmail-smtp-in.l.google.com 25 < 1205613119 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Trying 72.14.221.114... < 1205613119 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :HELO [24.191.104.202] < 1205613134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm yours is kinda b0rken < 1205613138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehird@ehird-desktop:~$ echo '[[[dup [i] dup]]]' | perl flatten.pl < 1205613138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[[dup [i] dup]]] < 1205613138 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[[dup wrap i dei dup]]] < 1205613139 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it stops there < 1205613144 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SO, in conclusion: < 1205613146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$q is broken. < 1205613158 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205613223 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Does (??{x}) make a group? < 1205613270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1205613307 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok, so it's not that < 1205613309 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: does $q allow spaces between items in a group? < 1205613315 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: HEY wait a second.. < 1205613319 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can't see where you explicitly allow them < 1205613332 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :qr// + (??{$me}) == ? < 1205613343 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it works < 1205613346 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've done it many times before < 1205613362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok minidei works now < 1205613363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BUTT < 1205613368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my $q = qr/(?:(??{$q})|[^\[\]]+)*/; < 1205613370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :doesn't work, for flatten < 1205613379 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe because of my missing out of \[\] < 1205613380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe I need +? < 1205613384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is '+?' < 1205613406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you want my $q = qr/(?:(??{$q}) *|[^ \[\]]+ *)*/ < 1205613420 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that you can have spaces between bracketed groups, and between words < 1205613426 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: If you look, it can < 1205613429 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, that's equivalent, ignore me < 1205613436 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't disallow spaces in the group any more < 1205613463 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I noticed, but for some reason thought it prevented you putting spaces between two [] groups. It doesn't though < 1205613480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and yes, you need [] around the (??{$q}) < 1205613496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my $q = qr/\[(?:(??{$q})|[^\[\]]+)*\]/; < 1205613501 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :isn't working < 1205613504 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not there < 1205613507 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :stops at: [[dup wrap i dei dup]] wrap < 1205613509 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and no < 1205613511 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's from minidei.pl < 1205613514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sans group < 1205613515 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :y $q = qr/(?:\[(??{$q})\]|[^\[\]]+)*/; < 1205613518 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, look < 1205613521 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mine works fine < 1205613523 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because I fixed $e too < 1205613526 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205613528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my $e = qr/$w|($q)/; < 1205613543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: aha < 1205613545 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's [a b c] < 1205613549 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. more than two elements < 1205613552 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because you just have $w $w < 1205613557 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, it never matches in the first place < 1205613562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I need: < 1205613564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205613564 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: one of them is meant to be able to match multiple elements < 1205613564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1205613570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i need to ignore the rest of the block thingy.. < 1205613581 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : s/\[$w $w\]/[$1] [$2] compose/ and redo; < 1205613583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's the problem < 1205613597 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so change the second one to ( $w)+ < 1205613619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: third one. actually. < 1205613623 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and * < 1205613642 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mean s/\[$w( $w)+\]/[$1] [$2] compose/ < 1205613647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although that has minor whitespace problems < 1205613649 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205613650 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :good point < 1205613660 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dup dei swap drop dup] compose compose] wrap < 1205613663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not so good point < 1205613665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I know a solution though.. < 1205613676 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : s/\[$w((?: $w)+)\]/[$1] [$2] compose/ and redo; < 1205613677 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205613679 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't work either < 1205613698 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wait... < 1205613709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(GROUP)+ is like ((?:GROUP)+) < 1205613710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1205613714 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe not < 1205613725 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the ((?:GROUP)+) is what I meant < 1205613756 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[dup wrap i dei dup]] wrap < 1205613756 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[dup] wrap i dei dup] compose] wrap < 1205613759 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is the broken transition < 1205613772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : s/\[$w((?: $w)+)\]/[$1] [$2 compose/ and redo; < 1205613773 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that works < 1205613774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205613781 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but is scary < 1205613784 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :WTF? < 1205613790 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: don't ask me.. < 1205613791 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how did the closing ] get into $2 < 1205613795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and i don't know. < 1205613802 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: are you banning ] in $w? < 1205613806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205613808 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's the only explanation < 1205613809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1205613811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$w has a group < 1205613829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205613830 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :still no luck < 1205613837 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: paste what you have so far? < 1205613871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1205613871 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :doing so < 1205613881 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/944013 < 1205613884 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :commented out version doesn't work < 1205613895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'll paste the new minidei.pl once flatten.pl works < 1205613967 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also, yours can't dei-ify [] < 1205613972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-- which will be very hard indeed < 1205613984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: deify [dup drop] < 1205613990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which means exactly the same thing < 1205613995 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i guess so < 1205614032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: 'nother bug < 1205614034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehird@ehird-desktop:~$ echo '[dei i]' | perl flatten.pl < 1205614034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[dei i] < 1205614034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[dei] i compose < 1205614066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :another one < 1205614067 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[i i i i i i i i i i i] < 1205614068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[i] i i i i i i i i i i compose < 1205614068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wrap i dei i i i i i i i i i i compose < 1205614099 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the flattener wasn't designed to handle dei < 1205614119 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the square-brackets quickfix obviously didn't work, we'll have to find out what the problem actually was < 1205614174 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: was it not? okay :P < 1205614185 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but [i i i i i ii i ] is definately broken < 1205614230 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1205614241 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I'm pretty sure it's for the same reason as the square-bracket mismatch is < 1205614269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1205614383 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'm truly not sure < 1205614466 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the [$w $w] rule isn't allowing nested []s < 1205614471 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it needs to for the flattener to work < 1205614482 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that doesn't sort out the [i i i i i i i i] problem < 1205614615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so.. $e $e < 1205614643 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and, it does solve the i i i i i problem < 1205614649 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :albeit wrongly < 1205614651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it does: wrap i dei [] compose < 1205614663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[i i i i i i i i i i i] < 1205614663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[i] [] compose < 1205614703 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[i i i i i i i i i i i] < 1205614703 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[i] [] compose < 1205614703 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so < 1205614707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it isn't being captured right < 1205614773 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :personally, I never put capture brackets in the qr// quotes, because it makes things too confusing to follow on occasion < 1205614841 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : s/\[\[((?: ?$e)*)\]\]/[$1] wrap/ and redo; < 1205614844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :new wrap rule < 1205615081 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION blinks at the existance http://museum/ < 1205615086 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*existence of < 1205615128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: congrats, you discovered firefox's auto search < 1205615131 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :welcome to 2003 < 1205615137 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, um, that's not autosearch < 1205615140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: that's a bad URL, so it's either autosearch or a local DNS entry < 1205615147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes it is < 1205615156 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ais523, are you saying that you didn't try it? < 1205615159 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are some local DNS entries at my university which can only be accessed from there and have invalid URLs < 1205615161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try this < 1205615163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://gogle/ < 1205615166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-> google.com < 1205615172 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I did, I just get 'Unknown host' < 1205615176 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes -- gogle < 1205615178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not google < 1205615179 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ergo. < 1205615194 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I said http://museum/ not anything else < 1205615198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah, wait, no < 1205615203 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: firefox sees http://foo < 1205615207 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and turns it into http://www.foo.com < 1205615212 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :BRB < 1205615243 0 :tejeez!unknown@unknown.invalid PRIVMSG #esoteric :museum actually points to 195.7.77.17 < 1205615257 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :back < 1205615276 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :what tejeez said < 1205615288 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird, try it in links2 or something < 1205615314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: fails for me in both Konqueror and w3m < 1205615323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ehird@ehird-desktop:~$ ping museum < 1205615323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ping: unknown host museum < 1205615325 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :end of discussion < 1205615329 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe it's one of the national DNSes? < 1205615337 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sgeo@ubuntu:~$ ping museum < 1205615338 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :PING museum (195.7.77.17) 56(84) bytes of data. < 1205615339 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: museum is a tld < 1205615345 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: uhh, what does the page say < 1205615348 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ISTR one of them allows people to register invalid URLs < 1205615352 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and will resolve them < 1205615387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's cool < 1205615405 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :can't remember which one, though, and the resulting URLs aren't portable to other DNSes < 1205615414 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can only access them in a limited geographical region < 1205615443 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :`dig @4.2.2.1 museum` < 1205615446 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Note the A record < 1205615462 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: if there isn't an AAAA record it'll become obsolete soon < 1205615479 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205615485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I am going to piss someone off: < 1205615491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Brian D Foy. Brian D Foy. Brian D Foy. Brian D Foy. Brian D Foy. < 1205615494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mwahahaha < 1205615495 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ais523, why doesn't google have an AAAA record? < 1205615497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you cannot silence me, Brian D Foy! < 1205615507 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: ipv6.google.com does < 1205615510 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: ipv6.gooogle.com < 1205615512 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205615515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: they said that in 1995 < 1205615517 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they put it up recently < 1205615533 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So, A will become obsolete when IPv4 does? < 1205615538 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION won't hold his breath < 1205615540 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I meant, 'obsolete soon' < 1205615545 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And for one -- Sgeo is totally right. < 1205615547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*once < 1205615550 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1205615581 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there is probably people in here younger than ipv6 < 1205615582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1205615599 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and since ipv4 was going to be 'obsolete soon' as soon as ipv6 was discussed... < 1205615609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :.. we've been waiting a long time :p < 1205615613 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :more than DNF < 1205615615 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if http://museum./ works better < 1205615631 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :compared to ipv6 arc was quite zippy < 1205615631 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: IETF went and turned off IPv4 access from their conference to see what would happen < 1205615638 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i know < 1205615644 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that means nothing < 1205615648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there? < 1205615651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that just means the ietf are fooling themselvse about ipv6 < 1205615660 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it means that ipv6 is becoming usable < 1205615666 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's the default on Vista, by the way < 1205615667 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I got a question: wtf should 4kt do in concurrent funge < 1205615669 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes people to try museum. instead of museum < 1205615677 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : I had to tell it to actually look at museum. < 1205615684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, because I think k + t will break *horribly* here < 1205615692 0 :tejeez!unknown@unknown.invalid PRIVMSG #esoteric :or about.museum < 1205615697 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: spawns 4 threads which all start execution at k < 1205615699 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or? < 1205615713 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :tejeez, about.museum doesn't have the same kind of "that's ALLOWED?" as museum or museum. < 1205615719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes they will all follow the same path? right? < 1205615727 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: have you seen this: http://www.livejournal.com/doc/server/bml.index.html? < 1205615730 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's horribly 1996 < 1205615733 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: aye, since they're all just reversed from the original < 1205615737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :w3m works for http://museum./ for me < 1205615741 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I suspect order may get messed up heh < 1205615757 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ie, thinks *will* break here for that < 1205615757 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1205615764 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: look at the examples < 1205615780 0 :tejeez!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yeah, but it shows if the used dns server allows .museum domains < 1205615782 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: why's that? all are just prepended < 1205615785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205615791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: they tried to make it look more modern < 1205615791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try: http://bradfitz.com/bml/ < 1205615796 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :tejeez, shouldn't they all allow it? < 1205615804 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, appended to end in fact, and traversed backwards < 1205615815 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: same difference < 1205615822 0 :tejeez!unknown@unknown.invalid PRIVMSG #esoteric :i don't know < 1205615826 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'll test both models to see what one is fastest at mycology :) < 1205615838 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: appending to end is faster < 1205615849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yep, that's what will happen first time < 1205615852 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: one of the gems: 'H1=>{D}

%DATA%' < 1205615864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but if original IP spawns again... then it would be slower < 1205615880 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it looks like obfuscated HTML < 1205615881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie if all splits happen from main thread, or if all happens from each new child < 1205615898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, that is html < 1205615901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: with template crap around it < 1205615921 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :MediaWiki markup probably does much the same thing and looks much better than that < 1205615923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh another thing, should the thread ID reported by y stay unique? as in, should it just be index into thread array, or some soft of unique index? < 1205615927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the html is also amusingly 1996 < 1205615932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it was developed for livejournal < 1205615935 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :& lj still uses it. < 1205615935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that persists during the entire program < 1205615945 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: in fact, the architechture of lj is very simple.. < 1205615951 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: there are lots of perl files < 1205615952 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: wouldn't that been it was full of tags, frames, and weird JavaScript designed to look flashy? < 1205615956 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/been/mean/ < 1205615957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but the actual webpages are php-style bml < 1205615961 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: with embedded perl < 1205615965 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not sure, it might have mattered for some fingerprint or something < 1205615970 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the site may look modern nowadays < 1205615972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it's just a skin.. < 1205615982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes but what one do CCBI do? standard doesn't say anything about it < 1205616002 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think with CCBI they're 64-bit and unique... but I'm not sure < 1205616029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh, and the livejournal software requires ROOT ACCESS to set up < 1205616033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's almost as fiddly as slashcode < 1205616038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, err, 64-bit? I thought data typed used was 32-bit, so if you spawned 2^31 you would get issues? < 1205616045 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why? < 1205616053 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you know I have no idea < 1205616055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but it does, officially < 1205616059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, as y couldn't return it in a single data cell < 1205616073 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: beats me, okay? look at the source. :-P < 1205616084 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, heh ok < 1205616095 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's really crazy < 1205616129 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://code.sixapart.com/trac/livejournal/browser/trunk < 1205616136 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw what does ! mean in D? as in new Stack!(Semantics); < 1205616143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there is a directory named 't' < 1205616143 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205616149 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Stack!(foo) -> Stack < 1205616150 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in C++ < 1205616151 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's generics < 1205616154 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or teamplates < 1205616156 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh I see < 1205616157 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or whatever you wish to call em < 1205616172 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I've used generics in C# yes so I know what they are < 1205616186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just used foo syntax there < 1205616194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: whoaaa.... livejournal uses INLINE C! < 1205616195 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://code.sixapart.com/trac/livejournal/browser/trunk/src/utf8.pl < 1205616221 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: C's a compiled language usually, so I'm not sure if that even makes sense < 1205616249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Inline::C < 1205616254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it compiles it out from a string < 1205616256 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :very popular.. < 1205616260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm suprised you don't know of it < 1205616263 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's very useful < 1205616269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but ... yeah. in a blog software?! < 1205616285 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 's mouse just came apart < 1205616305 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw, heres the big glob of bml http://code.sixapart.com/trac/livejournal/browser/trunk/htdocs < 1205616305 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I've snapped it back together; the battery cover keeps coming off < 1205616305 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, wait, does it compile it once in a temp dir or what? < 1205616306 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: pretty much < 1205616308 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's clever < 1205616309 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ie, how does it work, does it fork() to run the code? < 1205616316 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://search.cpan.org/~ingy/Inline-0.44/C/C.pod < 1205616322 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1205616323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's clever < 1205616324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://search.cpan.org/~ingy/Inline-0.44/C/C.pod < 1205616325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I can't read perl :( < 1205616367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's documentation < 1205616368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1205616376 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1205616378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(And now on People Who Comment Before Clicking Links..) < 1205616394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I clicked, but dns server is slow today < 1205616402 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it's still loading < 1205616412 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :[22:24:04] ehird, I can't read perl :( < 1205616412 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :[22:24:46] AnMaster: that's documentation < 1205616415 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :quotelicious :D < 1205616437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205616443 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: that'll be on the qdb :p < 1205616753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: umm, crap, i'm starting to want to code stuff in perl < 1205616757 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: WTF did you do to me < 1205616774 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: maybe that should be in the qdb too < 1205616785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ironically the thing i'm wanting to code in perl is the qdb. < 1205616786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1205616802 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Perl is good for some things, bad for others < 1205616818 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's my first choice for anything rewriting-related, unless Thutu would be a resonable choice < 1205616831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: of course, i'm not being silly and reusing perl webdev stuff < 1205616833 0 :RedDak!n=dak@host13-80-dynamic.20-87-r.retail.telecomitalia.it JOIN :#esoteric < 1205616843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the most i'll use is CGI/CGI::Fast and some DB stuff < 1205616843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1205616847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh, and a template engine < 1205616852 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is it just me, or is the Internet rather centralized? < 1205616858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: just you. < 1205616879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, does perl have anything built on DBI so i don't have to use SQL? < 1205616880 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I mean, there are root servers, and there also has to be some organization assigning IP addresses at the top < 1205616883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :python has stuff like: < 1205616891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :db.select("users", name="foo") < 1205616901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you get a hash back < 1205616912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's also ORMs but i'm not sure about any of perl's oo systems < 1205616946 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't IANA basically control IP addresses and domain names? < 1205617163 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :boo < 1205617168 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205617397 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION stabs his code < 1205617409 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :infinite fork < 1205617413 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for unknown reason < 1205617467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: within the program, or did you just forkbomb your computer? < 1205617480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, within the interpreter < 1205617483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just ttttttttttttttttttttt < 1205617485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like that < 1205617487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on mycology < 1205617489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION debugs < 1205617680 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: eso-std.org should use shell scripts. < 1205617688 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :durable! ;) < 1205617698 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh god... cgi.sh library :D < 1205617725 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :forces your script to take parameters like ?a;b;c because sh doesn't have hashes :) < 1205617796 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not that surprising, really < 1205617802 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although they could emulate them < 1205617817 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anything that has eval and allows arbitrary variable names that can escape the eval can emulate hashes ;) < 1205617885 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i meant, it would be hilarious to have a module like that < 1205617891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and yeah < 1205617894 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, you mean it doesn't exist yet? < 1205617896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :using md5?! :D < 1205617904 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :stores in $GET__sdfs98dfu98su4knjfd < 1205617920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :usage: $(hash GET foo) < 1205617921 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205617937 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: hashing using an actual cryptographic hash function strikes me as a neat mix of concepts < 1205617948 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :header () { echo -n "$1: $2\r\n" } < 1205617950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: quite < 1205617961 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the reason i said it is because you can trivially get an md5 from the shell < 1205617978 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why not just header () { echo "$1: $2\r" } < 1205617986 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that saves the need to use -n, which is nonportable < 1205617994 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: true < 1205618007 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i need to write cgi.sh now < 1205618008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205618042 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: your projects seem to require writing other projects in order to be able to start < 1205618055 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would be nice to get something up and running on eso-std.org sometime soon < 1205618063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a pastebin would have been useful, for instance < 1205618072 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :uh, i love java, reading a file to a string is like 6 lines <3 < 1205618080 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: indeed < 1205618090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, the pastebin is going to be Really Advanced(TM) ;) < 1205618093 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And I like reinventing the wheel. < 1205618103 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :However, hopefully i only need to get the wheel right *once*. :p < 1205618121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :md5 () { echo "$1" | md5sum | sed 's/ .*//' } < 1205618171 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that won't distinguish between $1=--help and $1=the help text for GNU echo, if that's what's being used < 1205618204 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: huh? < 1205618210 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :md5sum outputs: "sum -" < 1205618219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$ echo "foo" | md5sum < 1205618219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :d3b07384d113edec49eaa6238ad5ff00 - < 1205618225 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mean they're the same text, so they'll hash to the same thing < 1205618244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: show me what you mean < 1205618244 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not that this matters at all, but echo "x$1" would avoid that problem < 1205618250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'--help' is not equal to 'the help text' < 1205618255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1205618255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i see < 1205618260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: better fix: < 1205618262 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :echo -- "$1" < 1205618269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but ... everyone uses the shell builtin < 1205618271 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mean seriously :) < 1205618281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :echo will actually echo -- if you give it as an argument < 1205618287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh jeez < 1205618317 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION seems to remember a system (was it SunOS?) on which echo was deprecated in favour of printf < 1205618337 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1205618358 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe because it's command-line parameter processing was so inconsistent < 1205618362 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/it's/its/ < 1205618402 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: case/esac is portable, rihgt? < 1205618406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think so < 1205618412 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's in POSIX sh IIRC < 1205618428 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after all, nobody would use that syntax otherwise ;-) < 1205618534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : _hash_"$1"_$(md5 "$2")="$3" < 1205618536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's my 'set' < 1205618536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205618550 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why do you keep putting $1, etc., in double quotes? < 1205618552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I broke it so hard when adding concurrency it even fails mycology/sanity.bf when compiling with -DCONCURRENT_FUNGE *debugs* < 1205618556 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm. good point < 1205618557 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :paranoia :| < 1205618562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i keep thinking about it in terms of rewrites < 1205618571 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, XD < 1205618572 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because if they contain embedded spaces you're going to be in trouble anyway < 1205618577 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: :-) < 1205618596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I got no clue why it only prints sanity up to 7 atm < 1205618699 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm i actually need no hashtable initialization < 1205618709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: since it's purely virtual and there is no 'hashtable object' < 1205618710 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :coool < 1205618837 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : eval "echo \$"$(echo _hash_$2_$(cgi_md5 "$3")) < 1205618840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure that could be prettier < 1205618885 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : eval "echo $"_hash_$2_$(cgi_md5 "$3") < 1205618888 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's the nicest i can get it < 1205618911 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :...why am I wasting my time on this? < 1205618924 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION asked you that a while ago < 1205619141 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wwwwwwwwwwwwwwwwwwwwwwwwtf < 1205619149 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what < 1205619163 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'm adding concurrency to cfunge < 1205619166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have some problems < 1205619235 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in unrelated parts < 1205619237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1205619273 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: your problem is clearly insufficient setjmp < 1205619288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, harhar < 1205619293 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because C-INTERCAL's threading works fine, at least on the programs that people have managed to think up so far < 1205619325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :really, it seems I get some memory corruption somewhere or something, because something totally unrelated breaks < 1205619334 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, funge-space < 1205619338 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although half the times I think up a new and unusual way to use it it segfaults, normally in a way that left me wondering why it worked on everything else because I'd made an obvious typo < 1205619343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not changed, yet it breaks by concurrency < 1205619354 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and well. it isn't actually threading after all < 1205619364 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just looping instruction pointers < 1205619372 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :likewise on C-INTERCAL < 1205619374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's not looked I threaded the interpreter itself < 1205619385 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that has several complications the way I've done it < 1205619394 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because a simple straightforward INTERCAL interpreter is no fun < 1205619404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it even breaks on single threads now :/ < 1205619416 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what about 0 or a negative number of threads? < 1205619426 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, current IP = 0 < 1205619434 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I checked that < 1205619442 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that bit works, the issue is elsewhere < 1205619620 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1205619790 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so as it turns out trying to glue peices of software together to make a semi-framework isn't pretty < 1205619798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and actually using stuff is pretty < 1205619801 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how suprising < 1205620221 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm shocked that nobody else is suprised. < 1205620242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, huh? < 1205620269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was afk < 1205620443 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: :) < 1205620463 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what about it? < 1205620467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION lacks context < 1205620650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders the irony of having a stack allocated on the heap < 1205620868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh found it, I referenced once too many times < 1205620979 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1205621078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, wow, this is pretty < 1205621092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Assuming that instructions without any particular concurrency-related behaviour, such as ^>v<#, take one tick. < 1205621092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Will continue to produce textual output, so strings must work correctly where concurrency is concerned: "a b" should take 5 ticks, 'a should take 1. < 1205621092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :GGGGGGOGOGOGOGOGOGOOGOOGOOGOOGOOGOODGOODGOODGOODGOODGOODGO:ODGO:ODGO:ODGO:ODGO < 1205621101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that's good I assume? :D < 1205621102 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1205621241 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BABABABDBDBABABBDBBABBDBABDDD < 1205621343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, found it, ip didn't move correctly after split < 1205621351 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it split and split and split and so on < 1205621365 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :one thread stayed on t spawning new threads all the time < 1205621366 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205621389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge: /home/arvid/src/cfunge08/src/stack.c:89: StackPush: Assertion `stack != ((void *)0)' failed. < 1205621393 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks < 1205621431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1205621447 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it goes on to execute after thread finished :/ < 1205621480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how come perl manages to all look the same < 1205621488 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :especially when all I've learnt about it I've learnt from your pastes <.< < 1205621498 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :low barrier to entry i guess < 1205621518 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: because people are so unused to seeing anything that looks like perl, except maybe shell-script < 1205621546 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's like seeing people from a culture you aren't used to; they're all so different from you in terms of appearance, you find them hard to find apart whereas they can tell themselves apart quite easily < 1205621580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, now you are just being weird :P < 1205621586 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :about all perl alike < 1205621592 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm no racist, but all Malbolge programs look alike to me < 1205621596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I've seen readable perl < 1205621607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but indeed most perl looks like line noise < 1205621610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well hey, a quote management system as my second perl app may be... a little ambitious < 1205621623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, to it in python < 1205621628 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or C < 1205621642 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, or do it in perl but use Inline::C < 1205621645 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs < 1205621667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I was doing it in python, the first two times < 1205621677 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :First with a DIY framework, then with Spyce < 1205621680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that failed? < 1205621687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I was going to try Pylons, web.py &co but cba because I don't like frameworks like that < 1205621690 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You betcha < 1205621692 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, try twisted? < 1205621702 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Can I say 'please die in a fire' here? :< < 1205621709 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I never used it < 1205621712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :twisted for a web app is the most awful idea i've heard of < 1205621712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ever < 1205621727 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I thought there was twisted HTTP or something? < 1205621738 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or is twisted for writing http servers? < 1205621798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ? < 1205621816 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, look try php or python < 1205621827 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or just use an existing software < 1205621886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: php heh < 1205621896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and I just told you I tried Python *twice* < 1205621906 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and twisted.web does exist, but eek. < 1205621914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and using an existing software is so not cool ;) < 1205621954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, "PTTH"4( < 1205621990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is that a fingerprint? I thought it was SOCK < 1205622015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not an existing one no < 1205622025 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, SOCK does exist < 1205622040 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but why not an HTTP server framework for befunge? < 1205622070 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why not indeed < 1205622082 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there was a CGI script written in INTERCAL, after all < 1205622088 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if it's still online < 1205622098 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, some nice ideas btw: BOOP = Befunge Object Object Orientated Programming Extension < 1205622106 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what do you think? < 1205622118 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: interesting < 1205622122 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, no idea how < 1205622192 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Hmm, why is OOP in perl ugly as hell < 1205622196 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sooo much boilerplate < 1205622203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I don't like Perl OOP either < 1205622220 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Though this looks interesting < 1205622221 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://search.cpan.org/~stevan/Moose-0.40/lib/Moose.pm < 1205622237 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://www.muppetlabs.com/~breadbox/intercal/ins/insstart.html < 1205622340 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: when I saw the intercal spec < 1205622347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was so extensive that i thought it would be pretty substantial < 1205622349 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if esoteric < 1205622356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it really has very little stuff.. < 1205622358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just fancy syntax. < 1205622364 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: have you seen my improved spec? < 1205622372 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :It's linked from http://intercal.freeshell.org < 1205622382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :support for things like multithreading, operand overloading, and so on < 1205622391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :CLC-INTERCAL, linked from the same site, has even more < 1205622403 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :its spec is simply a delta from INTERCAL-72 and yet still fills several pages < 1205622481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL has come along a long way from the old days < 1205622493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(I challenge anyone to understand WHILE at the first attempt, for instance) < 1205622752 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yarg, that INTERCAL CGI script stores information in the /names/ of elements < 1205622765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :

< 1205622834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'use RatsAss;' is a vaguely disturbing line < 1205622839 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, but even the basic stuff < 1205623003 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ahh, how i love the fact that html 4.01 lets me omit / and other cruft < 1205623026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hello... < 1205623071 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: there are two schools of thought about HTML < 1205623084 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :one goes on to create XHTML, where a single typo blanks your page < 1205623090 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the other goes on to create HTML 5 < 1205623106 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which has a DOCTYPE line of < 1205623116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is it ! or ?, actually, I can never remember < 1205623125 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it is way easier to code an XHTML interpreter than a HTML one < 1205623133 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the point is it's the minimum number of characters needed to trip browser's compliance switches < 1205623134 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because XHTML is more strict < 1205623144 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I actually favour XHTML over HTML < 1205623149 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, good < 1205623182 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not really < 1205623187 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :xhtml is step in the wrong direction < 1205623190 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, it's more formal -- good < 1205623194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it retains *cruft* < 1205623201 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :see, ehird, you belong to the /other/ school of thought < 1205623209 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I used to be an XHTML weenie. < 1205623211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :XHTML 1.1, even. < 1205623217 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, how was http://intercal.freeshell.org/ick-0.27/index.htm generated I wonder < 1205623225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seems familiar < 1205623229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :INFO style? < 1205623229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: texinfo < 1205623229 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: texinfo < 1205623232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1205623239 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but with custom modifications < 1205623244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(also, you SHOULD serve xhtml as application/xml+xhtml, but IE dies on this) < 1205623244 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :try hovering the URLs, for instance < 1205623250 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're 8.3 format for DOS-compatibility < 1205623254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yeah doesn't look that the ones on gnu.org < 1205623262 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I'm using my own stylesheet < 1205623275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, weird names yes < 1205623277 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, there's some custom hacking of the TOC and some of the headings < 1205623281 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you made C-INTERCAL? < 1205623286 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1205623290 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I'm the current maintainer < 1205623293 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1205623303 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what is the weird filenames for < 1205623305 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, why < 1205623329 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for DOS compatibility, of course < 1205623342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ok.... why DOS compatibility? < 1205623349 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why on earth would anyone care about that? < 1205623357 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: c-intercal supports DOS. < 1205623360 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because INTERCAL is compatible with a whole load of outdated technologies < 1205623367 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DJGPP is one of the maintained targets for C-INTERCAL < 1205623376 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which (apart from cygwin) is the only way to run it on Windows < 1205623382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I know at least one person who uses dos as his main system < 1205623388 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :know in a loose sense - internetknow < 1205623394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh and what is the difference between CLC-INTERCAL and C-INTERCAL < 1205623401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what one is the "newest" < 1205623407 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they're two different implementations < 1205623410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :CLC-INTERCAL is newer < 1205623416 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in terms of when it was created < 1205623422 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but they're both actively maintained < 1205623424 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: uuurgh, I want a StrictWarningsIronFist < 1205623430 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :give it a package, it makes them all strict&warnings < 1205623435 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, who maintains CLC then? < 1205623435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so i don't have to type it all the goddamn time < 1205623471 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Claudio Calvelli < 1205623482 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, -Wall -ansi -pedantic -Wextra -Werror < 1205623483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205623495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not here in this channel? < 1205623501 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not right now < 1205623507 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also are CLC and your one compatible? < 1205623509 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think I've ever seen him here < 1205623514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: to some extent < 1205623519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm? < 1205623521 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :each has features the other doesn't implement < 1205623532 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the ones that are implemented in both are mostly compatible < 1205623535 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is CLC an abbreviation for his name? < 1205623538 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the C-INTERCAL manual has a portability list < 1205623541 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: not sure, but probably < 1205623567 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I comment on what each of the common commands does in each implementation < 1205623594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there were two INTERCAL-72 implementations that used different syntaxes (the Princeton and Atari implementations) < 1205623602 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then C-INTERCAL, J-INTERCAL and CLC-INTERCAL < 1205623619 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :J-INTERCAL hasn't been updated in a while, and is just INTERCAL-72+COME FROM by label < 1205623620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :

Software error:

< 1205623620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
Quot.pm did not return a true value at index.cgi line 10.
< 1205623626 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I have to put a true value at the end of my module? :|
< 1205623627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hah
< 1205623655 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes
< 1205623661 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a Perl module traditionally ends 1;
< 1205623676 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, I find the fact that I have to put @EXPORT etc in BEGIN disturbing
< 1205623792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BEGIN {
< 1205623792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :  use vars(@EXPORT);
< 1205623792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :  @EXPORT = qw(quot);
< 1205623792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :}
< 1205623797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :faaar too verbose :D
< 1205623862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err
< 1205623878 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :add a qw in there
< 1205625051 0 :sebbu2!unknown@unknown.invalid NICK :sebbu