< 1292716851 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: I'm more interested in "more formal" programming at this point than outright proofs, since I don't think those are practical at this point. < 1292716858 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :basically Haskell's type system is insufficiently fancy :P < 1292716958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: what do you think of automatic differentiation? < 1292716973 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Can we make a computer proof system based on Typographical Number Theory? < 1292717102 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I don't think so < 1292717196 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: looks good < 1292717233 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :What's the missing essential thing? < 1292717245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://blog.sigfpe.com/2005/07/automatic-differentiation.html <-- i read this a while ago < 1292717360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but I can't figure out what the formula for addition is :( < 1292717391 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :(a+a'd)*(b+b'd) = ab+(ab'+a'b)d ? < 1292717405 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :oh that's multiplication < 1292717417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: yeah :P < 1292717433 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :if it's a ring then (a+a'd)+(b+b'd)=(a+b)+(a'+b')d < 1292717442 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll try it out < 1292717469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm st is the standard name for standard-part < 1292717474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but what's the standard name for infinitesimal-part? < 1292717478 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in non-standard analysis < 1292717479 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is there one? < 1292717497 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: look here wikipedia gives an implementation in terms of 2x2 matrices http://en.wikipedia.org/wiki/Dual_numbers < 1292717518 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1292717761 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Reboot < 1292717765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: it works! < 1292717820 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :cool, what does it do? < 1292717825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: http://hpaste.org/42405/automatic_differentiation < 1292717833 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: it can calculate the derivative of x^2 :P < 1292717842 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: needs abs and signum, and more numeric type instances, to be useful < 1292717846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: but both (sq' 5) and (sq' 1.5) work < 1292717848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and rationals should too < 1292717877 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: for my next trick: implement symbolic numbers (a numeric type, plus names like "x"), do "Dual (Symbolic t)", and get symbolic differentiation out of it (this apparently actually works!) < 1292717968 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :impressive < 1292718017 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Japanese pizza continues to disturbe me. < 1292718021 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :THE MAYO! THE MAYO! < 1292718100 0 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1292718121 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: i guess symbolic differentiation is what happens when you don't think to compute :) < 1292718163 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1292718196 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Automatic differentiation? Niceness. < 1292718209 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> x+y+3 < 1292718209 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((x) + (y)) + (3) < 1292718212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :good enough :P < 1292718231 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1292718237 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though perhaps limited in use. I mean, one can just do it numerically for most relevant cases. :P < 1292718268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> sq' x < 1292718268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((x) * (1)) + ((1) * (x)) < 1292718270 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :it's no fun writing a program that omits brackets < 1292718273 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: Okay, so it's ugly, but CHECK THAT SHIT OUT. < 1292718283 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I did /not/ change the differentiation code at all. < 1292718288 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I just called it with a new numeric type. < 1292718309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :All it needs is a symbolic simplification function and it's an actual symbolic differentiator. < 1292718313 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: why does it seem like you get something for nothing? < 1292718337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: I'm not sure ... I think it's because duals are basically infinitesimals < 1292718353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just implemented in the same way as Q is implemented on top of Z, or C on top of R < 1292718365 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: the thing is, this differentiation is *precise*, and has no more overhead or complexity than using, say, complex numbers < 1292718375 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(of course there is overhead when using the symbolic types, but this does precise numeric differentiation too!) < 1292718384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1292718444 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Very very nice. < 1292718448 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what happens if you dualize dual numbers? < 1292718475 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ill try in a minute < 1292718801 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: BTW, that is totally awesome. Really truely awesome. < 1292718804 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :God I love mathematics. < 1292718861 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I want to do my matrix math in Haskell < 1292718914 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Remote host closed the connection < 1292719069 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :matrix math in Haskell < 1292719072 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1292719100 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Did you write a program for matrix math in Haskell? < 1292719837 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Would you like to TeXnicard contest? < 1292719954 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: I did not < 1292719985 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Did you find someone else's program to make matrix math in Haskell? < 1292720113 0 :sebbu!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1292720127 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: no < 1292720140 0 :sebbu!~sebbu@ADijon-152-1-46-37.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1292720441 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :<[:]ra+s2s1[Al1rl2xY]xD> < 1292720746 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :What do you think might be the best way to implement the "English" feature of TeXnicard? (It is the feature to change word forms and change numbers to words, and it is meant to work also with languages other than English, too.) < 1292720792 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: i think it does nothing, just like complicating (technical term!) complex numbers < 1292720842 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: (a+a'd)+(b+b'd)d [ < 1292720844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1292720849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: (a+a'd)+(b+b'd)d = ...simplify it yourself i'm too lazy to :P < 1292720994 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> sq' x < 1292720994 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(x + x) < 1292720997 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :does more simplifications now < 1292721039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: another advantage of this method -- < 1292721046 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: numeric differentiation of a function f requires 2 calls to f < 1292721056 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :How do you represent "b is a power of ten" in TNT? < 1292721058 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: automatic differentiation of a function f is not only more precise, but only requires 1 call < 1292721065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: (to f extended to the duals) < 1292721079 0 :Mathnerd314!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1292721088 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: so if f takes seven hours to compute (don't laugh -- automatic differentiation is used to differentiate whole physics simulations!), automatic differentiation is *much* faster! < 1292721140 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :couldn't you make it data Dual t = Dual t (Dual t) to get all the nth-derivatives too? < 1292721157 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: you could also do that just by iterating deriv :P < 1292721164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deriv :: (Num t) => (Dual t -> Dual t) -> (t -> t) < 1292721165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deriv f x = nf (f (Dual x 1)) < 1292721175 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, sort of < 1292721177 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :chop off the nf part < 1292721182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nf :: Dual t -> t < 1292721182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nf (Dual _ x') = x' < 1292721197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm or maybe not < 1292721209 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm i think you can do it with normal dual < 1292721221 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: since Dual t (Dual t) ~ Dual (Dual t) (Dual t), with the first one being (Dual n 0) < 1292721227 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: and Dual t already includes Dual (Dual t) < 1292721238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: what would the argument look like for "Dual t (Dual t)"? < 1292721241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deriv f x = nf (f (Dual x 1)) < 1292721244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :would it be < 1292721250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deriv2 f x = nf (f (Dual x (Dual 0 1)))? < 1292721253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :having trouble visualising it < 1292721312 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1292721317 0 :zzo38!unknown@unknown.invalid QUIT :Quit: Do not write below this line. Place stamp here. You must be present to win. No purchase necessary. < 1292721359 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hey j-invariant what would the second argument be :P < 1292721370 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :to what? < 1292721392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: given data Dual2 t = Dual2 t (Dual2 t) < 1292721402 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: what's the equivalent of "deriv f x = nf (f (Dual x 1))" but to do a second derivative < 1292721408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nf just accesses the second field btw < 1292721409 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :oh this is the full taylor series? < 1292721419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deriv2 f x = nf2 (f (Dual2 x (Dual2 0 1)))? < 1292721422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'm really not sure < 1292721422 0 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1292721425 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or is it (Dual2 1 1) there? < 1292721431 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Hay! I told you not to write below this line! < 1292721432 0 :zzo38!unknown@unknown.invalid PART #esoteric :? < 1292721438 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I VIOLATE YOUR RULES < 1292721451 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :the second argument would probably still just be '1', relying on polymorphism to create the right Dual version of 1 < 1292721481 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that would turn out to be (Dual 1 0) < 1292721485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for a second derivative < 1292721489 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: erm or first < 1292721493 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: but what would a second be? < 1292721496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you've really confused me dude :D < 1292721512 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, down? < 1292721520 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Nah, just laggy < 1292721534 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I mean it's Dual2 f (Dual2 f' (Dual2 f'' (Dual2 f''' ...)))? < 1292721545 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1292721549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: wow would that actually work? < 1292721558 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I think the only difference might be in the use of the nf function, let's say you make it nf 0 (Dual2 x _) = x; nf n (Dual2 _ x') = nf (n-1) x' < 1292721561 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: except, the problem here is that f is a function not a number to start with :P < 1292721563 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I thought that's what you were going for < 1292721573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: that sounds cool, but actually I am just trying to do second derivative :-) < 1292721575 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f''(x) < 1292721586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f'(x) = nf f(x + 1d) < 1292721588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f''(x) = ? < 1292721627 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, very much down I think < 1292721630 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I timed out < 1292721632 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :(that is, nf n is the nth-derivative, with n=0 being the value itself) < 1292721655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: heh < 1292721680 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Now I did too < 1292721685 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Shockingly, if I force myself not to IRC, I'll find something else to do < 1292721691 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION glares at the Braid demo menacingly < 1292721708 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Oh well, I've had enough for today anyway < 1292721710 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :ACTION <3 Braid so much that he can't play it < 1292721711 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyways, going to try going back on my meds tomorrow < 1292721717 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://p.zem.fi/ovya -- that just makes no sense at all, zlib uncompress() and java.util.zip.Inflate are supposed to do the same thing, as far as I can determine. < 1292721722 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, up < 1292721723 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Today, I'll still try to do something < 1292721727 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and I will hand you the resource < 1292721734 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Fine < 1292721743 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314, as in, don't trust yourself to quit? < 1292721751 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Slow to log in still... < 1292721778 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: no, I watched a playthrough online, in such excruciating detail that there's no point in playing it < 1292721785 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :still sending me chunks, slowly < 1292721795 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :data Dual2 t = Dual2 t (Dual2 t) is incidentally just an infinite list of t's < 1292721807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: indeed it is < 1292721812 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm sort of watching a blind LP, but only up to the point that I solved already < 1292721814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: i still don't understand how it works though < 1292721822 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, close to down though < 1292721828 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yep < 1292721847 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :World 4's Hunt is fun < 1292721859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wait, all this is pointless < 1292721861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we have second derivatives already < 1292721864 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sq'' :: (Num t) => t -> t < 1292721865 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sq'' = deriv (deriv sq) < 1292721870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> sq'' x < 1292721870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1292721881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> sq'' 1.0 < 1292721881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2.0 < 1292721902 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, likely down again < 1292721913 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Down-ish < 1292721951 0 :metalman!~metalman@187.77.84.191 JOIN :#esoteric < 1292721963 0 :metalman!unknown@unknown.invalid PART #esoteric :? < 1292721969 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :downish indeed < 1292721973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why doesn't everyone differentiate this way < 1292721974 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's perfect < 1292722036 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What's deriv's type and definition? < 1292722042 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deriv :: (Num t) => (Dual t -> Dual t) -> (t -> t) < 1292722042 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deriv f x = nf (f (Dual x 1)) < 1292722046 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what about sin x? < 1292722059 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it seems that writing nderiv which takes the number of derivs as a param is impossible in haskell < 1292722061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :due to the stupid type system < 1292722077 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :probably just need type-level naturals < 1292722081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: well i'd have to implement sin over dual numbers because IIRC it's in the relevant typeclass, Real or something < 1292722083 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq just mentioned something about Dual numbers on FB < 1292722085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so right now it can't do that. < 1292722093 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm still clueless < 1292722094 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: well he noticed me talking about them. so < 1292722101 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I think you can do that with polymorphic recursion or what they call it < 1292722111 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :epsilon^2 = 0 < 1292722114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: no. < 1292722124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: dual number is a + bd for a and b, d is just like i, you can think of it conceptually as d^2 = 0 < 1292722136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: (a+a'd) + (b+b'd) = (a+b)+(a'+b')d < 1292722149 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: (a+a'd) * (b+b'd) = ab + (ab'+a'b)d < 1292722150 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :AIIIEEEEEEEEE < 1292722159 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: say f* is the obvious extension of f to the dual numbers < 1292722168 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: then f'(x) = nf f*(x+1d) < 1292722175 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where nf(a+a'd) = a' < 1292722175 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm betting you can also think of it as a Taylor series. < 1292722181 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: what the hell is AIIIEEEEEEEEE about that < 1292722187 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :too many letters/! < 1292722188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*?! < 1292722190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's trivial < 1292722192 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :d^2=0 where d=/=0? < 1292722201 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: i said you can think about it CONCEPTUALLY < 1292722240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :d^2 = d*2 < 1292722244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :d = (0 + 1d), obviously < 1292722252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :by applying the rule for multiplication we find the result is (0+0d) = 0 < 1292722265 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but the important thing is that d is /not/ a real, it's a dual < 1292722279 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just like there is no real number whose square is -1 < 1292722302 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1292722314 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So d is just a nonzero number, that when squared, is 0. Why do you keep yelling "CONCEPTUALLY" < 1292722318 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And nonreal < 1292722341 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: CONCEPTUALLY because otherwise you'll go crazy. < 1292722350 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :it's odd that d^2=0 does not imply that d=0 < 1292722352 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's just another dimension < 1292722354 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :anyway we have < 1292722356 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f(x) = x^2 < 1292722357 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ergo < 1292722358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f(x) = x*x < 1292722361 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and we want to work out f'(x) < 1292722369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, extend it to the duals < 1292722376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f*(a+a'd) = (a+a'd) * (a+a'd) < 1292722380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ergo < 1292722395 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f*(a+a'd) = aa + (aa'+a'a)d < 1292722396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ergo < 1292722398 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'll wiki it later < 1292722408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f*(a+a'd) = a^2 + (aa')^2d < 1292722417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now let's say we feed it (x+1d) for real x < 1292722435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :er wait i made a mistake < 1292722439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : f*(a+a'd) = aa + (aa'+a'a)d < 1292722440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ergo < 1292722447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f*(a+a'd) = a^2 + (2aa')d < 1292722450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now let's say we feed it (x+1d) for real x < 1292722460 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f*(x+1d) = x^2 + (2*1*x)d < 1292722460 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. < 1292722465 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f*(x+1d) = x^2 + (2x)d < 1292722473 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now let's say we take the unreal (infinitesimal part of this) < 1292722482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nf f*(x+1d) = 2x < 1292722486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so, basically, for any function f < 1292722492 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f'(x) = nf f*(x + 1d) < 1292722501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you don't need to wiki it, i just explained it in the simplest terms possible < 1292722505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and actually the WP article does not include this < 1292722515 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'll reread clog later < 1292722573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hm I think you are right < 1292722576 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that the existing Dual holds us back < 1292722579 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because each deriv has a different type < 1292722588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we need Dual t, Dual (Dual t), Dual (Dual (Dual t)), etc. < 1292722591 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'll try Dual2 < 1292722689 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : (Dual a a') * (Dual b b') = Dual (a*b) ((a*b')+(a'*b)) < 1292722693 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: *regrettably* I can't see how this can work < 1292722700 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: (Dual here is Dual2 now, data Dual t = Dual t (Dual t)) < 1292722705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: you know fungot's anti-spam features? < 1292722717 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :could you turn them off in PM? spamming isn't an issue there, and it'd make it harder to test things < 1292722731 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: also, how would one define d? < 1292722734 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh wait nm < 1292722775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: any ideas wrt *? < 1292722826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: second derivatives do work like this though ... but I'm not sure these are dual numbers any more < 1292722832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also, they don't have a nice prettyprinting :) < 1292722840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: what we really want is (Dual n t) for every nat n < 1292722850 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: then nderiv could just dependent-type it up < 1292722857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: think this would be worth doing in Coq? :p < 1292722910 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Isn't the only anti-spamming measure related to the chatting feature? Or do you want to somehow "test" that? < 1292722951 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: well actually, you can do type-level nats in haskell < 1292722954 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: am i insane enough to try < 1292722960 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: of course you are < 1292722967 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fungot fungot fungot < 1292722967 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: contestmaster without eir consent. if < 1292722984 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: you do realise that Nth derivatives worked like this, just not Nth being parameterisable? :D < 1292722995 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sounds agoran. < 1292723027 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I can turn them off in PM in theory, but not very fast, certainly not today. < 1292723081 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: do you have a theory of calculus? < 1292723143 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: in what sense? < 1292723149 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What is e^epsilon?/ < 1292723152 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :to specify the dual numbers < 1292723198 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: sorry, I'm not understanding :/ < 1292723210 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yeah, I just disregarded that immediately because N wasn't parameterisable :) < 1292723252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: http://sprunge.us/BWGX now get me a generic dN that works for all Dual types < 1292723255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(protip: type classes) < 1292723267 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: well something that says the 'd' part is the derivative < 1292723313 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: I don't really have any formal backing to it other than "it works", no :) < 1292723320 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: d is a bit of a misnomer here -- it's actually \epsilon really < 1292723328 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :no point then < 1292723333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: why not? < 1292723344 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :well you wouldn't get anything new from it would you? < 1292723355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: perhaps not ... but it sure is interesting < 1292723361 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and I think a theory can develop organically around it perhaps < 1292723390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: nf (f*(x + \epsilon)) -- I can imagine this is a theorem of non-standard analysis < 1292723393 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although I suppose I can't really be sure < 1292723399 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :actually it might not be, since multiplication is different here < 1292723407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: actually hmm it's more fromInteger I want < 1292723492 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :{-# LANGUAGE GADTs, EmptyDataDecls, FlexibleInstances, FlexibleContexts #-} < 1292723494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ALWAYS A GOOD SIGN < 1292723556 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :elliott: my favorite is NoImplicitPrelude < 1292723562 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :{-# LANGUAGE GADTs, EmptyDataDecls, FlexibleInstances, FlexibleContexts, UndecidableInstances #-} < 1292723564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHAT COULD POSSIBLY GO WRONG < 1292723620 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I'm doing this wrong somehow, all my nth-derivaties end up the same as the first derivative < 1292723709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Notch is playing Minecraft on a live stream. < 1292723713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: For some reason, it is Indev. < 1292723733 0 :tswett!~Warrigal@eos01.cis.gvsu.edu JOIN :#esoteric < 1292723738 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Hei < 1292723749 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :God kveld < 1292723771 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: vordin < 1292723773 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, the closest language I know to yours is English. :P < 1292723784 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Is it Norwegian? < 1292723788 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I don't know what that language is. < 1292723798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Vordkïp. < 1292723799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :tswett: yes, as is "Hei" < 1292723803 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :That word resembles "morning", but I imagine it's a coincidence. < 1292723820 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :"Hei" is Norwegian? It's also Finnish, unless I've been steered horribly wrong. < 1292723828 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :could be < 1292723842 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translatefromto fi en hei < 1292723858 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :echo How are you feeling today, HackBot? < 1292723860 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :How are you feeling today, HackBot? < 1292723860 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1292723869 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it's also in english, but spelled 'hey' < 1292723873 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Translations in a mere twenty seconds! < 1292723876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Ooh and a pig! Hello piggy! [kills the pig]" --Notch, playing -- for some reason -- an old vrsion of Minecraft. < 1292723878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*version < 1292723881 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :olsner: you have a point, there! < 1292723885 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: translatefromto X en = translatefrom X < 1292723903 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we're anglocentrists :P < 1292723906 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :run ls bin/trans* < 1292723907 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :bin/translate \ bin/translatefromto \ bin/translateto < 1292723917 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: YOU SO WRONG < 1292723917 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :So, let's see how intuitive Finnish is. Can I just look in a dictionary and construct valid sentences? < 1292723958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hm so I am < 1292723967 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: YOUR EXPERTISE IS NEEDED < 1292723970 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :tswett: does *any* language allow you to do that? < 1292723970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: isn't finnish meant to be incredibly difficult to learn :D < 1292724012 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :olsner: English, if you already know English. :P < 1292724018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh it's an old recording, not live < 1292724027 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :olsner: _maybe_ esperanto? < 1292724062 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Si tú hace él con español, tú no vas a ir horriblemente incorrecto. < 1292724065 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't think that will work, but I can comment on validity if you like. < 1292724089 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: in (Dual x 1), doesn't that need to do something special for higher derivatives? < 1292724105 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :1 = Dual 1 0 ? < 1292724110 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Minun kalani kutistuu. < 1292724112 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: yes < 1292724114 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :There, did I get it right? < 1292724118 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: quite possibly! < 1292724120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Could not deduce (Num (Dual n Integer)) < 1292724120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : from the context (Foo (S n), Num (Dual n t), TN n) < 1292724123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: haskell is STUPID < 1292724127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it can't unify t==Integer :D < 1292724129 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :dndn < 1292724132 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1292724136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :class (TN n) => Foo n where < 1292724136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : d :: Dual n Integer < 1292724136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance Foo Z where < 1292724136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : d = Dual0 0 1 < 1292724136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (Num (Dual n Integer), TN n) => Foo (S n) where < 1292724137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : d = DualN 0 1 < 1292724139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is working I think! < 1292724146 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but, it's Integer-only < 1292724150 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i'll have to fix that < 1292724155 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :more fromInteger? :) < 1292724166 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh sweet, it stack overflows < 1292724173 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like a boss < 1292724185 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait, how ... < 1292724296 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (Num t) => Num (Dual Z t) where < 1292724296 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : fromInteger n = Dual0 (fromInteger n) 0 < 1292724298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (TN n, Num t, Num (Dual n t)) => Num (Dual (S n) t) where < 1292724298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : fromInteger n = DualN (fromInteger n) 0 < 1292724304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i suppose that this definition may be defective... < 1292724306 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :God hates fractions! < 1292724307 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Yes, that is valid. "My fish is getting smaller." < 1292724346 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Though the "minun" part is not especially necessary, the suffix is enough. < 1292724349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: how is this not halting. < 1292724374 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> :set -XFlexibleContexts < 1292724375 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> d :: (Foo Z) => Dual Z Integer < 1292724375 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*** Exception: stack overflow < 1292724375 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> < 1292724447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh it's my show < 1292724511 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> d :: (Foo Z) => Dual Z Integer < 1292724511 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0 + 1*d) < 1292724519 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :d :: Dual (S Z) Integer < 1292724520 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0 + (1 + 0*d)*d) < 1292724521 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :JOY! < 1292724536 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1292724541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I have to write all my definitions twice < 1292724544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :data Dual n t where < 1292724544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Dual0 :: t -> t -> Dual Z t < 1292724544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : DualN :: (TN n) => t -> Dual n t -> Dual (S n) t < 1292724545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because of this < 1292724548 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Factor! < 1292724549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :has to be two separate Num instances < 1292724550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :any ideas? < 1292724554 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: what. < 1292724556 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :why don't you make Dual0 trivial? < 1292724563 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :like the identity function < 1292724576 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you shouted out the name of some concatenative language < 1292724581 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So I did the same =P < 1292724605 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: yeah i will < 1292724613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then first-order stuff is (Dual 1 t) < 1292724620 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :UNDERLOAD! < 1292724667 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: hypothesis: any sufficiently complicated Haskell program contains an ad hoc, informally-specific, bug-ridden, slow implementation of half of Agda < 1292724681 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :or at least a good chunc of Peano Arithmetic < 1292724688 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1292724691 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :..in the type system < 1292724691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in the type system, that is. < 1292724692 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1292724693 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1292724749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: wait if Dual0 is identity, what's d :: Dual 0 t < 1292724752 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :0? < 1292724754 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think so, yeah, 0 < 1292724757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zeroth derivative < 1292724763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Could not deduce (Eq (Dual n t)) < 1292724763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : from the context (S n ~ S n2, TN n2) < 1292724767 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that little ~ is the sign meaning "you're fucked" < 1292724789 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok it's working < 1292724794 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can duals be used to integrate? < 1292724804 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although that doesn't really make much sense, but whatever < 1292724847 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders the possibility of reading fortune cookies while adding "in the type system" < 1292724863 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oleg probably does that < 1292724865 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: i... maybe < 1292724933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mean integrals are sort of f^(-1) :P < 1292724948 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as in f^(2) = second derivative < 1292724954 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1292724963 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: I in fact looked at the disassembled asm, and Notch *has* that bug there. He allocates a (xsize*ysize*zsize*5)/2 byte[] (that's the size of the uncompressed data) and then calls Deflater.deflate() on that byte array to compress the chunk update. If it won't all fit, it will just get truncated. < 1292724971 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :s/asm/bytecode/ < 1292725023 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> d :: Dual (S (S Z)) Double < 1292725023 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0.0 + (1.0 + 0.0*d)*d) < 1292725024 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^_^ < 1292725042 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: this is actually working! just, hideously < 1292725059 0 :cal153!unknown@unknown.invalid QUIT : < 1292725084 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But if derivatives with duals just gives a number, what number could make sense for integrals, given that you always have a constant < 1292725088 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :arbitrary constant < 1292725146 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I have no idea how to communicate the bug there, posting on the getsatisfaction.com site sounds pretty much useless. < 1292725193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wait what is the nf signature for this? < 1292725215 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Notch "says" he's fixing getsatisfaction bugs but I doubt he's smart enough to understand your incisive analysis. < 1292725243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: erm well actually derivatives with duals give duals < 1292725246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we just ignore the standard part < 1292725303 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Yes, and the "common problems" list is 78 pages of 20 items (so >1500 items), and they get sorted by voting order, and that sort of a "problem" is probably rather unlikely to get any votes at all. < 1292725322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Tweet him? < 1292725328 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Admittedly it might take several tweets < 1292725330 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*tweets. < 1292725348 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If I can describe the issue in 140 chars, I'll consider that. < 1292725407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Bug: You allocate (xsz*ysz*5)/2 byte[] for compressed chunk data; if it's bigger, it gets truncated < 1292725418 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, something like that could work. < 1292725423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Bug: You allocate (xsz*ysz*5)/2 byte[] for compressed SMP chunk data; if it's bigger, it gets truncated < 1292725426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That's better. < 1292725433 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Perhaps noting client vs. server might help, too...) < 1292725437 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Seeing actual code in there might make him look at it. < 1292725472 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: not zsz? < 1292725483 0 :chickenzilla!~chicken@olol.eu JOIN :#esoteric < 1292725485 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"@notch SMP server bug: byte[x*y*z*5/2] for Deflater.deflate() in some cases not large enough, causes truncated messages" < 1292725488 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's just 120 chars. < 1292725505 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I can't be sure of his variable names since it's obfuscacated. < 1292725519 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :See, I know Finnish grammar. :P < 1292725537 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Vocabulary is all I need now! < 1292725559 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Try something with more suffixes. Like "Also for a coffee drinker" in a single word. (That's one of our stock examples for justifying our statistical-morphemes based language models.) < 1292725586 0 :elliott!unknown@unknown.invalid TOPIC #esoteric :Also for a coffee drinker | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1292725590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :All so, for a coffee drinker. < 1292725595 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :I have to wonder if linguists first saw that every word has initial stress in Finnish, and then concluded that everything without a stressed syllable must not be a word. < 1292725609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also, for... a coffee drinker? < 1292725619 0 :cal153!~cal@c-24-4-207-72.hsd1.ca.comcast.net JOIN :#esoteric < 1292725623 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Also, fora cough, ye drinker. < 1292725636 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Alsof, or a coffee drinker? < 1292725665 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Al Sofor: a coffee drinker? < 1292725676 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :David slowed slightly as his ears, also for a coffee drinker, sped up. < 1292725691 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Don't forget the "his pace". < 1292725696 0 :cal153!unknown@unknown.invalid QUIT :Client Quit < 1292725702 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Oh yeah, that makes the sentence /much/ more meaningful :P < 1292725727 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :aerodynamic ear propulsion < 1292725757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: wait what _is_ the type of nf? < 1292725760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :class (TN n, Num t) => DualFuncs n t where < 1292725760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : d :: Dual n t < 1292725760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : st :: Dual n t -> t < 1292725763 0 :cal153!~cal@c-24-4-207-72.hsd1.ca.comcast.net JOIN :#esoteric < 1292725765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh! < 1292725771 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nf :: Dual (S n) t -> Dual n t < 1292725777 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now let's see if Haskell will accept that (doubtful!) < 1292725830 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it can even go out of the typeclass < 1292725844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, so can st < 1292725870 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Whelp. There's only one way to learn Finnish. < 1292725881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and d for that matter < 1292725883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: what way is that? < 1292725885 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Be born in Finland? < 1292725887 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep, you have to get into the sauna < 1292725896 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :I've forgotten it. < 1292725899 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and drink plenty < 1292725956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : (DualS a a') * (DualS b b') = DualS (a*b) ((a*b')+(a'*b)) < 1292725962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I still can't figure out how to make this work. < 1292725963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: any ideas? < 1292725967 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :data Dual n t where < 1292725967 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : DualZ :: t -> Dual Z t < 1292725968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : DualS :: (TN n) => t -> Dual n t -> Dual (S n) t < 1292725972 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TN just means Type Natural < 1292725981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it bawls about infinite types < 1292726010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I mean I think in the latter sum < 1292726016 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we need to cast a and b to DualSes < 1292726016 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: 「コヒー飲み者の為にも」 *could* be considered a single word. Though it's really hard to say, because the notion of "word" in Japanese is rather... Vague. < 1292726019 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but is this even possible? < 1292726039 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(kohînomimononotamenimo) < 1292726070 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm, コーヒー, not コヒー. < 1292726079 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :s/kohî/kôhî/ < 1292726086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : or add an instance declaration for (Num (Dual n t)) < 1292726087 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1292726126 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Here we go. < 1292726131 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Incidentally, if I tweet like that, he'll probably just "fix" it by removing the "/2" from it... but I guess it's better than nothing. (Also Java Inflater doesn't seem to export zlib compressBound() function that'd give him an actual upper bound to use.) < 1292726148 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :The only way to learn Finnish is via the Conversational Finnish course from the Foreign Service Institute. < 1292726155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: wait, does he actually just assume compression will always halve the data? < 1292726168 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :tswett: I'm highly inclined to say "bullshit" on that. < 1292726180 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Okay, there may be other ways. < 1292726183 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: guess what? < 1292726185 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :But this is the only way I've found. < 1292726187 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: IncoherentInstances < 1292726192 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: No, that's the uncompressed size. It' s 2.5 bytes per block. (Some data is stored as nybbles.) < 1292726195 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :LOL DOESN'T EVEN WORK < 1292726199 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, please tell me that you're talking about someone other than Notch < 1292726208 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Though I suspect their courses are pretty close to the only *actual courses* that will get you competence in the language, surely not the only way. < 1292726210 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: no, i'm not, why < 1292726228 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to assume then that someone is misunderstanding someone < 1292726234 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(seriously, most language courses are absolutely, positively terrible, and actually no better than a freaking phrasebook) < 1292726282 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Well, he *is* assuming that the compressed output it always <= than the uncompressed. < 1292726320 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : No instance for (Num (Dual n t)) < 1292726320 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... naive, but I can imagine not realizing that that's not always the case unless casually mentioned < 1292726341 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I think this is one of those cases where Haskell just doesn't want to play. < 1292726354 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, when I searched for 'learn finnish', every single Google result was useless. < 1292726374 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :And I even looked through all 2.7 million of them. < 1292726378 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : < 1292726381 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Soon holidays < 1292726391 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hmm.. Isn't Soon ***SPOILER*** < 1292726404 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wait, it's not a spoiler. He's dead < 1292726415 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yeah, abusing the type system will usually end up like that... < 1292726432 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, isn't Azure City kind of ***SPOILER*** < 1292726453 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: maybe you need a type class for what "n" is there < 1292726455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: What. < 1292726462 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :tswett: s/finnish/any language ever/ and you'll have similar results. < 1292726464 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I do; it's TN < 1292726465 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, lame OOTS references < 1292726466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: type natural < 1292726474 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and my Dual2 version is working perfectly except it doesn't produce the right derivatives < 1292726482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: it's just that, even though every constructor for Dual satisfies (TN n) < 1292726491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: haskell doesn't realise this implies that Dual n t implies TN n < 1292726493 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: huh, I guess I haven't tried that with very many languages. < 1292726500 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so because i use something that must be polymorphic over all duals in this case < 1292726505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: it says "hey!! you don't have instances for this" < 1292726512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: even though I have instances for the Z and (TN n) => (S n) case < 1292726526 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because GADTs can't have typeclass constraints on the actual type, just the constructors :( < 1292726532 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :tswett: The issue is that most people have this crazy idea that memorising phrases will eventually create fluency. < 1292726546 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or that memorising grammar rules will do the same. < 1292726556 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1292726571 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: wanna try and fix it? :D < 1292726596 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Weird. < 1292726625 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it works about as well as memorising multiplication tables produces competence at mathematics. < 1292726641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=sQriw-tiFBU So suave. < 1292726657 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Huh. Is there a way to tell Google Chrome to download a particular URL? < 1292726683 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Um, Ctrl+S? < 1292726686 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right click link save as? < 1292726687 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: wget? < 1292726742 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Ctrl+S is disabled. There is no link. The only computer I have access to is running Windows. < 1292726775 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :tswett, data: url? < 1292726783 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Probably my favorite thing to do < 1292726785 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1292726834 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Why is that your... favourite thing to do? < 1292726843 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Why is Ctrl+S disabled, and how? < 1292726848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Presumably you cannot download a wget port. < 1292726868 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, seems easier than installing wget etc < 1292726876 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :I guess Chrome doesn't let you Ctrl+S something that hasn't loaded. < 1292726896 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Recently did that to help a girl download some sound file for use in her presentation < 1292726896 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you can use a data: URL to do that? < 1292726919 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :tswett, data:text/html,Download < 1292726930 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There, you have a link < 1292726996 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: basically the issue is < 1292726999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (Num t) => Num (Dual Z t) where < 1292726999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (TN n, Num t, Num (Dual n t)) => Num (Dual (S n) t) where < 1292727009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: do not, together, constitute an instance for (Num (Dual n t)) in Haskell's mind < 1292727025 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: because, even though every constructor of Dual has (TN n) in effect, this constraint is not on the type itself (and cannot be) < 1292727060 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, use .... my mind is blank trying to come up with a sufficiently similar dynamically-typed language < 1292727080 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: there is absolutely no call for a dynamically-typed language here; it is merely that the type system is too weak < 1292727104 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :when your logic can't prove a given statement (and you really want to prove it), you don't switch to an inconsistent logic (which a freely typed language is), you switch to a more powerful one < 1292727151 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I really want to prove 1=2 >.> < 1292727193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Why. < 1292727227 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Because I was trying to be somewhat funny, and also a power powerful, consistent logic would not help there, yet an inconsistent one would < 1292727304 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I think I found the missing magic now: http://hpaste.org/paste/42405/automatic_differentiation#p42407 < 1292727319 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :data Dual t = Dual t (Dual t) < 1292727320 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: fail < 1292727325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: this makes Shows completely unreadable < 1292727332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I'm trying to do it the proper way -- a hierarchy of Dual types < 1292727339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. length-parameterised lists < 1292727370 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that does look cool though < 1292727375 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it's just, Show will be so ugly :/ < 1292727376 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: sure, Show always gives an infinite result :) < 1292727389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: any ideas around that? other than not using Deriv directly < 1292727399 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Bank of America blocks WikiLeaks. WikiLeaks claims to have dirt on Bank of America < 1292727401 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :This is fun < 1292727428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: *claimed to, ages ago < 1292727432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, _implied_ < 1292727447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: i mean your solution is more elegant obviously < 1292727452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it's just, :( < 1292727456 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I want my hierarchy :P < 1292727462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: any opinions? < 1292727539 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: ah, how useful. < 1292727559 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Eq is a bit interesting too < 1292727572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: oh. indeed. that is quite a problem. < 1292727579 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: e.g. consider piecewise functions. < 1292727673 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: do you know coq? < 1292727718 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :nope, never used it, only heard of it < 1292727741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: well I'm going to have a stab at it in Coq :P < 1292727749 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :good luck :D < 1292727774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Inductive Dual T : nat -> Type := < 1292727774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| dualZ : T -> Dual T 0 < 1292727774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| dualS : forall n, T -> Dual T n -> Dual T (S n). < 1292727774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Implicit Arguments dualS [n]. < 1292727777 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it's not difficult! < 1292727780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and those are /real/ naturals < 1292727783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as in, "42" works there < 1292727831 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :probably much better suited for what you were trying to do than haskell < 1292727850 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: yeah, but at the same time less -- instead of simple things like floats, you get constructive reals and other craziness :-) < 1292727867 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :anyway, time for bed now that I've made the code output all the derivatives < 1292727870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I think my original solution is the most elegant right now ... but yours is really nice < 1292727873 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if not for the infinite shows and no eq < 1292727878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugh, no eq is the worst part < 1292727885 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: could you add, like, a list terminator? < 1292727894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: and then have one d for each possible length < 1292727901 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that way if you didn't use infinite lists it'd all come out finite < 1292727964 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lawl i think i've just kept olsner up for the next ten hours < 1292728050 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :list terminators are ugly, but maybe it's possible to detect at which point all remaining derivatives will be 0 < 1292728089 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: ugly, but not as ugly as that show output, man < 1292728092 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :or do something like use the longest list length of the two inputs to + and *, then let deriv construct a suitable length for what you asked it to do < 1292728136 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but it's like ... an ugly workaround for not having infinite memory and time available < 1292728179 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I'd rather just remove show and eq and say that duals are not showable and not comparable :) < 1292728386 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: you need comparable < 1292728393 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: foo n | n < 0 = bonk | otherwise = burp < 1292728403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: perfectly well-defined on reals, so it should be on duals < 1292728566 0 :augur!~augur@c-71-196-120-234.hsd1.fl.comcast.net JOIN :#esoteric < 1292728734 0 :augur_!~augur@c-71-196-120-234.hsd1.fl.comcast.net JOIN :#esoteric < 1292728772 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1292728994 0 :bsmntbombdood!~gavin@c-24-9-98-117.hsd1.co.comcast.net JOIN :#esoteric < 1292729114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wtf @ the Integral restriction < 1292729118 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: that makes it useless for actual differentiation :( < 1292729379 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has achieved the bad ending! < 1292729390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: *Main> sq' x < 1292729390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(x * 2) < 1292729390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> sq'' x < 1292729390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1292729394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Congraturation! < 1292729398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Now behold ^ < 1292729407 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: :D :D < 1292729469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> deriv 500 sq x < 1292729469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1292729472 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Integral retriction? < 1292729475 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what game? < 1292729476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: now fixed. < 1292729559 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Shin Megami Tensei: Persona 3 FES (The Journey). （ペルソナ３FES『Episode Yourself』） < 1292729601 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1292729619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: haha great Dual can't be a Real because toRational has to return ... a rational < 1292729623 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and obviously duals have no rational expression < 1292729634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :class (Real a, Enum a) => Integral a where < 1292729637 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so I can't do Integral. < 1292729641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Solution: FAKE REAL INSTANCE < 1292729668 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Well, Real is a really abused class already. < 1292729672 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You can't do integrals because duals aren't reals? < 1292729681 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION huhs < 1292729685 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :As in, WTF < 1292729686 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that you cannot do Integral is even more obvious. that's not _supposed_ to work for fractional classes. < 1292729691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: it is not what you think it is < 1292729694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well yes. < 1292729705 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, Integral as in.. right < 1292729709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: wait what is the rule for *division*? < 1292729718 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :of duals < 1292729733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh wikipedia has it < 1292729733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sort of < 1292729766 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1292729775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1292729780 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I always just do (f(x))^-1 and use the d x^n = n x^(n-1) rule < 1292729941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (Fractional t) => Fractional (Dual t) where < 1292729941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : (Dual a a') / (Dual b b') < 1292729941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : | b == 0 = Dual (a'/b') 0 < 1292729941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : | otherwise = Dual (a/b) (((b*a')-(a*b')) / (c*c)) < 1292729943 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :such hideousness < 1292729967 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm c is b there < 1292729977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugh needs more conversion < 1292730028 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now to have the end song stuck in my head for a bit. < 1292730111 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: How bad was the bad ending? < 1292730134 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Life ceased to exist! < 1292730140 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Seriously? :P < 1292730144 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes, seriously. < 1292730154 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Well, you sure didn't win the game. < 1292730164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Why is it giving you an ending song? :P < 1292730172 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Cause it ended. < 1292730181 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You could even go to a new game+ after that. < 1292730196 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Granted, it's *maybe* 5 hours from the good ending. Sooo... < 1292730218 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(more if you're a completionist) < 1292730330 0 :augur_!unknown@unknown.invalid NICK :augur < 1292730428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: oh god I have to implement Floating ... actually I have no idea why I'm blaming you < 1292730431 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but still < 1292730437 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what the fuck is the square root of (a+a'd)??? < 1292730512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: actually since there's (Real a, Fractional a) => RealFrac a I beg to differ; clearly there /are/ Real Fractionals < 1292730547 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i was speaking about Integral < 1292730553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oh right :D < 1292730626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: wanna write sqrt and sin and cos for dual numbers/?!?!?! or uh just tell me how to i guess < 1292730748 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea but i _am_ expecting this to either break down or become horribly complicated (essentially encapsulating _all_ the derivatives) at about this point < 1292730788 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as you are leaving simple ring operations behind < 1292730876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: perhaps -- but, then, this is used widely in practice < 1292730881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i'm not implementing some random idea I had :) < 1292730893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :combining this with symbolic numbers is _fun_: < 1292730894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> deriv 1 x5 x < 1292730894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(((x * x) * (x * x)) + ((((x * x) * (x * 2)) + ((x * 2) * (x * x))) * x)) < 1292730902 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(that actually simplifies to the right thing though) < 1292730908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(x5 is \x -> x^5) < 1292730913 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1292730986 0 :__s!adf605db@gateway/web/freenode/ip.173.246.5.219 JOIN :#esoteric < 1292731048 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :Does it count as a JIT if it compiles into an alternative format? As in, can there be AST JITs? < 1292731055 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> deriv 1 x5 x < 1292731055 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(((x ^ 2) ^ 2) + ((((x ^ 2) * (x * 2)) + ((x * 2) * (x ^ 2))) * x)) < 1292731058 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's (slightly) better < 1292731065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :__s: I don't understand your question. < 1292731072 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :I wrote a befunge JIT < 1292731081 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :But it doesn't do machine code < 1292731108 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :Instead, it builds an AST. It seems to be fast enough though, outpaces my last interpreter on adder, primegen, mandelbrot < 1292731135 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :And my last interpreter was nearing 4x any other interpreters I could find < 1292731147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :__s: erm, does it support p and g? < 1292731150 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1292731153 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and yes, that still counts as a JIT < 1292731163 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :At p, it rebuilds if it isn't dead code or a nop < 1292731165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :__s: I bet it's slower than fizzie's jitfunge :-) (that did Befunge-98 too ... "sort of") < 1292731169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :__s: (and did native code) < 1292731173 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :__s: but very impressive! < 1292731176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is your code available? < 1292731178 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :LLVM? < 1292731180 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1292731201 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :https://github.com/serprex/Befunge < 1292731238 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :Don't mind the commit message, I haven't coded for the past week and I'd fallen into depression so I'm riding a bit of a coding high right now < 1292731315 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :I figure next step is to add an optimization pass on the ast, include some special case opcodes. Constant propagation should be very useful with how befunge programs are written < 1292731347 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :__s: It compiles just in time, making it a JIT. < 1292731386 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :next: a JTL compiler < 1292731421 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :So it's just that normally a JIT needs to generate machine code to pay for the cost of a JIT? < 1292731429 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Well, math on the duals is very *similar* to math on the complex numbers... < 1292731439 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :__s: Yeah. < 1292731452 0 :__s!unknown@unknown.invalid PRIVMSG #esoteric :I figure static interpreters bolted on top of dynamic would otherwise appear on platforms that don't allow machine code generation < 1292731568 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : next: a JTL compiler < 1292731571 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: CLC-INTERCAL has one of those. < 1292731580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: named very similarly to your pun IIRC < 1292731653 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it _would_ make sense to have that in INTERCAL < 1292731801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: my method /cannot/ yet differentiate (1/x), it seems :D < 1292731835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, division is just plain broken < 1292731839 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It'd be surprising if it could, actually. < 1292731850 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: not *really* < 1292731861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aha the issue is that I have no subtraction I think :D < 1292731865 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm *really* not sure how you could get ln(x) out of that easily. < 1292731883 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um ln(x) is the integral < 1292731885 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: thankfully I don't have to! because last i checked the derivative of 1/x doesn't involve logarithms < 1292731895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this snark is unwarranted though -- I just made the same mistake in another conversation! < 1292731913 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: GAAAH < 1292731920 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: And to think, I got an A in calc I. < 1292731931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I got an A in addition < 1292731958 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: never take fourier analysis, ok? < 1292732037 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: :< < 1292732041 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i don't like you < 1292732060 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if elliott was wooshed there < 1292732187 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :to find the integral of log you can use parts on 1 * log(x) < 1292732243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: most likely < 1292734000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: http://i.imgur.com/fOopp.jpg < 1292734103 0 :TLUL!~TLUL@wikia/The-last-username-left JOIN :#esoteric < 1292734296 0 :__s!unknown@unknown.invalid PART #esoteric :? < 1292734549 0 :jcp!unknown@unknown.invalid QUIT :Quit: Later < 1292735069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hm is the signum of 24 - 145d (1 + 0d) or (1 - 1d)? < 1292735157 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'd say the first < 1292735189 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :since a small adjustment has no effect on a real signum that isn't close to 0 < 1292735208 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but (1-1d) ~= 1 :) < 1292735215 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but right, yeah, you are of course correct < 1292735221 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I didn't even realise 'cuz I'm dumb < 1292735255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> deriv 1 recip 3 < 1292735255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-0.1111111111111111 < 1292735256 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this is also the case for nonstandard reals < 1292735259 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: great success. < 1292735275 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: right well these are almost hyperreals really : < 1292735276 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1292735280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is why I borrowed the st name < 1292735288 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1292735290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not hyperreals < 1292735292 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :non-standard reals < 1292735310 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure of the terminology there myself < 1292735326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hm what's |a+bd|? I think it's just |a|+bd < 1292735328 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but am not sure < 1292735338 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :e.g., |0-1d| would = 0-1d < 1292735342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is, of course, <0 < 1292735351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but having it = 0+1d seems very silly... or does it? < 1292735357 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait, |-d| of course = d < 1292735363 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so |a+a'd| = |a|+|a'|d < 1292735369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1292735379 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um not quite < 1292735383 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hm right... < 1292735390 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if a and a' have the same sign, it is < 1292735396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: right... < 1292735441 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically it's |x|= x if x > 0 and -x if x < 0 and d makes no difference for comparison with 0 < 1292735466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah < 1292735470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll just use comparisons < 1292735478 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(unless the large part is 0) < 1292735589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmph, I think this introduces an (Ord t) dependency on my Num instance < 1292735594 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since abs has to do a comparison < 1292735595 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh no wait < 1292735602 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I can use signum, can't I? < 1292735648 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :probably since you only need to compare to 0 < 1292735795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (Ord t) => Ord (Dual t) where < 1292735795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : compare (Dual a a') (Dual b b') = < 1292735795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : case compare a b of < 1292735795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : EQ -> compare a' b' < 1292735795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : x -> x < 1292735801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why does this think it needs (Num t) in the head? < 1292735874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I can't figure it out < 1292735897 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :do you have a Num requirement on Dual itself somehow? < 1292735934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :data Dual t = Dual t (Dual t) | Zero < 1292735935 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1292735938 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OH < 1292735940 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instance (Num t) => Eq (Dual t) where < 1292735944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no idea how that go tthere < 1292735955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1292735956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because of 0 < 1292735991 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't see why you need 0 to compare for equality < 1292735996 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Dual a b == Zero = a == 0 && b == Zero < 1292735996 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Zero == Dual a b = a == 0 && b == Zero < 1292736009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so apparently, my code thinks the derivative of abs is 1 < 1292736030 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :only for x > 0, hopefully < 1292736094 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oh wait, that's the actual derivative, isn't it < 1292736105 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :correction: my code computes the derivative of abs PERFECTLY < 1292736108 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION comes to an odd realisation... < 1292736113 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: what < 1292736119 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"only for x > 0, hopefully" < 1292736125 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Technically, almost all of this game is optional. < 1292736129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: indeed. < 1292736142 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There are 7 mandatory fights. Total. < 1292736154 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Literally everything else can be skipped. < 1292736156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Play it skipping everything that isn't vital. I dare you. < 1292736207 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Well, the boss fights would be *insanely* hard. < 1292736222 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Except that on a new game plus, you keep your levels and personæ. < 1292736272 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So you could have the infinity plus one sword and be able to one-shot everything but the optional boss. < 1292736333 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Still. Damn. This game has a lot of room for speedrunning. < 1292736335 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> deriv 1 abs x < 1292736335 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*** Exception: /home/elliott/code/adiff/diff.hs:(51,4)-(58,11): Non-exhaustive patterns in case < 1292736339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TIL: Breaking laws breaks laws. < 1292736347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Main> signum x < 1292736347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(signum x) < 1292736352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I suppose that things might, hypothetically, not like that. < 1292736361 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because you can skip everything but 7 bosses and cutscenes. < 1292736394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Insanely hard -- but there'd only be 7 of them. < 1292736405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: So go for it. From the start. If you absolutely NEED to get some kind of weapon, get the one you can get without doing anything. < 1292736409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And BEAT THE FUCKING BOSSES. < 1292736421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: And put it on YouTube. < 1292736425 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Probably impossible without really fucking up the RNG. < 1292736445 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But with a new game plus, entirely possible, and I could start right now. < 1292736502 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why am I: Awake. Not having eaten yet. And having done absolutely no work whatsoever? < 1292736532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Because you don't like sleeping, you don't like eating, and you don't like working. < 1292736534 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :vacation? < 1292736544 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :drugs? < 1292736559 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to go back on my meds tomorrow < 1292736573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HAPPY MEDS < 1292736581 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Seriously though, this is already a fairly hard game. And it's one of the easiest games from Atlus. < 1292736586 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1292736604 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I'm sorry, but if you don't start from scratch and do the bare minimum to complete the game, we can't be friends any more. < 1292736624 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm strongly suspecting that grinding is mandatory without TASing. < 1292736636 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what game? < 1292736652 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Simply because you aren't getting any persona other than freaking Orpheus if you do that... < 1292736662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: OK then. Complete the game doing it normally, but make sure you finish *only* with the infinity plus one sword. Nothing else. < 1292736670 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Then new game plus and do the 7 boss fights and nothing else. < 1292736681 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(which is like playing Pokémon with just the starter, *never leveling*) < 1292736698 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(almost exactly, in fact.) < 1292736703 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I want to beat Pokémon with an unlevelled starter now :P < 1292736708 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I don't see a game name in scrollback < 1292736711 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :GOOOOOOOO PIDGEY! < 1292736714 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Persona 3. < 1292736715 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(I know that's not a starter. But shut up.) < 1292736719 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1292736744 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: By comparison, starting a new game plus now would be like playing Pokémon with only a level 100 Mewtwo. < 1292736753 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And then only doing the gym battles. < 1292736760 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Kansansatu, karhu, pala, suu, kettu, -pa, viimein, pohjoinen, päästä, juusto pääsi suusta... < 1292736764 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: No, because you have non-infinity+1-sword items. < 1292736768 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Discard them now and do the 7 boss fights. < 1292736773 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :I'm speaking Finnish, see? :P < 1292736821 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Now to stuff all these words into my brain! < 1292736853 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: On a new game plus you merely keep your cash, the items equipped, and your persona compendium. Which basically lets you *purchase* any persona you previously had. < 1292736859 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Oh, and levels. Can't forget that. < 1292736865 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Do not purchase anything. < 1292736874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Discard all non-infinity-plus-one-sword items. Discard all cash. < 1292736880 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Except the persona needed. < 1292736883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: No. < 1292736886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Do not buy that either. < 1292736889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: (Can you avoid doing so?) < 1292736893 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Discard #esoteric < 1292736897 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: No, this is actually impossible. < 1292736909 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Buy the cheapest Persona possible. < 1292736912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Discard the rest of the cash. < 1292736915 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Orpheus. < 1292736917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Enter first battle. Continue until the last boss is completed. < 1292736923 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: It should be fine, since you have that magical sword. Good luck :P < 1292736925 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Unleveled starter... < 1292736930 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ...with magic sword. < 1292736941 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: "Infinity plus one sword" is a trope name. It's actually *referring* to the persona. < 1292736955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I know it was a trope name ... but aww, I hoped it was a real sword. < 1292736962 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sadly, one of the bosses is immune to physical attacks. < 1292736973 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So having the best *sword* in the game won't get you all the way through. < 1292736976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: OK. Start game. Purchase persona. Discard all other cash and items. Boss fights. < 1292736984 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: And that doesn't matter; you can just do that one tediously and impossibly, surely? < 1292736994 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Null. Physical. < 1292736998 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: You. Cannot. Hurt. It. < 1292737004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Then how is it killed? :p < 1292737009 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Magic. < 1292737018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: How do you obtain the relevant magic? < 1292737023 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Persona. < 1292737033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Including the infinity+1 one? < 1292737058 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The infinity+1 one can one-shot everything but a single optional boss that appears only in a new game plus. < 1292737069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Skip the boss. < 1292737103 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: No? < 1292737147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: No? < 1292737147 0 :evincar!~chatzilla@64.223.161.149 JOIN :#esoteric < 1292737151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hi evincar < 1292737156 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Hey elliott. < 1292737174 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :What's the project and/or topic? < 1292737179 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And anyways, this game is almost impossibly difficult if you can't do things like "healing" or "more than a few points of damage". < 1292737197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: BUT IT CAN ONE-SHOT THEM. < 1292737202 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: Various! I'm about to embed myself. < 1292737207 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: With one-shotting, yes, it's really easy. < 1292737209 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I've done some automatic differentiation code. It's fun. < 1292737211 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: So go do it. < 1292737221 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But good ending! < 1292737242 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Into...what, exactly? < 1292737245 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And technically I don't have the infinity-plus-one sword! Just the next-closest thing! < 1292737249 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: Bed, duh. < 1292737264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Replay it. Make sure you finish with only the infinity-plus-one. < 1292737265 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Oh, you mean embedden. :P < 1292737274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: New game plus. Discard all other items. One-shot boss fights. < 1292737277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The end. < 1292737301 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That will probably be a bit tedious, but easily doable. < 1292737307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Go do it. < 1292737315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: YouTube the whole new game plus. < 1292737325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: Right now I'm ordering pikhq to do silly things with a game I've never played. < 1292737337 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BTW, you should play this game. < 1292737355 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Oh, be nice. < 1292737398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: But this is nice! < 1292737408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I would ... except I have no PlayStation N, and Wikipedia suggested etc. < 1292737411 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(For some N.) < 1292737413 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :I'm considering the terrible idea of creating a font authoring system. < 1292737414 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :2. < 1292737418 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :It's terrible because it's big, not because it's bad. < 1292737421 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which is like $99. < 1292737532 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :ACTION enters 31 cards into his flash card program so he can stuff them into his brain. < 1292737544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: What, isn't FontForge painful enough? < 1292737554 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Fine, buy it for my Christmas present. < 1292737563 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: No income! < 1292737573 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: No, less like FontForge/Fontographer/whateverthefontingfontsoftware and more like Metafont, but less like TeX. < 1292737574 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: YOU'RE NOT BUYING ME A PRESENT?! < 1292737606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: What kind of hardware do you need to emulate a PS2? < 1292737614 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Also, I just realised I have the June 1957 issue of MAD, which contains an article by Donald Knuth. < 1292737616 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Uh, quite good? < 1292737633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Approx. specs? < 1292737639 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: Awesome! The system of measurements? < 1292737643 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :"The Potrzebie System of Weights and Measures" < 1292737649 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :evincar: :) < 1292737650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :<3 < 1292737686 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wow, I cannot pronounce Potrzebie. < 1292737696 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Approx. specs? :p < 1292737719 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Uh. < 1292737724 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: 4 core, really good GPU? < 1292737751 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I pronounce it according to the Polish pronunciation, since, y'know, family's Polish and all... < 1292737769 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: What /is/ the Polish pronunciation of that? < 1292737773 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :"Pot-sheb-yeh" is all I can do for you without IPA or SAMPA. < 1292737779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: BOORING < 1292737786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Potterzebie, but without the te. < 1292737799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the sh is voiced, no? < 1292737801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IMPOSSZEBIE < 1292737817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: So my new laptop won't do it. :( < 1292737825 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Depends on your accent, but it usually isn't, I don't think. < 1292737830 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1292737883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: (2.13 GHz modern Core 2 Duo, 4 GiB RAM, high-end integrated graphics (GeForce 230M 256MB)) < 1292737904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Oh, the PS2 is the Emotion Engine bullshit. < 1292737912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: With, like, seventy processors ... < 1292737913 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yuh. < 1292737931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Hmm. I could hook the PlayStation up to the laptop display, though, couldn't I? < 1292737937 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(It's a stupid Mini DisplayPort thing, but I can adapter.) < 1292737943 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: (I have no TV in my room right now ...) < 1292737946 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Probably. < 1292737949 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(TODO: Fix that. Some day.) < 1292737956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Oh, do the recent PS2 models have digital out? < 1292737959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or just analogue? < 1292737965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I don't like me no analogue vidyas. < 1292737970 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :PS3 does. < 1292737988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: PS3 can't play PS1 games and is expensive. < 1292737989 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Older ones, like mine, are backwards compatible. < 1292737994 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :All of them play PS1 games. < 1292738005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Oh, it's PS1 but not PS2. Right. < 1292738012 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, this one is PS2. < 1292738017 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes. I know. < 1292738021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: PS3 is incredibly ugly anyway, pre-Slim; the PS2 design has always been really nice IMO. < 1292738023 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. Yeah. < 1292738028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And Slim and after is no-PS2, right? < 1292738035 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So yeah, I kinda want an actual PS2. < 1292738039 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1292738041 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :elliott: just download a ps2 emulator < 1292738054 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: I think we've established that my hardware is not up to that. < 1292738077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Or? < 1292738131 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Today on "Names Wikipedia Likes To Use For Being More 'Neutral' Or Technically Correct That Nonetheless Confuse Just About Every Fucking Person Who Sees Them": < 1292738135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://en.wikipedia.org/wiki/Corrugated_fiberboard (Cardboard) < 1292738148 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://en.wikipedia.org/wiki/Fixed-wing_aircraft (Aeroplane/Airplane) < 1292738160 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://en.wikipedia.org/wiki/Association_football (Football/English football/soccer) < 1292738171 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It wouldn't be so bad, if they didn't make EVERY LINK use that terminology too. < 1292738183 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that one is required too < 1292738189 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :s/too/ < 1292738193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: ? < 1292738210 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :elliott: "football" is a page about all football games generally < 1292738213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: As a Brit, I would /vastly/ prefer Soccer to the current name. < 1292738223 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :("Soccer" was invented by an Englishman, anyway.) < 1292738232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Nobody says "association football". < 1292738235 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. I may have to say I *had* that MAD issue, as I can't seem to find it at the moment. It may have been in such poor condition that it got thrown away without my realising it. But I know I've read it, and it was an original printing. < 1292738236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Nobody says "corrugated fiberboard". < 1292738238 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: JS? < 1292738249 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :NOBODY says "fixed-wing aircraft" apart from maybe people who already know what they are in /detail/. < 1292738252 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: At least, nobody says "association football" in the past century. < 1292738257 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: what about JS? < 1292738261 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Indeed. < 1292738266 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: are you skilled in it? < 1292738271 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: "Soccer" *is* a contraction of that, after all. < 1292738280 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i know what a fixed-wing aircraft is :| < 1292738284 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :not that i'd say it, but < 1292738286 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but nobody says that. < 1292738293 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: I know all about its horrible, horrible corners and I can write code in it. < 1292738294 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :rotating-wing aircraft! < 1292738303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It is a horrible language, and I would like to avoid doing so whenever possible. < 1292738303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Why? < 1292738305 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: and video games? do you play them? < 1292738314 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: Uh, on occasion, yes. < 1292738317 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :scifi? < 1292738329 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: Sure, why not. < 1292738337 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :would you like to make a game with me? < 1292738348 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: Um. Does it involve coding JavaScript? < 1292738355 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :or C# < 1292738360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: Why C#. < 1292738363 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :unity3d < 1292738388 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm C#-enabled < 1292738395 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: I refuse to work on anything Sgeo works on. < 1292738402 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: Would there be a server-side part? :p < 1292738415 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: possibly, but preferably not < 1292738416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Unity looks like it doesn't have real JS, just "UnityScript", anyway. < 1292738421 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :this is true < 1292738425 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you've worked on PSOX < 1292738428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: There's also Boo, which is python and thus horrible. < 1292738431 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Mostly deleting stuff, but still < 1292738436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Only to try and de-shittify it (which didn't work). < 1292738451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: Are you /sure/ there's not a server-side part that I could lovingly craft in Haskell? < 1292738453 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Removing its sandboxing mechanisms is "de-shittifying it"? < 1292738456 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Yes. < 1292738459 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: im sure :( < 1292738461 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh haskell < 1292738463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: In fact, why don't you just use OpenGL and the whole thing can be in Haskell. :p < 1292738465 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :my dearest haskell < 1292738480 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: because unity is a nice little cross-platform engine < 1292738491 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :F#! < 1292738495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: It's also closed-source, which -- being a fag -- makes me want to stay well away from it. < 1292738502 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: He's right, you know. Unity is alright. < 1292738503 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :yeah well. < 1292738507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Note: Fag justification possibly flimsy.) < 1292738518 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you're also a homosexual. < 1292738519 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I spit on .NET. < 1292738521 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh and it looks like its UI does its own widgets, ew. (See, even flimsier.) < 1292738534 0 :sebbu2!~sebbu@ADijon-152-1-46-37.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1292738535 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i think you can dick around with UI stuff < 1292738537 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, just like The GIMP! < 1292738539 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :im not sure. < 1292738546 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[in the past][I think] < 1292738560 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Um, the GIMP invented GTK+ because /there were no toolkits/. < 1292738584 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :so does anyone want to work on a scifi videogame? < 1292738594 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: So in conclusion, I'll work on your Unity-based, UnityScript-or-C game if it's actually OpenGL-based and Haskell. Hell, I demand a change from sci-fi to fantasy and from video game to drinking game while I'm at it. < 1292738605 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1292738620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: No but seriously, you should do it in OpenGL and Haskell. < 1292738620 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I can learn UnityScript >.> < 1292738637 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has weird... things with these sorts of languages < 1292738645 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: Sgeo wants to be part of your project solely for the "reputation" and "fame" it will bring. < 1292738645 0 :pingveno!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1292738656 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: i already have a rough idea of how i want the game to go, and i have a bit of code already, i just want someone to work with < 1292738672 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: an opengl drinking game in Haskell? sounds like the thing. < 1292738672 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Functional programming languages have never seemed particularly well-suited to game development, in my mind. < 1292738676 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: You really don't want to work with Sgeo. (I am doing a service to Sgeo here as well as you :P) < 1292738679 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: FRP. < 1292738690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: The only reason they seem unsuited is because the default IO monad model is _broken_. < 1292738704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: There is a functional way to do effects, FRP; it's sort of like event-based programming, but purely functional. < 1292738722 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'm assuming augur is not an idiot. And you don't think I'm an idiot, do you? < 1292738733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I refuse to comment. < 1292738734 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Let me guess. The state of the program is a function of the current moment and all events that have happened up to the current moment? < 1292738738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: No. < 1292738743 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: That's the shitty, non-functional model. < 1292738748 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Well, that's what it ought to be. ;P < 1292738753 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Haha... < 1292738755 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1292738756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: No, that's just the State monad, faked as a function. < 1292738761 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you once defended me when Vorpal made a comment... < 1292738763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :In fact it's the IO monad faked as the State monad faked as a function. < 1292738775 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: we'll consider that question once you've done your homework... >:) < 1292738776 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: Seriously -- there are ways to do games elegantly and functionally, and if I wasn't about to go to bed I'd be happy to explain. < 1292738777 0 :pingveno!~pingveno@c-98-246-133-8.hsd1.or.comcast.net JOIN :#esoteric < 1292738780 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :The only place that'd work is in something like Flash, methinks... < 1292738786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Kick ban him! Given into temptation! < 1292738787 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :...that is, what I said. < 1292738800 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for Death < 1292738807 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: he clearly stated that he procrastinated just fine without the channel < 1292738821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes, but he can procrastinate without irritating me :) < 1292738835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bah humbug! < 1292738841 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Well, another time, perhaps. I don't doubt it, I just find that it's easier for me to use an imperative style for realtime apps and leave declarative for editors and stuff like that. < 1292738847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and a sodding rubbish christmas to you lot, too! < 1292738854 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :G'night? < 1292738865 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: Were I to explain it to you you'd be converted, but MY BODY NEEDS TO GO UNCONSCIOUS GOD DAMMIT. < 1292738874 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :s/?/./ < 1292738875 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, night, and happy < 1292738881 0 :elliott!unknown@unknown.invalid QUIT :Quit: so long, fuckers < 1292738926 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliot, feel free to explain it to me when you're back, I'd love to learn < 1292738965 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: You got "so long, fuckers"ed. < 1292738991 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wishes he was a ... *gets slapped* < 1292739034 0 :j-invariant!unknown@unknown.invalid QUIT :Quit: leaving < 1292739078 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott is so hilarious < 1292739221 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :A character, certainly. < 1292739293 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :U+ED? < 1292739303 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :(the only letters in his name that are hex numerals) < 1292739368 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Nah, I'm pretty sure he lives far into the private-use area. < 1292739373 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :omg he is secretly ed! < 1292739424 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Words stuffed. That took about ninety seconds per word. Now let's see if I can understand any of this story whatsoever. < 1292739540 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :"Karhulla oli juustonpala suussa." Something to do with a bit of cheese and a mouth. < 1292739561 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :A bear, a bit of cheese, and a mouth. < 1292739563 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translate Karhulla oli juustonpala suussa. < 1292739569 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Bear was a piece of cheese in your mouth. < 1292739579 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure that's exactly what it means. < 1292739607 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Okay. -lla denotes the adessive case, which means... either in or on, lemme see. < 1292739615 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translate Karhulla < 1292739618 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Karhulla < 1292739624 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :On. < 1292739625 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translatefromto fi en Karhulla < 1292739626 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Bear < 1292739634 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Now, "oli"... some form of "olla". < 1292739638 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translatefromto fi en oli < 1292739645 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :was < 1292739651 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translatefromto fi en juustonpala < 1292739654 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :a piece of cheese < 1292739654 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Third-person singular indicative past. "Was". < 1292739668 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translatefromto fi en suussa < 1292739669 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :mouth < 1292739680 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :I think "juusto" is "cheese"; who knows what the "n" is all about. "Pala" is "bit". < 1292739687 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The bear had a piece of cheese in its mouth, perhaps? < 1292739697 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Finally, -ssa is "in". < 1292739707 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :So. "On the bear was a cheese-bit in the mouth." < 1292739721 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Or, more idiomatically, "The bear had a piece of cheese in its mouth." < 1292739731 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1292739738 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :translateto en a piece of cheese < 1292739739 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :a piece of cheese < 1292739744 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Err < 1292739747 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :translateto fi a piece of cheese < 1292739749 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :pala juustoa < 1292739768 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, your bot's translations into English are truly brilliant. < 1292739774 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :translateto no a piece of cheese < 1292739776 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :et stykke ost < 1292739784 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :The phrase "a piece of cheese" captures every nuance of the phrase "a piece of cheese". < 1292739803 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Okay. Next sentence... < 1292739812 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :tswett: oh i don't know, it's a bit imprecise < 1292739831 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, what was the cheese's motivation? < 1292739845 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :"Kettu pyysi sitä monta kertaa, mutta karhu ei sitä ketulle antanut." < 1292739870 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Well, "kettu" means "fox". So... something about a fox. "Karhu" is still "bear". I think "mutta" might be "but". < 1292739877 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :translate "Kettu pyysi sitä monta kertaa, mutta karhu ei sitä ketulle antanut. < 1292739879 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :"Fox asked for it many times, but the bear does it gives the fox. < 1292739892 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :tswett: It's just Google. < 1292739910 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, your bot's invocations of Google are truly brilliant. < 1292739925 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :apart from the missing ei -> not, that was pretty understandable... < 1292739936 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Indeed. < 1292739947 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Well, I don't recognize any of the other words, so I'm just going to move on to the next sentence. < 1292739989 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :"Kettu kysyi viimein: 'Tiedätkö mistä nyt tuuli käy?'" < 1292740009 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :The fox does something finally: "Something something something something something?" < 1292740016 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :translate Kettu kysyi viimein: 'Tiedätkö mistä nyt tuuli käy?' < 1292740110 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :echo ping < 1292740154 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: the source-of-fun has stopped yielding fun! Labor in order to make us feel better! < 1292740174 0 :hagb4rd!unknown@unknown.invalid QUIT :Quit: hagb4rd < 1292740186 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1292740222 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I'm just going to use a google. < 1292740230 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://i.imgur.com/a4yhf.jpg < 1292740233 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :El zorro finalmente preguntó: "¿Sabe usted donde el viento es ahora?" < 1292740250 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :echo ping < 1292740253 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :ACTION changes the output language. < 1292740254 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :The fox finally asked: "Do you know where the wind is now?" < 1292740296 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :So, I can read a lot of this, but not most of it. < 1292740350 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :ping < 1292740437 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1292740445 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :echo ping 19 38 59 (resonance mode, damping at level 7) < 1292740454 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :ping 19 38 59 (resonance mode, damping at level 7) < 1292740633 0 :hagb4rd!~perdito@koln-4db4247a.pool.mediaWays.net JOIN :#esoteric < 1292740947 0 :evincar!unknown@unknown.invalid QUIT :Quit: Sleep? < 1292741852 0 :church1!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1292742422 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What is 0/epsilon? < 1292742776 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So, I want to find f'(5) where f(x) = x^2 < 1292742845 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :(5+eps)^2 = 25 + 2*5*eps + eps^2 < 1292742853 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric := 25 + 10eps < 1292742868 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :- 25 = 10eps < 1292742872 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :/eps = 10 < 1292742877 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Correct result, awesome < 1292742930 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'd try it with e^x but don't know how to do n^eps, is it 0 or something weird like that? < 1292742953 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I can find out! < 1292742985 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :e^eps is probably 1+eps < 1292743044 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :e^eps must equal something + eps... < 1292743054 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, why 1? < 1292743066 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it has to be close to 1 because eps is close to 0 < 1292743124 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :more generally, i find the approximation e^x ~ 1+x for small x is useful for head estimates... < 1292743212 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Now, for the dual part of eps^eps < 1292743242 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :(1+eps)^(1+eps) = something + 0eps < 1292743242 0 :TLUL!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1292743245 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :o.O < 1292743260 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Did I screw that up? Yes I did I think < 1292743266 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I think I forgot the derivative of x^x < 1292743305 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :something + eps < 1292743324 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :x^x + x^x * ln x < 1292743423 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i am assuming that f(x + y*eps) = f(x) + y*f'(x)*eps for f a function differentiable at x < 1292743448 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That's what Wiki says I think < 1292743518 0 :TLUL!~TLUL@wikia/The-last-username-left JOIN :#esoteric < 1292744640 0 :hagb4rd!unknown@unknown.invalid QUIT :Quit: hagb4rd < 1292744965 0 :hagb4rd!~perdito@koln-4db42971.pool.mediaWays.net JOIN :#esoteric < 1292745599 0 :clog!unknown@unknown.invalid QUIT :ended < 1292745600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1292747815 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1292748188 0 :pingveno!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1292748303 0 :pingveno!~pingveno@c-98-246-133-8.hsd1.or.comcast.net JOIN :#esoteric < 1292748588 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1292752446 0 :MigoMipo!~John@84-217-9-134.tn.glocalnet.net JOIN :#esoteric < 1292753925 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1292754233 0 :Phantom_Hoover!~phantomho@cpc12-sgyl29-2-0-cust185.sgyl.cable.virginmedia.com JOIN :#esoteric < 1292756976 0 :hagb4rd!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1292759784 0 :TLUL!unknown@unknown.invalid QUIT :Quit: *disappears in a puff of orange smoke* < 1292760429 0 :Zuu!unknown@unknown.invalid QUIT :K-Lined < 1292760666 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : Vorpal: http://i.imgur.com/fOopp.jpg <-- what the hell is that? < 1292761135 0 :FireFly!~firefly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1292761135 0 :FireFly!unknown@unknown.invalid QUIT :Changing host < 1292761135 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1292763033 0 :hagb4rd!~perdito@koln-5d81f5fa.pool.mediaWays.net JOIN :#esoteric < 1292764199 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, some kind of hyperdungeon? < 1292764598 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Actually, I don't see any odd geometry in that... < 1292764615 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION swatpans Ilari --==\#/ < 1292764630 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Ouch. < 1292764939 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Based on blockiness, I guess its from minecraft... < 1292765555 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, ? < 1292765560 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, oh the image < 1292765562 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, perhaps < 1292765590 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, man made in large parts I suspect < 1292765592 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The "shadowy" spots look abnormal. < 1292765789 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, same do the cages < 1292765818 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :it must be man-made < 1292765840 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sure, but I mean "abnormal" in the sense of "not like the usual lighting rules". < 1292765866 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, indeed < 1292765905 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, it's the default texture pack I think < 1292765939 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Could be, I haven't looked at that lately. :p < 1292766007 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, btw I'm handing out free records (subject to limited availability) < 1292766068 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to log on soon(ishly) to test things. < 1292766244 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, to test what? < 1292766263 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The "don't jump if blocked" best-effort test. < 1292767595 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I love the TV Tropes Troper Tales pages... < 1292767646 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I bet you thought Wolfram had the largest ego possible without collapsing under its own weight. < 1292767648 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :You were wrong. < 1292767724 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Fortunately, Mary Sue has been cleansed of self-nominations. < 1292767860 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :In other news, I finally worked out the relationship between differentiation and integration in my head, 3 years after learning calculus. < 1292767904 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I am now content with the world. < 1292767946 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :http://tvtropes.org/pmwiki/pmwiki.php/TroperTales/EverybodyHatesMathematics < 1292768519 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1292768592 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: hmm, what's the relation between integration and differentiation? < 1292768605 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :olsner, seriously? < 1292768653 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The whole "int_a^bf(x)dx = F(a)-F(b)" bit? < 1292768664 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :*F(b)-F(a) < 1292768678 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I mean, did you just realize what the words mean, or did you find a more profound relationship? < 1292768746 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I realised why it happens in the first place. < 1292769020 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And since everybody hates matematics... It is easy to disinform using creative statistics... :-) < 1292769154 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: it "happens"? I've always thought integration and differentiation was something you *did* rather than something that just happens < 1292769184 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :olsner, "the reason differentiation and integration are inverses of each other", then. < 1292769526 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I never managed to learn the definition of integration, but for me integration means semi-intelligently guessing a function that has the correct derivative < 1292769568 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and then they're simply inverses by definition :) < 1292770144 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :olsner, yes, but the other meaning of (definite) integration is the calculation of the area under a curve. < 1292770180 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Which has, on the face of it, absolutely nothing to do with gradients of curves at a point. < 1292771325 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION installs GNUstep with a feeling of self-hatred. < 1292771538 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :cut wrist, install gnustep? < 1292771555 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Not just gnustep! < 1292771559 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :gnustep-devel! < 1292771576 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :("dev" isn't fancy enough for the GNUstep people, apparently.) < 1292771813 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, Oolite is worth it. < 1292772229 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=D1sXuHnf_lo < 1292772596 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :i have some NeXTSTEP shit < 1292772599 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :anyone wanna buy it < 1292773165 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1292773224 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I'm only installing GNUstep because Oolite was originally written in Objective-C, and noöne could think of a better way to port it to other platforms. < 1292773261 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :well I still have two nextstep pizza boxes < 1292773266 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :and a megapixel monitor < 1292773272 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :and other BULLSHIT i want to get rid of < 1292773825 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1292774059 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:29:56 i have some NeXTSTEP shit < 1292774059 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:29:59 anyone wanna buy it < 1292774060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :only a cube. < 1292774272 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :tru < 1292774277 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :every1 luvs the cube < 1292774284 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :but i only have slabs of shit < 1292774294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Quadrescence: well do you have anything that can actually boot < 1292774345 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1292774351 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :one of the slabs boots up fine < 1292774358 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :the other doesn't (idk why) < 1292774474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm what keyboard/mouse ports do they have, wikipedia doesn't say < 1292775203 0 :reiffert!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1292775208 0 :reiffert!~thomas@mail.reifferscheid.org JOIN :#esoteric < 1292775346 0 :Gracenotes!unknown@unknown.invalid QUIT :Remote host closed the connection < 1292775557 0 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1292775945 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Making a case more cubical than flat seems to be a surefire way of attracting people. < 1292775989 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I have that SGI Indy slab ("Indigo without the 'go'", referring to the performance), and it's irrefutably more boring than the O2s, no matter that their hardware doesn't differ *that* much. < 1292776082 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(The O2 is a sort of a rounded cubeish thing.) < 1292776126 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Admittedly it does also have many more megahurts too.) < 1292776439 0 :poiuy_qwert!~poiuy_qwe@bas5-toronto47-2925110027.dsl.bell.ca JOIN :#esoteric < 1292776536 0 :p_q!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1292778066 0 :sftp!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1292778095 0 :sftp!~sftp@79.174.35.11 JOIN :#esoteric < 1292778103 0 :Sasha!~WHAT@75-174-216-120.phnx.qwest.net JOIN :#esoteric < 1292778960 0 :elliott_!~elliott@91.105.117.134 JOIN :#esoteric < 1292778960 0 :elliott_!unknown@unknown.invalid QUIT :Client Quit < 1292778965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: ERROR: Permission to fis/mcmap.git denied to ehird. < 1292778966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Plzfix? < 1292778985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think you pretty much have to add people individually as contributors :P < 1292778989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I has two useful commits to push. < 1292779071 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Can't you make a pull request < 1292779096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yes, but fizzie said it was going to be public-push, and that sounds more fun than having my own repo. :p < 1292779220 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I can add you as a collabomator there, soon. (What's the two things?) < 1292779268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: //coords, which does some printin' of coordy actions (because F3 gets overwritten with graphs a lot), and I changed the "pure white" colour to in fact just use the terminal's default colours, so it works on lightbulb-y terminals too. < 1292779271 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(i.e. light-backgrounded) < 1292779278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*backgrounded.) < 1292779380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Is it "easy" to inject chat packets? < 1292779385 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If so, I'll make //coords do that. < 1292779405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(The colour code syntax would be nice, too; I know it involves that wavy S thing.) < 1292779553 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sure. < 1292779572 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :inject_to_client(packet_new(PACKET_CHAT, "foo")); will probably make 'foo' appear on the client. < 1292779583 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Just #include "common.h" and "protocol.h" for that.) < 1292779678 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And the color code syntax is just §-in-UTF8 followed by a character out of [0-9a-f], the palette is also somewhere. < 1292779695 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or you can look at the color code decoding to map between palette and terminal colors. < 1292779753 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :UTF-8 in strings probably might not be quite safe, but you can use something like "foo \xc2\xa7dbar" to get bar in color d. < 1292779756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: If I put the actual UTF-8 byte in the source, you'll hate me, won't you? < 1292779761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Aww, see, see, you preempted me. < 1292779766 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, and it's not a byte, it's two. < 1292779770 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes, yes, yes. < 1292779773 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You PEDANT. < 1292779778 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh man, I have to use sprintf. Isn't that great? < 1292779831 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll just make a 96-byte buffer; 's a power of two, and my envelope calculations tell me it'll work right up until Notch switches to 128-bit coordinates. < 1292779875 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What should I write in the collaborator thing? Is it a github account name or what? Are you that "ehird" guy? < 1292779901 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I may be that ehird guy, yes. < 1292779905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And I think that's what you put in there, yes. < 1292779920 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I am also that alise guy, but I use that account even less than this one. < 1292779933 0 :Goosey!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1292779942 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's there. And ooh, it has a completion thing. < 1292779976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So, wait, are packet_news garbage collected? < 1292780038 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :No, but when you hand a packet to inject_foo, the corresponding proxy thread will deallocate it when it has been injected. < 1292780051 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1292780061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What is your favourite colour? < 1292780076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(I need to pick a colour for the mcmap chat messages that isn't red (hMod) or purple (COBOLSERVER 3000).) < 1292780091 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Aw, I was going to go all purple. < 1292780110 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think ineiros would strike down upon thee. < 1292780136 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The pink is quite sexy too, but I guess that's rather close to purple. < 1292780154 0 :j-invariant!~aaaa@unaffiliated/j-invariant JOIN :#esoteric < 1292780185 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Is yellow used for anything? < 1292780192 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, yes, it is, but I forget what. < 1292780197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Is that the "main" server messages? < 1292780205 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I vaguely recall seeing yellow somewhere, but not sure where. < 1292780209 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :any luck with the differentatiation < 1292780213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll go with cyan. < 1292780222 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right, the "left the game" "joined the game" messages are in yellow. < 1292780228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: well, yep; it works properly, for Nth derivatives, parameterisable N, and finite shows < 1292780248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: basically I added a new constructor Zero that is, semantically, identical to (fix (Dual 0))... but of course all the operations on it terminate strictly and the like < 1292780254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it can be printed more simply < 1292780298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: So I want colour 11. So... \xc2\xa7b? < 1292780312 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sounds right. < 1292780459 0 :chickenzilla!unknown@unknown.invalid PART #esoteric :? < 1292780867 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Pushing now. < 1292780874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (You will probably *really* want to rewrite cmd_say.) < 1292780892 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: There you go. < 1292780910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Three lovely commits; commands now give output to chat, too, in cyan, and //coords works. < 1292780913 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, got Oolite working; may not play MC for several days. < 1292780915 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :To print your current coordinates. < 1292780924 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Also shows white as the terminal's default colour. < 1292780925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Such happy. < 1292781013 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Interestingly, (0,0) isn't the spawn; it's three chunks that were presumably the original spawn, then a biome disconinuity. < 1292781021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I guess the spawn was changed right away for whatever reason. < 1292781392 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I f3'd the spawn a while ago. < 1292781406 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Maybe they moved it when starting the game, who knows. < 1292781692 0 :radams976!~radams976@adsl-95-140-143.jan.bellsouth.net JOIN :#esoteric < 1292781730 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :radams976: hi < 1292781795 0 :radams976!unknown@unknown.invalid QUIT :Client Quit < 1292781805 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Don't byte the noobs! < 1292781908 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but we can still nibble them, can't we? < 1292781915 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1292782242 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :nybble? < 1292782287 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : And since everybody hates matematics... It is easy to disinform using creative statistics... :-) <-- only almost all, not all < 1292782359 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : and a megapixel monitor <-- what < 1292782472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What is "what" about that. < 1292782474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Megapixel = 1M pixels. < 1292782492 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I've pushed an incredibly important update; it is rather vital that everyone upgrades now. < 1292782499 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but where can you even find non-megapixel monitors nowadays? except on like mobile phones? < 1292782511 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : fizzie: Oh man, I have to use sprintf. Isn't that great? <-- sn < 1292782521 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Shut up. < 1292782521 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: it is the name of NeXT's monitor < 1292782537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: (There was no way it could overflow the buffer, as the variables in question are fixed-size.) < 1292782539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Integers.) < 1292782554 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :http://www.monitorworld.com/Monitors/next/megapixel.html < 1292782559 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Quadrescence, a < 1292782560 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah* < 1292782595 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : fizzie: I've pushed an incredibly important update; it is rather vital that everyone upgrades now. <-- what is it? < 1292782605 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Vital. < 1292782607 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also an update. < 1292782673 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no way < 1292782690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: No way what?! < 1292782695 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that it is vital < 1292782699 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Of course it is. < 1292782702 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION slaps test with a super-large, super-smelly, decaying digitally-enhanced reinforced IRC-grade trout < 1292782705 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1292782709 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I had that alias here < 1292782709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :See? < 1292782711 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1292782713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vital. < 1292782714 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I wonder why < 1292782720 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I'll remove it from my cleint < 1292782721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Because of the 90s. < 1292782725 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :client* < 1292782741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.urbandictionary.com/define.php?term=trout-slap <-- Look, it even has pages of Urban Dictionary entries with lots of probably-not-ever-used-more-than-once sexual definitions. < 1292782745 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That's the mark of authenticity, that is. < 1292782753 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1292782817 0 :wareya!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1292782835 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1292783050 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :"The only time a Singaporean is capable of forming a complete English sentence on IRC" :) < 1292783055 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1292783174 0 :j-invariant!unknown@unknown.invalid QUIT :Quit: - < 1292783885 0 :j-invariant!~aaaa@unaffiliated/j-invariant JOIN :#esoteric < 1292784136 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :HEY GUYS I'm on a plane < 1292784284 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: have you had it with the snakes on it yet? < 1292784331 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :*sexual joke in poor taste* < 1292784455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I'm refactoring all the non-[CHAT] messages to use chat(); that okay with you? < 1292784460 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hippos in a helicopter at least rhymes. < 1292784469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well. < 1292784473 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also apart from [PLAYER] appear/disappear. < 1292784477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because that would just be irritating. < 1292784493 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :what is that thing you're working on anyway? < 1292784497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Actually turns out I already did that. < 1292784502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: A Minecraft server proxy that does all kinds of fancy stuff. < 1292784508 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oh, nice < 1292784511 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I guess < 1292784514 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, I assume you play mc < 1292784524 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Assume"? < 1292784525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :On what grounds? < 1292784526 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(since almost everyone does) < 1292784529 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: you can assume whatever you want :P < 1292784530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That's ... not even false. < 1292784533 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, a Swede. < 1292784534 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, too < 1292784539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... < 1292784550 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, like, more than half of the Swedes I know seem to have mc < 1292784585 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :*more* than half? that implies you know more than two swedes! < 1292784591 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :git push is so slow. < 1292784611 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, blame git or github < 1292784619 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, tens! < 1292784621 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll blame ssh. < 1292784628 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Since git pushes are usually very fast and GitHub's HTTP is very fast. < 1292784631 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ssh is fast in general < 1292784639 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it seems to imply that anyway, it depends on what it takes for you to think it "seems" like someone has mc < 1292784646 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I would like to see bzr push faster than this over ssh. Ha. < 1292784649 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :specifically, on whether I "seem" to have mc < 1292784660 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, you don't seem to have it < 1292784673 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, seem was used in the sense of clothing < 1292784674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: LOL CONVERSING WITH VORPAL < 1292784697 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What messages are those? < 1292784698 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(also to the north-left) < 1292784707 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't think the map-mode changes make sense in the client stream really. < 1292784708 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Mode setting ones, and nothing else at all. :p < 1292784714 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's I guess a matter of opinion. < 1292784717 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what's so lol about that? < 1292784721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh. Well, I've already pushed it. You can revert if you want, it's just that I never look at the console. < 1292784729 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (And I can easily imagine someone, e.g. redirecting it to a file.) < 1292784733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: olsner, seem was used in the sense of clothing < 1292784752 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't have a very strong opinion on it, so I guess I'll just let it be. < 1292784765 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oh, I missed that line, but that's spelled 'seam' afaik < 1292784772 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, randomness < 1292784788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it is, but it did helpfully derail the conversation without you getting an answer :) < 1292784808 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :FLOODTIME < 1292784809 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :* gamax92 has joined ##javascript < 1292784809 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : may i ask you a question < 1292784809 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : gamax92: First you have to check the schedule to see whether this is an Approved Questions Hour, then you have to file a question request at the web site in the /topic. < 1292784809 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : i dont have the question, my friend does < 1292784810 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Meh, the cart-riding will need a more complicated thing. :/ < 1292784812 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : gamax92: Well then he'll have to fill out the question request form. < 1292784813 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :* gamax92 has left ##javascript < 1292784815 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : Am I a bad person? :P < 1292784819 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1292784829 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Yes, and that's why we love you. < 1292784861 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: hmm, did I ask anything that wasn't answered? < 1292784870 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1292784902 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: well, OK, you didn't ask a question, but you implied one < 1292784908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : it seems to imply that anyway, it depends on what it takes for you to think it "seems" like someone has mc specifically, on whether I "seem" to have mc < 1292784919 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: olsner, you don't seem to have it < 1292784934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: olsner, you don't seem to have it olsner, seem was used in the sense of clothing < 1292784939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: this is one of the things that vorpal likes to call "jokes" < 1292784966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Can I add timestamps to the [CHAT]/[PLAYER] things? < 1292785023 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: hmm, right, and that derailed something? < 1292785041 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: yes, the minecart fell off the track. < 1292785042 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait what? < 1292785076 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: You mean on-console? Why not. < 1292785114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I'm doing all my edits with vi without syntax highlighting or automatic indentation; can I have a hardcore prize? < 1292785127 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure there is a prize. < 1292785134 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: But I want a prize. < 1292785142 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :now to find the right way to construct this PDPE < 1292785162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Can I conflict with math.h names? :p < 1292785322 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oh, this one from a week ago: https://gist.github.com/657234#LID75 In which olsner manages to make me hate long mode. < 1292785332 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :did you mean that specific line? what's wrong about it? < 1292785343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: MAGIC FLAGS AND BITS AND PGE AND WHAT < 1292785472 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :mmkay, well paging involves flags, what's the big deal? :) < 1292785485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: DFFFF < 1292785534 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You do realise that every time you call do_die, it's with "%s", msg, thus making the printf part of do_die rather useless? :p < 1292785552 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's not very true. < 1292785562 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or of it is, it wasn't when I wrote it. < 1292785564 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's the dief macro still. < 1292785569 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's not my fault if I don't use it. < 1292785582 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Because the instances have been changed to stopfs.) < 1292785587 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(And I think those still use do_die.) < 1292785632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh, so you do. < 1292785632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Darn. < 1292785654 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (I want to make do_die use log(), but I can't, really, because it does two prints.) < 1292785669 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and? < 1292785673 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: And what? < 1292785684 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Prediction: ...logarithms... < 1292785687 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why is it an issues it uses 2 prints < 1292785692 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because log() does one print. < 1292785703 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes.... and? < 1292785709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And it timestamps them. < 1292785715 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So I can't use log() in do_die(). < 1292785720 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I do use math.h here and there, I'm not sure how I feel about the name-conflict. < 1292785724 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, are they macros? < 1292785730 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ...??? < 1292785733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: OK, I'll rename it. < 1292785746 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: printlog, probably. < 1292785749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or logprintf. < 1292785755 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, do_log < 1292785756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or log_print :P < 1292785761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :do_ is a silley prefix. < 1292785764 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :log_print is good. < 1292785767 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, true < 1292785772 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, log_format? < 1292785777 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :log_fmt < 1292785781 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :log_printf. < 1292785783 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, the do_ prefix is not visible to calling code. < 1292785785 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :or that < 1292785787 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :sounds like you want a va_list variant of log or something like that < 1292785792 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's just the underlying function for the die/dief/log/logf macros. < 1292785795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: not really, it's more involved than that < 1292785807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I need a va_list variant that also takes /another/ format and two extra args for that one :P < 1292785835 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Yes, the code in question does one vfprintf and one fprintf and expects them to be concatenated. < 1292785841 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, you can just use a buffer there. < 1292785870 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :vararg-macros perhaps? #define foo(fmt, ...) real_log_printf("%d" fmt, timestamp(), ##__VA_ARGS__) < 1292785873 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :s/log/stop/g < 1292785905 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I think the ## magic is an gcc-extension though, without that you'll have interesting issues when doing foo("bar") with no extra args < 1292785963 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :what's the problem with doing two prints though? < 1292786048 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: The "print" adds the timestamp, so the calling code -- which does fprintf(stderr, "DIE: %s:%d: ", file, line); vfprintf(stderr, fmt, ap); -- would end up having those two things split in two separate timestamped lines. < 1292786052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1292786056 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1292786103 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, the ## gcc-onliness is why I have a die() macro and a dief() macro separately. (Though I already have nested functions and whatnot, so gcc-extensions aren't really much of an issue.) < 1292786148 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1292786157 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :do you guys know some debuggers for DOS? < 1292786165 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :there's DEBUG < 1292786170 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1292786192 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :djgpp might include a gdb for dos < 1292786210 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i want to tap into one game's memory and check some stuff there < 1292786218 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :that gdb probably only works with DPMI or dos4gw though < 1292786246 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Have fun fixing conflicts with what I just pushed to github, though. < 1292786282 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I also fixed the leak you had added in cmd_slap. < 1292786291 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :hell..this awesome footage make one's flesh creep < 1292786307 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Zuh? < 1292786309 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :--> http://www.youtube.com/watch?v=cJrtROuQFfk&list=PL408EDD9348488A28&index=11&playnext=4&fmt=18 < 1292786313 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: If this were scapegoat ... < 1292786403 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I sort of liked the "//goto: usage: //goto x z" over "usage: //goto x z", but whatevers. < 1292786433 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: koyaanisqatsi is boring < 1292786459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Really? It seemed like super-weird duplication to me. < 1292786466 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :is it? it's the final scene right < 1292786474 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm super-weird like that. < 1292786496 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :guess you have to tune in someway.. or just be in the right mood < 1292786510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Guess how lucky I am? < 1292786516 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: That's right! I get to rewrite handle_chat! < 1292786527 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Why's that? < 1292786532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: log_print < 1292786587 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Just use a glib string and g_string_append_printf/g_string_append/g_string_append_whatever instead of those separate prints. < 1292786588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Hmm, is there a "more efficient" way than str_join to build up a big ol' string incrementally in glib? < 1292786593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :See, look at that, you're so helpful. < 1292786647 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GString *s = g_string_new(""); and so on; then at the end you do a "gchar *cstr = g_string_free(s, FALSE);" and it gets rid of the glib string structures but gives you the single c-string back. < 1292786662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :glib is so weird. < 1292786691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(But, so I don't end up saying it in my head all the time when coding: LOLOLOL CONSTRUCT A NEW G-STRING ahem.) < 1292786716 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :sounds like something stuffed with loads of dynamic allocations and indirection... how will you handle out-of-memory errors in log_print? :) < 1292786725 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: It's not "real" logging. < 1292786729 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I won't! Yaaaay. < 1292786735 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: It's just whatever ends up in the stdout of the program. < 1292786743 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But you can totally tee it to a file, man. < 1292786749 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd, why does the rocket change a short way into that video? < 1292786759 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: http://library.gnome.org/devel/glib/stable/glib-String-Chunks.html This is probably better than a GString, but GStrings look more convenient. < 1292786765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(LOLOLOLOL CONVENIENT G-STRING HAHA ahem.) < 1292786784 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover? ..this is the challanger < 1292786795 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION laughs. < 1292786796 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You're printing out silly text to the console, I'd really just go with the convenient choice. < 1292786801 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That is definitely not the Challenger. < 1292786832 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :you're right < 1292786850 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :it's not even a space shuttle < 1292786861 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :For one thing, the Challenger disaster was 4 years after Koyaanisqatsi was released; for another, that rocket is clearly a Saturn V in the early bits of the video. < 1292786871 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It changes to something else after it takes off. < 1292786886 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :changes? < 1292786891 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :it blows up < 1292786911 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :No, I mean the rocket that blows up is not a Saturn V. < 1292786925 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :yes.. changing some states.. you can say indeed < 1292786947 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :particle transformation matrix < 1292787047 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What. < 1292787228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : char stamp[23]; < 1292787228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : time_t now = time(NULL); < 1292787228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : struct tm *tm = localtime(&now); < 1292787228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : strftime(stamp, sizeof(stamp), "%FT%H:%M:%s%z", tm); < 1292787228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : printf("%s ", stamp); < 1292787228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : vprintf(fmt, ap); < 1292787230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : putchar('\n'); < 1292787241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Why is, instead of the timezone, it printing :? < 1292787246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :There's some garbage after the space but I think that's handle_chat. < 1292787257 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2010-12-19T19:30:� [CHAT] 'Welcome to a322.org Minecraft server' < 1292787257 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2010-12-19T19:30:�v�� [PLAYER] appear: fizzief < 1292787257 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2010-12-19T19:30: [CHAT] What's that? You think you fixed it? HAHAHAHA < 1292787260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, no. < 1292787265 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The first two have corruption before the space. < 1292787269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So /something/ is WRONG. < 1292787279 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, another question: can you tell me which rocket-part it is, focused by the cam in that epic falling sequence < 1292787311 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's a thruster and the tattered remains of the hull above it. < 1292787349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: How fast can fungot generate babble? < 1292787349 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :elliott: a worker is any body of the rule defining a specific < 1292787351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: The command-line version. < 1292787372 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Not too fast. I can benchmark quickly. Depends also on the model. How so? < 1292787375 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :A second-stage thruster, too, since the first stage has at least 3. < 1292787415 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :thats kind of precise :) thx < 1292787418 0 :Sasha!unknown@unknown.invalid QUIT :Remote host closed the connection < 1292787460 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Turns out it doesn't matter! < 1292787481 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The command-line version is a Perl script, though; one could whip up a trivial C version to be real fast. And it does the whole disk-reading-all-the-time (though I suppose disk cache will take care of that). < 1292787494 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The Perl script is probably slower than the Befunge code. < 1292787540 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :16 words per second with europarl. < 1292787624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :addquote The Perl script is probably slower than the Befunge code. < 1292787652 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :251) The Perl script is probably slower than the Befunge code. < 1292787673 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Any ideas w/ my string corruption? < 1292787766 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Not immediately. Pastebin the surroundings of the function too? < 1292787795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: http://sprunge.us/ZBYY < 1292787801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Or do you mean the functions around it? 'cuz that would be weird. < 1292787821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Aha... %s must be wrong. < 1292787829 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2010-12-19T19:32:[corruption] < 1292787837 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Why is, instead of the timezone, it printing :? <-- maybe timezone is not set? < 1292787839 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : %s The number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 < 1292787839 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : (UTC). (TZ) < 1292787841 0 :pikhq!~pikhq@174-22-145-90.clsp.qwest.net JOIN :#esoteric < 1292787842 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK, that explains little, but I want %S. < 1292787844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: no, it is < 1292787848 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :k < 1292787853 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I managed to not notice that. < 1292787863 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Still, that corruption don't look like seconds to me. < 1292787895 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I just read %H:%M, looked at your pasted examples, went "hours and minutes, okay" and didn't wonder about seconds. < 1292787907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2010-12-19T19:44:22+ [CHAT] 'Welcome to a322.org Minecraft server' < 1292787908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2010-12-19T19:44:22+  [PLAYER] appear: fizzief < 1292787909 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What. < 1292787919 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"+" doesn't rightlook. < 1292787936 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's the right character there to be the first-thing-of-timestamp. < 1292787941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Indeed. < 1292787953 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I'm without enough space. < 1292787959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Still, I would like it if it appended Z for UTC. < 1292787968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: In fact, perhaps it doesn't really need to put the timestamp there at all. < 1292787973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: People know what timezone they're in, right? < 1292787978 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Usually. < 1292788003 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or you could s/localtime/gmtime/, put a Z in there manually, and just say it logs in sensible-time instead of local-time. < 1292788004 0 :Sasha!~WHAT@75-174-216-120.phnx.qwest.net JOIN :#esoteric < 1292788021 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or, or, or! Timestamp in Internet time! < 1292788035 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Or you could s/localtime/gmtime/, put a Z in there manually, and just say it logs in sensible-time instead of local-time. < 1292788039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If this were meant to be a useful log, sure. < 1292788047 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But actually it's just so that you can see general timestamps :P < 1292788073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: In fact, I probably shouldn't bother logging dates. Nobody *really* wants to log this to a file. < 1292788093 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, %H:%M:%S or even [%H:%M:%S] could be okay. < 1292788111 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: There's already bra-kets around the [CHAT] and the like, so that would look weird. < 1292788116 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess. < 1292788132 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's not a very serious matter, the formatting of this thing. < 1292788134 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION separates it out into a print_timestamp function to use in do_die. < 1292788137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: YES IT IS < 1292788170 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Did you already merge in my changes that add more plain printfs inside world.c? :p < 1292788225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Not yet! < 1292788237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: BTW, I'm making DIEs go to stdout, since they're part of the "log". < 1292788239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Is that okay? < 1292788262 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1292788325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1292788426 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sure. < 1292788443 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why are you doing quantum physics in an MC mapping tool? < 1292788462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Because. < 1292788489 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: It's not just a mapping tool, it's nowadays also a slapping tool. < 1292788501 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Goody! < 1292788540 0 :pikhq!~pikhq@174-22-145-90.clsp.qwest.net JOIN :#esoteric < 1292788559 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :java.io.IOException: Bad packet id 200 at gk.b(SourceFile:89) at jq.c(SourceFile:149) at jq.c(SourceFile:9) at pf.run(SourceFile:59) -- ooh, haven't seen that one before. < 1292788742 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1292788775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@dinky:~/code/mcmap$ ./mcmap -x 2 -s 300x a322.org:25566 < 1292788775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :19:58:53 [DIE] main.c:171: Invalid window size: 300x < 1292788783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think I just unintentionally enterprisey'd your option parsing. < 1292788806 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Sh... should I put it back? :p < 1292788848 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1292788867 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What does "enterprisey'd" mean, exactly? < 1292788917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@dinky:~/code/mcmap$./mcmap -x 2 -s 300x a322.org:25566 < 1292788918 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :19:58:53 [DIE] main.c:171: Invalid window size: 300x < 1292788919 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: That. < 1292788939 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1292788946 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, I don't mind. < 1292788950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :YAY ENTERPRISEY < 1292788950 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It *is* a bit silly, though. < 1292788956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Yes, but, unified functions! < 1292788970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: The alternative is die_due_to_user_error_f and die_due_to_code_error_f. :P < 1292788981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Actually I think I've seen that line-number-in-user-error thing in some other big software package. Apache? < 1292789022 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : print_log("[BAD] Unknown packet id: 0x%02x", t); < 1292789023 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's bad. < 1292789036 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*log_print < 1292789047 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Can I make a print_log function that prints the logarithm of a given number? :p < 1292789088 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That could actually be a dief there. < 1292789095 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Because it's actually going to die. < 1292789106 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh, it is? Wonderful. < 1292789120 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Feel free to make it a die instead of log+return 0. < 1292789126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: "Dief" is such a wonderful word. < 1292789129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's so... Nazi. < 1292789130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :DIEF! < 1292789138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I may be slightly mad. < 1292789156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :elliott@dinky:~/code/mcmap$ ./mcmap -x -y -s 300x300 a322.org:25566 < 1292789156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :20:05:14 [DIE] main.c:144: Option parsing failed: Cannot parse integer value '-y' for -x < 1292789164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think that the "Option parsing failed:" bit there is slightly redundant. < 1292789183 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Those are directly from glib's option-parser, I guess. < 1292789193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Indeed. < 1292789200 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :At least I can't recall writing such a thing. < 1292789202 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Now to pull in your changes. < 1292789208 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You wrote "Option parsing failed:", though. < 1292789210 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Which is just silley. < 1292789212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Well, lowercase o.) < 1292789214 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I did? < 1292789220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1292789230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Auto-merging main.c < 1292789230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Auto-merging protocol.c < 1292789230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Auto-merging world.c < 1292789230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :CONFLICT (content): Merge conflict in world.c < 1292789230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Automatic merge failed; fix conflicts and then commit the result. < 1292789237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think the merge went much more badly than git suggests. < 1292789248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :<<<<<<< HEAD < 1292789248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : log_print("[PLAYER] appear: %s", name); < 1292789248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :======= < 1292789248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (name) < 1292789248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : { < 1292789249 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : printf("[PLAYER] appear: %s\n", name); < 1292789251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>>>>>>> dddd7178398e71bc67ef5aaa9312f0a40d8ed4b0 < 1292789253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1292789259 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's not much of a conflict there. < 1292789280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Indeed. < 1292789295 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: "VEHICLE"? Heh. < 1292789300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[TRANSPORTATION MECHANISM] < 1292789313 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I originally wrote CART, but I think the same thing will apply to BOATs. < 1292789321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Anyway, apparently by "a bunch", you mean "three". < 1292789327 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes, a whole THREE printfs you added! Oh god! < 1292789335 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Three's a... bunch. < 1292789362 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :They are more in the nature of debugging messages than actual sensible user messages, but, well. < 1292789368 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Who wouldn't want to see some entity ids? < 1292789409 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Coincidentally! I think I fixed the "red streaks" problem. < 1292789430 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: So, uh, I didn't get any debug messages. < 1292789433 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I think I forgot to make'. < 1292789441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :No, I didn't. < 1292789445 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :20:09:22 [CHAT] 'Welcome to a322.org Minecraft server' < 1292789445 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^C[VEHICLE] Mounted 855718elliott@dinky:~/code/mcmap\$ < 1292789446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What. < 1292789457 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1292789459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I forgot to loggify them. < 1292789541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Mind if I go all OCD and make everything have a four-char [XXXX]? < 1292789556 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Nnnno, if you seriously don't have anything better to do. :p < 1292789588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: It's Christmas, why would I have anything better to do? :) < 1292789603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think I might make the die prefix [GAK!]. < 1292789608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That's four bytes, after all! < 1292789611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well, six. < 1292789685 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or DIEF, you seemed to like it. < 1292789733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: So does your thing handle pig-riding? < 1292789754 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't quite know. < 1292789759 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to test a boat now. < 1292789786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :20:15:49 [DIED] main.c:147: Cannot parse integer value '-y' for -x < 1292789788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SO DAMN ENTERPRISEY. < 1292789863 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: OK, pushed my enterprises. < 1292789879 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i don't believe that there's a way to run gdb under DOS < 1292789883 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :in dosbox for example < 1292789890 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't quite remember how to make a boat. < 1292789895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nooga: djgpp < 1292789897 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no? < 1292789901 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: It's a U shape. < 1292789905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Bottom two rows. < 1292789907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sticks or wood, I forget. < 1292789922 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Wood-U worked. < 1292789948 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oo, works. < 1292789995 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers making his Minecraft start-up script start mcmap. < 1292789996 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :[VEHICLE] mounted 867873 < 1292789996 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :[VEHICLE] unmounted 867873 by destroying < 1292790007 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(That was before your changes.) < 1292790033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You might want to remove the IDs and make it (to modify the message in mine) "[INFO] Mounted vehicle.", "[INFO] Dismounted vehicle by destroying.", etc. < 1292790045 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (It's dismount, not unmount :P) < 1292790095 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Dismounted the filesystem. < 1292790106 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Blame Unix. < 1292790175 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Pushed a memory leak fix for your handle_chat. :p < 1292790358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: It's not my fault C sucks. :p < 1292790379 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What would be really nice is if scaling scaled the little people indicators too... I know you already know of that, though. < 1292790436 0 :pikhq!~pikhq@174-22-145-90.clsp.qwest.net JOIN :#esoteric < 1292790530 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, my stepdad randomly decided to swap out routers. < 1292790546 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :His new router hands back 192.168.1.1 for every DHCP request. < 1292790548 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I should probably just buy a polygon-filler and draw the indicators with that. < 1292790578 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Meaning there's several systems on the same network with the same IP address. < 1292790606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Completely randomly? :P < 1292790611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: And: AWESOME. < 1292790617 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm, sorry, 192.168.1.2, not 192.168.1.1. < 1292790621 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But, yeah. < 1292790626 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It just hands the same damned IP back. < 1292790627 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Put OpenWRT on it. < 1292790628 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's the one-person router. < 1292790645 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :He stopped working on it because "works for me". < 1292790670 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'll probably do that to the old one. < 1292790720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Was there any reason to change the router? :P < 1292790728 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: None! < 1292790749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Do you really have to buy one? I mean, you just do one more/less pixel each time. < 1292790797 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, the rectangles are already with FillRect. < 1292790807 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The triangle-drawing is a bitmap though. < 1292790815 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Whoo, the old one is currently supported by OpenWRT. < 1292790823 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess eight-directional triangles I could just special-case instead of using a general-purpose polygon routine. < 1292790834 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'll fix that at point X. < 1292790864 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: N-directional triangles would be fun too, though. < 1292790931 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but I don't want to redraw the map all the time just when you move your head around. < 1292790944 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(And it seems to send an awful amount of the player-look packets.) < 1292790949 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You could just redraw the triangules. < 1292790962 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The code is not clever enough to repaint only part of the background. < 1292791014 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: But it's enterprisey! < 1292791021 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Away now. < 1292791038 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: ENTERPRISEY < 1292791061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Major mcmap updates. < 1292791239 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1292791258 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :gdb does not recognize this game as executable < 1292791266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nooga: Well, djgpp is like, extended-only. < 1292791274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nooga: Hmm ... < 1292791280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nooga: gdb can do remote debugging via serial port. < 1292791284 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :the game uses dos4gw i thinkk < 1292791287 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nooga: Perhaps you can convince a compiler to cross-compile for DOS with support for that? < 1292791290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also, djgpp has its own stuff. < 1292791294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nooga: Oh, so you don't have the code. < 1292791296 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nooga: I think you're fucked. < 1292791301 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Try DOSEmu maybe? It might have gdb support. < 1292791311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think mcmap should come with its own service manager, to restart mcmap if it ever dies. < 1292791436 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :weeelll < 1292791441 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i tried using dosbox debugger < 1292791468 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :but the game won't run properly when dosbox is in debug mode < 1292791606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What would you say little patches of black would be, in post-halloween terrain? < 1292791643 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Pumpkins, if you haven't mapped them. < 1292791645 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Reeds, too. < 1292791657 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Pumpkins have a mapping. < 1292791664 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Reeds, then? < 1292791668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: (You might want to "git pull && make"; there have been a lot of updates t'day.) < 1292791689 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Answer: Shrooms. < 1292791704 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, on sabbatical due to getting Oolite back, remember? < 1292791713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Psht. < 1292791714 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :grr, bochs' debugger only displays the lower 32 bits of address space when you ask it to dump the page tables < 1292791727 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, psht to you too, sir! < 1292791801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Try remote gdb. :p < 1292791806 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Note: Requires kernel support.) < 1292791813 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(I think.) < 1292791814 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :since it seems I have made my current page table work maybe I won't bother, but it would be really nice if it could a) actually display all mapped pages, b) check for errors in the page tables and complain visibly < 1292791818 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(And a serial port driver.) < 1292791829 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, how would kernel support be involved in asking bochs what it's emulating? < 1292792046 0 :Phantom_Hoover_!~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1292792057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: eh? < 1292792065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: remote gdb requires a serial driver, I mean < 1292792069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and I think kernel support < 1292792117 0 :nooga!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1292792128 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :surely that is not required to connect gdb to bochs < 1292792141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: You mean ... debug bochs itself? < 1292792150 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I mean debug your kernel as it runs in qemu/bochs (qemu has better support IIRC). < 1292792160 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :no, I am talking about debugging the thing running in bochs < 1292792164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Although, actually, bochs has all the support, right? < 1292792168 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Can't you just use bochs/gdb? < 1292792183 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I can, but gdb is useless for this debugging < 1292792222 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1292792225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: can't you just do < 1292792228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :print (*locationofpagetables) < 1292792230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or is it not that simple < 1292792261 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, I already know what bytes the tables contain, what I'm interested in is what it's being interpreted as so that I can see what's wrong < 1292792298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :alright then < 1292792310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Hmm, it would be nice if your current (x,z) coordinates were in a corner of the mcmap window. < 1292792338 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Why don't any of you file these things in the github? < 1292792367 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, it would also be nice to have (optional) coordinate labels (say 100 block divisions) at the edge of the window too. < 1292792380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I'm a developer, dammit, USERS file bugs, not me! < 1292792399 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, you can also implement that as you will, but you'd better do the text-drawing ELEGANTLY. < 1292792400 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :o.O' < 1292792402 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :SDL doesn't do text. < 1292792407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I'm not sure what you mean with coordinate labels, though? < 1292792414 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Like maps have. < 1292792420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Also, I'd just use a TOTALLY SNAZZY BITMAP FONT that I would have JUST MADE UP AT THE TIME. < 1292792421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And ah. < 1292792436 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Japanese for "prostitution" is 売春. Literally, "selling youth". < 1292792446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: But, um, SDL_ttf. < 1292792452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: That's the japs for ya! < 1292792453 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's not part of SDL. < 1292792461 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: No, but you have it installed already. :p < 1292792470 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because a euphemism ceased to have non-euphemistic usage. < 1292792473 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(glib isn't part of SDL either.) < 1292792484 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Not the development packages. < 1292792492 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Well, that's your fault! < 1292792498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think I had to install glib-dev. :p < 1292792931 0 :nooga!nooga@jasminek.net JOIN :#esoteric < 1292793495 0 :nooga!unknown@unknown.invalid QUIT :*.net *.split < 1292793498 0 :FireFly!unknown@unknown.invalid QUIT :*.net *.split < 1292793501 0 :ineiros!unknown@unknown.invalid QUIT :*.net *.split < 1292793502 0 :jix!unknown@unknown.invalid QUIT :*.net *.split < 1292793514 0 :wareya!unknown@unknown.invalid QUIT :*.net *.split < 1292793517 0 :bsmntbombdood!unknown@unknown.invalid QUIT :*.net *.split < 1292793519 0 :rodgort!unknown@unknown.invalid QUIT :*.net *.split < 1292793521 0 :yiyus_!unknown@unknown.invalid QUIT :*.net *.split < 1292793521 0 :fxkr!unknown@unknown.invalid QUIT :*.net *.split < 1292793523 0 :fungot!unknown@unknown.invalid QUIT :*.net *.split < 1292793524 0 :fizzie!unknown@unknown.invalid QUIT :*.net *.split < 1292793529 0 :Sasha!unknown@unknown.invalid QUIT :*.net *.split < 1292793532 0 :MigoMipo!unknown@unknown.invalid QUIT :*.net *.split < 1292793532 0 :pingveno!unknown@unknown.invalid QUIT :*.net *.split < 1292793534 0 :Leonidas!unknown@unknown.invalid QUIT :*.net *.split < 1292793535 0 :tswett!unknown@unknown.invalid QUIT :*.net *.split < 1292793537 0 :yiyus!unknown@unknown.invalid QUIT :*.net *.split < 1292793543 0 :sebbu2!unknown@unknown.invalid QUIT :*.net *.split < 1292793549 0 :sshc!unknown@unknown.invalid QUIT :*.net *.split < 1292793551 0 :myndzi!unknown@unknown.invalid QUIT :*.net *.split < 1292793555 0 :lifthrasiir!unknown@unknown.invalid QUIT :*.net *.split < 1292793558 0 :j-invariant!unknown@unknown.invalid QUIT :*.net *.split < 1292793566 0 :Ilari_antrcomp!unknown@unknown.invalid QUIT :*.net *.split < 1292793566 0 :Ilari!unknown@unknown.invalid QUIT :*.net *.split < 1292793577 0 :mycroftiv!unknown@unknown.invalid QUIT :*.net *.split < 1292793588 0 :Slereah!unknown@unknown.invalid QUIT :*.net *.split < 1292793596 0 :Phantom_Hoover_!unknown@unknown.invalid QUIT :*.net *.split < 1292793599 0 :Sgeo!unknown@unknown.invalid QUIT :*.net *.split < 1292793602 0 :elliott!unknown@unknown.invalid QUIT :*.net *.split < 1292793605 0 :hagb4rd!unknown@unknown.invalid QUIT :*.net *.split < 1292793625 0 :olsner!unknown@unknown.invalid QUIT :*.net *.split < 1292793631 0 :Mathnerd314!unknown@unknown.invalid QUIT :*.net *.split < 1292793644 0 :quintopia!unknown@unknown.invalid QUIT :*.net *.split < 1292793650 0 :Vorpal!unknown@unknown.invalid QUIT :*.net *.split < 1292793654 0 :Gregor!unknown@unknown.invalid QUIT :*.net *.split < 1292793782 0 :nooga!nooga@jasminek.net JOIN :#esoteric < 1292793782 0 :Phantom_Hoover_!~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1292793782 0 :Sasha!~WHAT@75-174-216-120.phnx.qwest.net JOIN :#esoteric < 1292793782 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1292793782 0 :j-invariant!~aaaa@unaffiliated/j-invariant JOIN :#esoteric < 1292793782 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1292793782 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1292793782 0 :hagb4rd!~perdito@koln-5d81f5fa.pool.mediaWays.net JOIN :#esoteric < 1292793782 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1292793782 0 :MigoMipo!~John@84-217-9-134.tn.glocalnet.net JOIN :#esoteric < 1292793782 0 :pingveno!~pingveno@c-98-246-133-8.hsd1.or.comcast.net JOIN :#esoteric < 1292793782 0 :sebbu2!~sebbu@ADijon-152-1-46-37.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1292793782 0 :bsmntbombdood!~gavin@c-24-9-98-117.hsd1.co.comcast.net JOIN :#esoteric < 1292793782 0 :tswett!~Warrigal@eos01.cis.gvsu.edu JOIN :#esoteric < 1292793782 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1292793782 0 :quintopia!~quintopia@209.59.220.33 JOIN :#esoteric < 1292793782 0 :rodgort!~rodgort@li125-242.members.linode.com JOIN :#esoteric < 1292793782 0 :Leonidas!~Leonidas@unaffiliated/leonidas JOIN :#esoteric < 1292793782 0 :jix!jix@tomakin.h-ix.net JOIN :#esoteric < 1292793782 0 :ineiros!~itniemin@james.ics.hut.fi JOIN :#esoteric < 1292793782 0 :yiyus_!1242712427@je.je.je JOIN :#esoteric < 1292793782 0 :Slereah!~butt@ANantes-259-1-130-244.w92-139.abo.wanadoo.fr JOIN :#esoteric < 1292793782 0 :yiyus!~124271242@67.202.106.57 JOIN :#esoteric < 1292793782 0 :fxkr!~fxkr@unaffiliated/fxkr JOIN :#esoteric < 1292793782 0 :Ilari_antrcomp!~user@2002:5870:38d7:1:20e:a6ff:fe6f:2288 JOIN :#esoteric < 1292793782 0 :fungot!~fungot@momus.zem.fi JOIN :#esoteric < 1292793782 0 :Ilari!~user@2002:5870:38d7::1 JOIN :#esoteric < 1292793782 0 :fizzie!fis@iris.zem.fi JOIN :#esoteric < 1292793782 0 :Vorpal!~AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1292793782 0 :sshc!~sshc@unaffiliated/sshc JOIN :#esoteric < 1292793782 0 :lifthrasiir!~lifthrasi@61.251.165.38 JOIN :#esoteric < 1292793782 0 :myndzi!myndzi@c-24-19-39-178.hsd1.wa.comcast.net JOIN :#esoteric < 1292793782 0 :mycroftiv!~ircguy@h69-128-47-242.mdsnwi.dedicated.static.tds.net JOIN :#esoteric < 1292793782 0 :olsner!~salparot@c83-252-161-133.bredband.comhem.se JOIN :#esoteric < 1292793782 0 :Gregor!~Gregor@codu.org JOIN :#esoteric < 1292793844 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I like it, it prevents me from leaving any warnings around. < 1292793845 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Dear clog: I love you forever. Please don't die again. < 1292793847 0 :Gracenotes!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1292793878 0 :pikhq!unknown@unknown.invalid QUIT :Excess Flood < 1292793901 0 :pikhq!~pikhq@174-22-145-90.clsp.qwest.net JOIN :#esoteric < 1292794057 0 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1292794140 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: So how do you feel about the wonderful wonderful GPLv2? < 1292794377 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't feel very strongly about licenses, as long as they are something sensible. GLfunge is GPLv2, I think. < 1292794379 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh, I'll just bundle https://github.com/antirez/linenoise for simplicity. It can probably do the same things as this. < 1292794385 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(editline sucks ass, it turns out.) < 1292794500 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure I'd go to the trouble of bloating that thing with a real line-editing library (even one that says "20k lines of code" as if twenty whole thousand lines is somehow small), but then again, I'm not the one doing it. < 1292794522 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The line-editing will be something like ten times the size of mcmap itself, though. < 1292794532 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :wc -l *.c *.h => 2433. < 1292794552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: < 1292794552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : * line editing lib needs to be 20,000 lines of C code. < 1292794553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1292794555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :/* linenoise.h -- guerrilla line editing library against the idea that a < 1292794556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : * line editing lib needs to be 20,000 lines of C code. < 1292794564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: It's just from the guy who made Redis; I found it when googlign. < 1292794565 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*googling. < 1292794570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: There's a good chance it does what editline doesn't. < 1292794575 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So, *shrug*. < 1292794585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Although it is actually 21k lines. :p < 1292794596 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: But anyway, you're "meant" to just include it in your program. < 1292794598 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(And hey, Android uses it.) < 1292794601 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Okay, it is a bit more reasonably sized. < 1292794656 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What, 21k is more reasonable than 20k? < 1292794690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You can just place leaves like that? < 1292794693 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Dude, let us place bedrock. < 1292794702 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'd rather you didn't. < 1292794712 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Since it's not possible to actually get rid of it. < 1292794728 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You - so boring. < 1292794796 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I'm planning to put unobtanium in one of my computer games < 1292794806 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the theory being that it's completely indestructable or movable by any means whatsoever < 1292794807 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If I'm looking at the right https://github.com/antirez/linenoise then linenoise.c is 599 lines (544 sloc), and linenoise.h is 56 lines (50 sloc); so if there isn't a lot more code hidden somewhere, it does look more reasonably-sized. < 1292794821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh, indeed, it is. I wonder how I miscounted. < 1292794821 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :thus, it's completely useless; it has a bunch of highly useful properties, but there's no way to actually obtain the stuff to use it yourself < 1292794827 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's bedrock :P < 1292794844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: (bedrock is useful because you can build indestructable buildings out of it; so making it non-unobtainium would make it uselessium) < 1292794850 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, I thought there might be an equivalent < 1292794853 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Can I replace mcmap with a shell script that starts mcmap.real under ledit? :p < 1292794855 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*it might be an equivalent < 1292794866 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You can do that at home. < 1292794872 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's just that unobtainum is a hilarious name for it, as it's normally used as a placeholder name for incredibly valuable fictional materials < 1292794875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right, but not in polite company. < 1292794891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I'd use ncurses, but that would screw up >file. < 1292794960 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think I'll try the actual readline. < 1292794968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And TAINT THE CODE. < 1292795073 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott! < 1292795074 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you *want*, you could add some #ifdefs that let the taint-fearing user disable that bit. < 1292795080 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ACTION taints elliott's code < 1292795092 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: It is the FSF's considered opinion that that does not prevent the STD from spreading. < 1292795099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Unfortunately, they are probably right. < 1292795187 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the whole clisp thing is rather more complex than "he made it readline-compatible". < 1292795200 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, you could create a fork in github. (Though would a person then be allowed to contribute same code to both projects?) < 1292795205 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: I know how complex it is. < 1292795208 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :taint, as in, forced to use GPL? < 1292795229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think I might just include readline and force you to GPL it, because it, unlike all the other libraries, does not mess up when other input comes along. < 1292795254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (Perhaps one day someone will write a better line-reader and we can round up all 2 contributors to get them to agree to a license change.) < 1292795256 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1292795283 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, if you make it work with readline, that's all right for me. < 1292795540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, silly-todo: Option to rl_ding() when someone mentions your name. :-) < 1292795576 0 :BRASIL!~cardan@189.97.11.90 JOIN :#esoteric < 1292795608 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :BRASIL < 1292795707 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SAMBA! < 1292795729 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :olé < 1292795832 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Is rlwrap or equivalent not an option < 1292795834 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION vaguely suspects hagb4rd of confusing spanish and portuguese < 1292795852 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Sort of, but it's nicer to have it directly in there (and fizzie won't let me turn mcmap into a shell script.) < 1292795863 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But you can do that at home already! < 1292795876 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd just let people turn it into a shell script < 1292795889 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or make your own startup script start mcmap within some sort of readline-wrapper and minecraft. < 1292795910 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I just don't want the "main" branch to require some arbitrary readline-wrappers to run. < 1292795934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Right. Thus building it in :P < 1292795941 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You don't need to require it < 1292795953 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Anyway I'd have to do, like, 99% of the work anyway if I was using fread etc. < 1292795955 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Make a script that checks for the existence of rlwrap/whatever in some preferred order and picks the first it finds < 1292795959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :In fact more, since readline() handles allocation for me. < 1292795961 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So nyah. < 1292796107 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION does a whois and now vaguely suspects hagb4rd of being a native spanish speaker < 1292796124 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :nope.. right you are < 1292796169 0 :BRASIL!unknown@unknown.invalid PART #esoteric :? < 1292796237 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Or you could use glib's "read a line with automagic allocations" function, and the wrapper you prefer. < 1292796260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: "I'm fizzie look at me I'm fizzie." SORRY FIZZIE I'VE ALREADY WRITTEN THE READLINE CODE AND JUST NEED TO HANDLE SIGNALS < 1292796260 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: You could use glib! < 1292796262 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(But I don't mind the readline dependency either, so whatever makes you happy.) < 1292796264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I wish it didn't have to be this way. < 1292796269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But it is. < 1292796272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yeah, using glib is ALWAYS fun < 1292796285 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :i'd like to learn more languages.. i love spanish, and as far as i know at least written are spanish and port. very similar < 1292796287 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Just need to handle signals" doesn't sound very nice either. < 1292796373 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :but it sounds very differently @oerjan < 1292796391 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: yeah it's just that i think olé is very stereotypically just spanish. however i _did_ have to look it up to check it isn't in portuguese :D < 1292796397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "Just need to handle signals" doesn't sound very nice either. < 1292796403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: readline is /meant/ to do it, it just isn't doing it properly :D < 1292796410 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :editline? < 1292796430 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I hope you're not sullying my oh-so-pristine utility with ugly and hacky workarounds. < 1292796438 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :<- doesn't _actually_ know either of them < 1292796496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Absolutely not! < 1292796503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Editline fucks up when someone else talks. < 1292796504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Long story. < 1292796514 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also it didn't handle signals either, so shut up and let me fix this bug :P < 1292796621 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :22:09:41 [DIED] main.c:81: proxy thread (server -> client) write failed < 1292796627 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: That... should that happen? < 1292796635 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : char *line = readline("> "); < 1292796635 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (*line) add_history(line); < 1292796635 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : inject_to_server(packet_new(PACKET_TO_ANY, PACKET_CHAT, line)); < 1292796635 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : free(line); < 1292796655 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, it happens if you get disconnected for any reason. < 1292796854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh -- it was "Chat message too long." < 1292796856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What's the max length? < 1292796869 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :About a hundred bytes. < 1292796884 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :103 or something, IIRC. < 1292796917 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Possibly s/bytes/characters, not entirely sure on that. < 1292796938 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(It needs to be in UTF-8.) < 1292796965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> /playerlist < 1292796965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :22:15:22 [CHAT] Player list (1/10): ehird < 1292796968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Booyah. < 1292796978 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Now just a bit of signal-handling and WE'RE DONE < 1292796995 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK, so it also segfaults on ^D despite resetting the terminal correctly; I've no idea why. < 1292797009 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :/who is an alias for that. < 1292797016 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh, it is? Thanks. < 1292797034 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :do you guys like electro music?.. in case you < 1292797042 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: It's probably thread-related issues, I bet. < 1292797050 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :aer in need of a little distraction --> http://www.youtube.com/watch?v=3qCFSYAgbAI&list=PL408EDD9348488A28&index=33&playnext=5&fmt=18 < 1292797063 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :in case ..sry < 1292797087 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Heh, //coords doesn't work on the console for obvious reasons. < 1292797093 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Nor //goto. But "whatever", I say. < 1292797103 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (Unless you have a generic send_chat_to_server_maybe function somewhere?) < 1292797161 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :No, I don't. You could check for // and call cmd_parse instead of inject_to_server if you like. < 1292797193 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why you double /'s in minecraft... < 1292797205 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The interface for cmd_parse is a bit strange, it'd be something like cmd_parse(line+2, strlen(line)-2); < 1292797212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you don't, it's mcmap's command syntax < 1292797218 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1292797221 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: since /foo are server commands, we decided to play it safe < 1292797231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: (since we intercept the chat packets) < 1292797238 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :makes sense < 1292797267 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :As long as the server doesn't start to implement any // commands. < 1292797288 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I am happy to slit Notch's throat in that case. < 1292797339 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1292797486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Function: void rl_free (void *mem) < 1292797486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Deallocate the memory pointed to by mem. mem must have been allocated by malloc. < 1292797487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Useful! < 1292797753 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Does glib have any special signal-handler functions? < 1292797962 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't recall having used any. < 1292798085 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The underlying threads are pthreads (at least that'd be my assumption), and those have signal masks if you want to mess with which thread handles signals, but I'm not sure if glib's threading side exposes that. < 1292798095 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's a bit platform-specific weirdness. < 1292798106 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Signals and threads don't tend to be a happy combination. < 1292798186 0 :zeotrope!~a@unaffiliated/zeotrope JOIN :#esoteric < 1292798273 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Yeah ... I just want these signal handlers to execute, in, like, "every thread". < 1292798383 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :As far as I know, you can't do *that* in a plain pthreads thing. With luck you can just make sure it executes in one particular thread. < 1292798416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: So "just do the readline in another thread" was your way of saying "ha ha". :p < 1292798438 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I didn't really know readline dabbles with signals. < 1292798477 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :In retrospect I guess it has to for the terminal-caused ones, but anyhow. < 1292798478 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Function: int rl_set_signals (void) < 1292798479 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Install Readline's signal handler for SIGINT, SIGQUIT, SIGTERM, SIGALRM, SIGTSTP, SIGTTIN, SIGTTOU, and SIGWINCH, depending on the values of rl_catch_signals and rl_catch_sigwinch. < 1292798483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: How else do you think it resets the terminal? < 1292798486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I suppose I could use an atexit... < 1292798527 0 :nooga!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1292798539 0 :Sgeo_!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1292798564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :An alternate interface is available to plain readline(). Some applications need to interleave keyboard I/O with file, device, or window system I/O, typically by using a main loop to select() on various file descriptors. To accomodate this need, readline can also be invoked as a callback' function from an event loop. There are functions available to make this easy. < 1292798568 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: WHY DIDN'T YOU SAY SO < 1292798582 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1292798609 0 :nooga!nooga@jasminek.net JOIN :#esoteric < 1292798621 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not entirely sure that will help you. < 1292798645 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Probably not. < 1292798647 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Given that you can'd do "wait for SDL events" and "select() on a fd" simultaneously. < 1292798688 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Also, I think I'll be sleeping now. < 1292798795 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I think hooking to atexit is where SDL does it's emergency cleanup too. < 1292798811 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Though actually I'm not quite sure. < 1292798868 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It might also install signal handlers of its own, because if the SDL_Init is before the blockinmg "wait-for-connections" call, you can't interrupt it with ^C any more. < 1292798979 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Are you entirely sure you don't want to do the input-line handlinmg cleanly in another process?-) < 1292798990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Was that your lag or mine? < 1292799006 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Which lag? < 1292799045 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Tons of messages came in at once. < 1292799052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Seems 'twas mine. < 1292799058 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Could even have been freenode's < 1292799117 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Dude. < 1292799124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: That is the first time you have ever not terminated a sentence properly. < 1292799198 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SURELY WE ARE IN THE END TIMES < 1292799256 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I tried my very best, but my fingers betrayed me. < 1292799294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Do you guys not have heating in Finland? < 1292799319 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Technically I'm already asleep, so I'll just blame the dream-fizzie. < 1292799353 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I don't have heating in Scotland! < 1292799354 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And no, we just cuddle with polar bears when it gets too cold. < 1292799376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: AWWWWWbrb moving to Finland < 1292799843 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION growls at being unable to block blocks of IPs larger than /16 in MediaWiki < 1292799881 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants to block a /0 block < 1292799950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: Um, you do realise you mean a /1, right? < 1292799972 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Does /1 include every single IP address? < 1292799993 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: It's 1/1 of the address space, so you work it out. < 1292800071 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.mediawiki.org/wiki/Help:Range_blocks < 1292800079 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :That suggests that /1 is half of the address space < 1292800097 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Wait, do IPs greater than 127. exist? < 1292800104 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Yes they do < 1292800106 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ELLIOTT IS TEH WRONG < 1292800122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh, indeed ... < 1292800139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: Anyway, it's not "a" /0 block, it's "the" /0 block. < 1292800264 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION WTFs at a spambot talking about a "lethal dose" < 1292800270 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Way to bring in the customers there < 1292800290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lethal dose of spam < 1292800508 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Read as sperm. What. < 1292800511 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :http://wikisuperosity.com/index.php?title=Special:RecentChanges < 1292800518 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :"Disclaimer: [it's slow], because it's written in python. Eventually I'll rewrite it an C and it'll be very, very fast." < 1292800527 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: haha < 1292800533 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: what's that about < 1292800549 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: your brain actually managed to invent something worse than a lethal dose of spam. congratulations. < 1292800556 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: about that "redo" thing someone posted on progit (make killer) < 1292800566 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[Superosity is the greatest comic in existence. There are many comics in existence that have earned genius-level Comic Quotient's (CQ) for short periods of time. Calvin and Hobbes demonstrated that a CQ of 145 was possible by combining beautiful artwork, kinetic humor, and philosophically balanced characters with a semi-episodic story structure. Jim Davis, the creator of Garfield, once earned a CQ of 136 for a six month period in the late 1980s < 1292800566 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and has consistently held himself in the mid 120's by applying a consistently minimalistic banality. Scott Adams, creator of Dilbert, holds the honor of maintaining 128 for more than six years in a row. Family Circus, on the other hand, continues to exist in syndication despite a CQ below 80. < 1292800566 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Superosity however, holds the distinction of having achieved an average CQ of 193 over the last ten years. This places it approximately five and a half standard deviations away from the average mainstream comic. This singular fact would appear to be mysterious if not for the concomitant fact that creator Chris Crosby is truly a creative genius of the type that Greek Myths would be written about (and by) if this were presently a Greek World.]] < 1292800573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: Why does this wiki exist, and how can I stop it existing. < 1292800592 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: oh, it's chris2's! < 1292800665 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wait, you found genuine content that wasn't touched? < 1292800674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: That is not genuine content, that is a pile of shit. < 1292800683 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: [[mcmap: ../../src/xcb_io.c:249: process_responses: Assertion (((long) (dpy->last_request_read) - (long) (dpy->request)) <= 0)' failed.]] < 1292800689 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I AM TOTALLY CLOSE TO WORKING THIS OUT < 1292800704 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: who's that? < 1292800721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: he invented tumblelogs and did a bunch of other things too < 1292800726 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(w/ http://anarchaia.org/) < 1292800753 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: oh -- he did not write the program < 1292800755 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just posted the reddit link < 1292800760 0 :Phantom_Hoover_!unknown@unknown.invalid QUIT :Remote host closed the connection < 1292800820 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders making a Python script that will autoblock every IP < 1292800852 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: You could just disable editing. < 1292800855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or protect every page. < 1292800881 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I think I'd need access to server-side config stuff to disable editing? < 1292800896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: fizzie: https://github.com/fis/mcmap; now with chatting support. (I accidentally called it readline in the commit message, oh well.) < 1292800911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Doesn't handle // commands because of internal structure, but it's fully readline-enabled. < 1292800922 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think that redirecting output to a file now doesn't work for some reason, however; I'll fix it later. < 1292800931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: Probably. If the rest of the pages are like that then spam is an improvement. < 1292800967 0 :j-invariant!unknown@unknown.invalid QUIT :Quit: leaving < 1292801124 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :elliott, genuine content: < 1292801126 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :http://wikisuperosity.com/index.php?title=List_of_Superosity_Characters < 1292801214 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Even more: http://wikisuperosity.com/index.php?title=Boardy < 1292801536 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :You can never accuse me of not having esoteric taste < 1292801547 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, eccentric might be a better word < 1292801697 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm pleasantly surprised at how small the commit is. I was expecting something quite a lot more horrible. (Yes, yes, I'm still asleep.) < 1292801712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Yes, well, they do call me the God Of Code. < 1292801724 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (Really, though, the only bug was ^D and ^C handling, which required thought more than anything else.) < 1292801749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (Readline thankfully does the right thing if you \r before printing, \n after, and then force it to redraw the line.) < 1292801767 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Re: redirecting to a file -- but now it has industry-standard timestamping! < 1292801806 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: BTW, hypothetically, it might be nice if snow-covered things just got tinted. < 1292801812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Rather than, you know, becoming invisible in a sea of snow. < 1292801815 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(On overhead view.) < 1292801832 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It doesn't quite do completely the right thing. < 1292801843 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you write an input line that's longer than the offending input, the trailing bits are left. < 1292801868 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You probably need a \r[new output]\n instead of just \r[new output]\n. < 1292801886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Very well then. (I should probably get a global set up for is_doing_readline_stuff to separate all this out.) < 1292801892 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :01:23:21 [CHAT] Player list (2/10): ehird, fizziefjoi jojoi joi jjoisdfjoisdaof josadf joasdf joosajifd < 1292801892 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :01:23:35 [CHAT] Hello there, asleep-ghost.joi jojoi joi jjoisdfjoisdaof josadf joasdf joosajifd < 1292801895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: (And also that'd let you disable readline at compile time, for all the embedded system uses. < 1292801902 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :uses.) < 1292801904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*uses.) < 1292801917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Vorpal apparently runs mcmap on another machine to the one he connects on for no apparent reason. < 1292801925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Perhaps we should OPTOMIZE(tm) for LATENCY. < 1292801928 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I thought he had quasi-sensible reasons. < 1292801941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: "Um, uh, RAM something this, full screen that." < 1292801941 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, it tries to be low-latency, though not very hard. < 1292801960 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: It seems that he has a machine with not much RAM and a good GPU, and lots of RAM and a crap GPU. < 1292801962 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Mainly what it does is "forward the packet immediately after reading it". < 1292801963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :One may speculate freely. < 1292801983 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Tomorrow, I might see about saving the map state to a file. < 1292802007 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Anyway re clean-end-of-line, I don't mind if you just do \x1b[K instead of actually using the proper sequences from terminfo. < 1292802008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also giving reeds a colour. They need one. < 1292802012 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh, of course. < 1292802020 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Given that it already does colors with hardcoded escapes. < 1292802026 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking printing spaces or something; I'm kinda dumb. < 1292802030 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Wow, the meds are really helping me focus on anything but homework < 1292802158 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: *facepalm* < 1292802251 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :At some point you could add auto-wrapping (maybe even try it dumbly at spaces/hyphens when it looks okay) to forcibly conform the 100-char limit. Just in case one pastes in something and forgets to think about it. < 1292802257 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But now really honestly gone. < 1292802260 0 :reiffert!unknown@unknown.invalid PART #esoteric :? < 1292802324 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1292802489 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I think you should ban Sgeo_. < 1292802502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: his request was, after all, in spirit eternal: if I give in to the temptation to IRC instead of homeworking, ban me. < 1292802505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :therefore you must < 1292802525 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why do you hate me so> < 1292802526 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :? < 1292802536 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I hate everyone equally. < 1292802539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You just get special treatment. < 1292802608 0 :hagb4rd!unknown@unknown.invalid QUIT :Quit: hagb4rd < 1292802756 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what do you think of BitCoins? < 1292802791 0 :cheater99!~cheater@g229028183.adsl.alicedsl.de JOIN :#esoteric < 1292803018 0 :cheater99!unknown@unknown.invalid QUIT :Read error: Connection reset by peer