00:00:09 You're welcome, S. H. A. C. H. Af. 00:06:16 Gracenotes: Do you understand the Eilbenberg-Moore category thing? 00:07:02 shachaf: I don't think I've seen those names in mah life 00:08:13 shachaf: read the Charity paper 00:08:15 it's interesting and stuff 00:08:16 kmc, shachaf, Gracenotes: what did you guys end up doing 00:08:20 there are commutative diagrams 00:08:40 nooodl: first we got hi by greeting each other for a while 00:08:45 and hugz all around 00:09:16 ghc joke 00:12:02 I really like the symmetry linear logic would give the getChar and putChar functions: getChar :: RealWorld -o (RealWorld * Char), putChar :: (RealWorld * Char) -o RealWorld 00:12:33 i hear realworld is satanic 00:12:43 i hear Bike is satanic 00:12:44 though those types are isomorphic to what Haskell has 00:12:45 In actual Haskell, yeah, I think so. 00:12:57 modulo optimization 00:13:09 i saw a sign on a church which i thought said satan worship 00:13:13 but it actually said sunday worship 00:13:18 Yeah, doesn't GHC have IO a = RealWorld -> (RealWorld, a) internally? 00:13:24 Or something like that? 00:13:35 "something like that", sure. 00:13:37 RealWorld is unboxed and so is the tuple 00:13:48 btw do people here use bessel functions. they seem cool. i like them 00:13:57 And also it's not RealWorld, it's State# RealWorld. 00:14:06 And it has nothing to do with the normal world-passing explanation of IO. 00:14:11 it's more like a low-level IO operation says "I will only give you back a real world when I'm done doing my thing, damnit" 00:14:12 It's just implementation trickery. 00:14:31 State# RealWorld fits in a zero-sized register. 00:14:35 let me show you my bessels 00:14:46 for example, putChar will only give you back a () when it gets an Int, namely the one that's returned from a write syscall 00:14:58 Bike: hm where was the place i heard about Bessel functions 00:15:25 So like "data IO a = IO (State# RealWorld -> (# State# RealWorld, a #))" or something? 00:15:49 imo ghci knows the exact definition (:i) 00:15:52 or 00:15:53 @src IO 00:15:53 Source not found. Are you on drugs? 00:15:56 help 00:16:14 I will halp 00:16:14 Anyway most things people say about this definition are false. 00:16:16 Looks like yeah, it's exactly what I just said. 00:17:16 shachaf: so does this mean that >>= for IO doesn't actually look like >>= for State, as one would think? 00:17:23 unIO :: IO a -> (State# RealWorld -> (# State# RealWorld, a #)) 00:17:23 unIO (IO a) = a 00:17:26 there's that 00:17:34 also: bindIO (IO m) k = IO $ \ s -> case m s of (# new_s, a #) -> unIO (k a) new_s 00:18:01 That looks just like >>= for State, doesn't it? 00:18:16 and GHC.Types, newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #)) 00:18:38 so, err, essentially what you said 00:18:39 The only point of it is to tell the compiler about certain data dependencies etc. that it's not allowed to do certain involving. 00:19:10 shachaf: btw: I don't know where the place you heard about bessels was?? 00:19:32 Bike: btw: ok?? 00:19:38 ok 00:23:24 scroll_count=0; 00:23:47 scroll_count+=4; 00:23:55 No. You have to put zero 00:24:19 scroll_count == scroll_count = scroll_count; 00:24:26 scroll_count*=1e518; 00:24:36 you don't tell me what i have to do! 00:24:43 I assume that associates as (scroll_count == scroll_count) = scroll_count, which is invalid. 00:25:08 if you assume it associates the other way, it is true 00:25:20 Not if scroll_count is NaN. 00:25:42 Don't you love values that aren't == to themselves... 00:26:11 I'm kind of disappointed that NaN isn't == to itself even in Haskell. 00:26:46 undefined ain't == to itself neither. 00:26:57 Yeah, but at least you don't get False. 00:27:25 scroll_count is an integer, duh 00:27:47 scroll_count="norway"; 00:28:00 "norway" can be cast to an integer, can't it? 00:28:06 all of your statements are in the shachaf namespace 00:28:19 tswett: in C, you can write char c = 'norway'; 00:29:12 or int c, if you like widening conversions 00:30:47 uint48_t c = 'norway'; 00:32:36 if you assume it associates the other way, it is true <-- i think it's undefined behavior hth 00:33:52 maybe a bit, maybe not as much in say C++0x (I don't recall if their new sequencing rules help here), but it's usually never unsafe to optimize 'x = x' to 'x' 00:34:25 Is there really a uint48_t... 00:34:38 no, but I think there could be 00:34:51 and multichar literals could have that type 00:34:57 (I think) 00:34:59 The other day, I was trying to write some C in front of some other guy, and neither of us could remember whether it was uint16 or uint_16. 00:35:05 (It is, of course, neither.) 00:35:13 Gracenotes: It might be unsafe if it is volatile, though, isn't it? 00:36:01 it will be undefined if it's not volatile and there's simultaneous modification/reading. 00:36:48 Maybe there should be a uint_t for all nonnegative integers . Who knows when you might need a 333-bit integer? 00:37:06 if it is volatile, then it might be false. 00:37:14 -!- Nisstyre has joined. 00:37:20 if only because there is a memory barrier automatically set up with read/write of a volatile. 00:37:24 Or a 0-bit integer? 00:37:29 void? 00:37:32 tswett: I think LLVM has such a thing! 00:37:47 zzo38: I'd be disappointed if it didn't. 00:37:48 up to (iirc) 8Mbit integers 00:39:23 Darn. I can think of a use for 38762521924-bit integers. 00:39:31 I wish C++ supported "void x;". 00:39:50 In GNU C you can create zero-length arrays. 00:39:54 void foo() { void x; x = bar(); return x; } 00:40:14 (Black-C, which is my own specification, inherits some of the features of GNU C, including zero-length arrays.) 00:40:49 tswett: http://llvm.org/docs/LangRef.html#integer-type 00:41:09 And I think zero-length arrays is a useful and reasonable and logical feature to have. 00:41:21 shachaf: does that make void unit? 00:41:35 So what's the significance of the number 196882, anyway? 00:41:39 Gracenotes: Yep. 00:41:50 It would mostly be used for if you make a structure with an array of varying length at the end, although it can be used for some other purposes too. 00:42:14 I expect it could be optimized away, though 00:43:17 one of the versions of a language I implemented with project partner for a compilers course had, initially, the unfortunate property that the grammar did not allow function calls as statements; only as expressions. 00:43:25 GNU C already supports void foo() { return bar(); } 00:43:32 (Where "void bar();".) 00:43:37 Does Black-C support that? 00:43:46 what's that useful for? 00:43:46 what's Black-C 00:43:50 so the only way you could call a void function was by declaring a void variable, which the grammar also forbade. 00:43:51 shachaf: can you cast something to void in GNU C? 00:43:54 zzo38-C? 00:43:58 kmc: yes 00:44:13 ISO 9899-38 00:44:25 tswett: "(void) foo();" is valid ISO C, isn't it? 00:44:34 izzo 3899? 00:44:35 I dunno. 00:44:51 kmc: "Black-C" is some document I wrote. It is: http://zzo38computer.org/textfile/miscellaneous/black_c.txt 00:45:04 shachaf: yes 00:45:30 Do you think some of these things is reasonable things? 00:47:09 happy Algerian Independence Day 00:47:20 oh heh i forgot. 00:48:04 kmc: over in ##fiora we were discussing kmc hugz 00:49:11 what about them 00:49:19 shachaf: O no, I didn't mention "void foo() { return bar(); }" although I probably don't need to mention it, but maybe I should. 00:49:43 (If you read it, then you can see what things it does have) 00:50:27 `factor 38762521924 00:50:29 38762521924: 2 2 7 7 7 7 7 7 7 7 41 41 00:50:30 rainbow laser jesus 00:50:54 Oh look, it's a perfect square! I wonder what its square root is. 00:51:12 whence this number 00:51:31 I found its square root online, and then I found it by squaring its square root. 00:51:31 `factor 196882 00:51:32 196882: 2 7 7 7 7 41 00:51:40 shachaf: what about kmc hugz 00:54:41 tswett: ok but we still don't know its significance, right? 00:54:42 -!- nooodl has quit (Ping timeout: 264 seconds). 00:54:54 If that's the exclusive "we", then that's correct. 00:55:28 well if we exclude enough people... 00:55:47 There must be some set of people such that no person in the set is aware of the significance of that number! 00:56:19 Yes, the empty set, is one such set. There are probably others. 00:56:21 there might even be a way to prove that! 00:56:28 darn zzo38 ruining our joke 00:56:46 Oops sorry 00:56:54 it is the least set 00:57:01 hey oerjan 00:57:05 tell me a good fixed point theorem 00:57:12 but who are we to judge the relative worth of sets 00:57:20 i guess brouwer's is too obvious? 00:57:26 we, the measurers 00:57:33 banach's is where it's at come on 00:57:33 oh the last google hit mentions the monster group 00:58:32 although the variation in hits is rather impressive. 00:58:38 i guess most numbers do that. 00:58:40 I'm partial to the baby monster group tho 00:59:19 oh 196883 gave something monster-related as the first hit 00:59:39 `factor 196883 00:59:40 196883: 47 59 71 00:59:48 That number isn't much better. 01:00:24 "" 01:00:27 oops 01:00:36 "Robert A. Wilson has found explicitly (with the aid of a computer) two 196882 by 196882 matrices (with elements in the field of order 2) which together generate the monster group; this is one dimension lower than the 196883-dimensional representation in characteristic 0." 01:01:21 `factor 196884 01:01:22 196884: 2 2 3 3 3 1823 01:01:28 `factor 196881 01:01:29 196881: 3 29 31 73 01:01:43 196882 seems to be the best number so far. 01:02:28 i wonder if the large number of tiny prime factors for both 196882 and 196884 has some significance. 01:02:55 well i guess 1823 isn't very tiny. 01:03:50 shachaf: i am partial to the brouwer fixed-point theorem hth 01:04:24 i thought you were total :'( 01:04:48 `factor 488691 01:04:49 488691: 3 3 7 7757 01:04:55 just totalitarian, shachaf 01:05:04 `factor 288691 01:05:06 288691: 13 53 419 01:07:42 Hm. 3^10 * 109 + 2 = 23^5. 01:07:53 Pretty sure this is the most important theorem in the überverse. 01:08:25 (The überverse is the collection of everything, including at least one thing that is not in the überverse.) 01:08:38 shachaf: don't fix what ain't broke 01:09:27 tswett: O, so it also includes God (which, in turns, also includes the uberverse)? (or something like that; I don't know for sure) 01:09:29 Higgledy Piggledy / Oërjan Johansen / Likes Brouwer's Theorem / "hoping that helps"; // Secretly, though, he's a / Totalitarian / Undersea wizard king / Munching on kelps 01:12:50 It definitely contains God, yes. 01:14:12 `factor 7153 01:14:13 7153: 23 311 01:15:11 -!- dvorakbot has joined. 01:15:11 shachaf++ 01:17:19 Do you think a mobius strip is one sided, or do you think a mobius strip is two sided but that both sides are the same side? 01:17:21 So for a = 2^19, b = 7153, and c = 3^12, we have d = 2*3*7153, or... 01:17:26 $calc 2*3*7153 01:17:26 2*3*7153 = 42918 01:17:27 Note that .calc is deprecated, consider using .c 01:17:36 I think words don't actually mean things help. 01:18:01 Sure enough, c > d^(1+epsilon) for positive epsilon. 01:18:51 since when do we have a dvorakbot 01:19:03 Since 9:15 US EDT. 01:19:10 d.nl 01:19:12 ,day-o ircbi rb 01:19:21 it's old enough to have a deprecated command 01:19:24 $c log c / log d 01:19:25 Sorry, no result. 01:19:25 ekrpat 01:19:30 Uhhh. 01:19:34 -!- mnoqy has joined. 01:19:46 $c log (3^12) / log 42918 01:19:46 1.2358948 01:20:18 Bike: It doesn't? 01:20:28 it doesnt' 01:20:38 Are you sure? 01:20:43 no 01:20:46 So despite its musical importance, this ABC triple isn't good enough for this list: http://www.math.leidenuniv.nl/~desmit/abc/index.php?set=2 01:22:36 $c log 1024 / log 30 01:22:36 2.03795047 01:24:10 So wait. If a = 24 and b = 1000 and c = 1024, then we have d = 30, don't we? That'd make this an extremely high-quality triple. 01:24:29 shachaf: good poem tdh 01:24:40 Oh, duh, they have to be coprime. 01:24:58 So it's really a = 3, b = 125, c = 128. 01:25:02 $c log 128 / log 30 01:25:03 1.42656533 01:25:40 Apparently, the equality 3 + 125 = 128 was discovered by Benne de Weger in 1988. 01:25:59 It's very useful, we should thank them. 01:26:27 Yeah! 01:27:09 I know of three applications of this equality, two of them useful in music. 01:27:45 The first is that three major thirds are approximately an octave. The second is that 3 decibels are approximately a doubling. The third is that a kilo- is approximately a kibi-. 01:44:18 scrabble doesn't know "quine" :( 01:44:55 I need something to do for the next 17 minutes 01:45:00 Bike: it's a proper noun hth 01:45:02 porn 01:45:12 shachaf: like the kind of program. 01:45:21 no it's named after the person hth 01:45:26 it's not really a thing "sry" 01:45:51 Aren't there a lot of common nouns named after people? 01:46:20 yeah. 01:46:36 yeah, we call that kind of words sgeos 01:47:08 bikes, for instance, were clearly named after Bike. 01:47:21 yes] 01:52:45 hoovers are named after Phantom_Hoover 01:53:45 -!- Phantom_Hoover has quit (Quit: Leaving). 02:00:25 -!- Koen_ has quit (Quit: Koen_). 02:44:15 What's a nonlinear f such that f³ = id? 02:46:23 http://www.startrek.com/article/designing-the-romulan-dreadnought-warbirds https://encrypted.google.com/search?tbm=isch&q=babylon%205%20shadows 02:47:00 Bike: domain? 02:47:36 don't really care, just curious what it looks like. something easy like C would be nice i guess. 02:47:57 well, what does "linear" mean on an arbitrary set? 02:48:20 ok, the domain is a linear space. 02:48:40 Bike is a linear space 02:49:07 bikelinear 02:49:21 Bike's shed is the wrong colowr. 02:49:31 Therefore a linear space is a vehicle. 02:49:44 `smlist 408 02:49:46 smlist 408: shachaf monqy elliott mnoqy 02:49:48 `smlist (409) 02:49:50 smlist (409): shachaf monqy elliott mnoqy 02:49:51 Bikecurious 02:49:51 Bike: using the axiom of choice, divide the real numbers into three sets of cardinality c, putting 1, 2, and 3 in different sets 02:50:20 let f_1 : S_1 -> S_2, f_2 : S_2 -> S_3, f_3 : S_3 -> S_1 be bijections 02:50:46 erm, wait 02:50:48 no f_# 02:50:51 *no f_3 02:51:00 f_3 was my favorite :( 02:51:10 then take f_1 \cup f_2 \cup (f_2 \circ f_1)^{-1} 02:51:27 1 \cup 02:51:44 clearly nonlinear since 1 |-> 2, 2 |-> 3, 3 |-> 1 02:52:06 and should be pretty easy to see that its cube is the identity 02:52:34 ok, well. points for answering. 02:54:58 f(1) = 2, f(2) = 3, f(3) = 1, f(x) = x for anything else also works >:) 02:55:09 let me amend my question 02:55:16 answers that aren't boring + suck 02:55:19 plz 02:55:41 "a continuous one" would probably be what you want 02:55:48 assuming that exists 02:56:14 which it might not, on R, i don't quite recall 02:56:47 also do you actually need AC for coppro's answer. it doesn't seem ACy. 02:57:00 hm no you don't. 02:57:09 well you don't *have* to use it 02:57:17 just throw it in there for the hell of it 02:57:20 but it is coppro's axiom of choice, after all 02:57:27 but i mean, (-inf,1] (1,3) [3,inf) 02:57:36 coppro chose to use it 02:58:24 i vaguely think i've seen a reddit post asking this question. though it might just have been similar. 02:58:35 twist: Bike is a reddit post 02:58:42 !!!!! 02:59:09 gasp 02:59:20 wow that rainbow was p. bad 02:59:29 also inappropriate for the occasion 02:59:31 Bike: yes 02:59:37 of course a continuous one on R would have to be monotonous 02:59:40 why would you need AC 02:59:47 Bike: prove to me that you can break R into three sets with size c without it 02:59:54 i just gave you an example. 03:00:19 >_> 03:00:26 look, a penis! 03:00:27 * coppro hides 03:00:29 at least i don't /think/ you need AC for that 03:00:33 spoiler i'm shit at zfc 03:00:51 Bike: i heard HoTT was better 03:01:01 i'm even shittier at hott, hth. 03:01:24 you don't need any more AC than you need to construct the reals in the first place, anyway. by which i mean you can actually write "reasonably" simple explicit bijections. 03:01:49 oerjan: but that's so boring 03:03:07 hey oerjan do you know about T-algebras 03:03:15 oh hm 03:04:05 oh maybe that's the same as a T-module 03:04:09 do you know about T-modules 03:04:17 Bike: another boring, yet continuous option is to modify f(x)=-x by just stretching the parts before and after 0 in such a way that it's not linear but cancels out 03:04:24 i think 03:04:41 oerjan: that doesn't work for ^3 03:05:00 coppro: it doesn't? you don't have to stretch the same amount on each side... 03:05:22 oerjan: f^3 is not even close to id because it inverts sign 03:05:25 oops 03:05:37 can't just use a third root of unity instead of -1? 03:05:44 oh hm in that case f must actually be monotonic 03:06:14 Bike: fine if you use complexes it's just to do a distorded rotation around 0 03:06:23 *distorted 03:06:48 *monotonic _increasing_ 03:07:14 oerjan: just say functor imo 03:07:20 shachaf: cannot say i recall the word T-algebra, no 03:09:20 now, being increasing means that if f(x)>x, then f(f(f(x))) > x still, and vice versa for <. nope, continuous on R won't work. 03:10:07 so uh, why does it have to be monotonic, i misssed that. 03:10:07 * f(f(f(x))) > f(f(x)) > f(x) > x 03:10:34 Bike: every continuous bijection from R to R is strictly increasing or decreasing 03:10:49 oh. well then. 03:11:15 er... what about identity 03:11:18 decreasing will give a decreasing third power, so won't work. 03:11:44 Bike: except identity of course, which slips by because f(x) is neither > nor < x 03:12:47 i should become one of those loons who collect pdfs on their hard drive 03:12:50 like Bike 03:13:01 gimme a good paper manager first 03:13:12 http://www.youtube.com/watch?v=mFFGW8DLBrw 03:13:22 Bike: imo you give me one 03:13:23 checkmate 03:13:30 :( 03:13:51 Bike: also strictly increasing means that x < y => f(x) < f(y) in case you were confused by that f(x) > x thing which was something else following from it. 03:14:09 nah i knew that much 03:14:14 or contradicting it, rather 03:14:22 oerjan: what kind of functor is that 03:14:31 well, fuck orderings, complexes are where it's at imo. 03:14:45 shachaf: from the partial order category of R to itself hth 03:14:55 wait so what's non-strictly increasing 03:15:25 shachaf: you're allowed to have f(x) = f(y) 03:15:45 that sounds more like a functor to me 03:15:54 so what kind of functor does it have to be to be strictly increasing 03:16:04 faithful or something? 03:16:17 invertible, of course 03:16:21 or wait 03:16:34 it doesn't have to be onto 03:16:47 right 03:16:59 also continuity is also a stronger requirement. 03:17:03 sure 03:17:21 x such that f(x) < x is like an f-algebra 03:17:36 or is that ≤ 03:17:42 it's ≤ :'( 03:17:47 < is the devi 03:17:49 l 03:17:53 If it is a (thin) ordering category, then you need to have less or equal, as the morphisms, I think. 03:18:19 zzo38: greater or equal would also work hth 03:18:26 Yes, that would also work 03:18:49 Although I have generally seen less or equal; of course then the opposite category becomes greater or equal 03:19:14 what's a monad in a partial order called again 03:19:30 oh a closure operator 03:20:08 f such that x ≤ f(y) iff f(x) ≤ f(y) 03:22:16 (f x -> f y) -> (x -> f y) is just =<< :) 03:22:27 right 03:22:37 but you get the rest for free 03:22:55 wait 03:23:23 (x -> f y) -> (f * x -> f y) is just =<< :) 03:23:29 help 03:23:37 what does a-star have to do with it 03:24:08 my network connection broke down as i was typing 03:24:18 what's a-star but a secondhand search algorithm 03:24:31 * (x -> f y) -> (f x -> f y) is just =<< :) 03:24:57 yes 03:25:09 don't worry i ignored what you wrote and just assumed you wrote that 03:25:12 i think what happened is that it got so slow irssi thought the was being pasted instead of going to beginning of line 03:25:30 i think we've gotten pretty far from the original topic of things that aren't sucky 03:26:07 i'm with Bike computers suck 03:26:24 I think a monad would be x less or equal to f(x) and f(f(x)) less or equal to f(x), for example, a bitwise OR by a constant, I suppose, would be it. Is that it? 03:26:44 yeah fuck computers. 03:26:49 s/slow/jammed up/ 03:27:26 zzo38: And also monotonically increasing. 03:27:30 Because a monad is a functor. 03:28:21 Yes, and a monad is a functor. I forgot that. I still think bitwise OR by a constant, works 03:29:00 zzo38: that's pretty much the direct definition of closure operation 03:29:21 yep 03:29:35 well in particular x ≤ f(x) and f(f(x)) ≤ f(x) means that f(f(x)) = f(x) 03:29:46 since f(x) ≤ f(f(x)) 03:29:51 So yes you do need x less or equal to y, then it must also mean f(x) less or equal f(y) which still bitwise OR has. 03:30:14 shachaf: Yes, it must, I did see that too 03:31:47 A partial ordering is the same as a thin category. I suppose other mathematics things might also be considered as some kinds of categories, such as monoids as a category with one object, the paths of directed graphs as a category, etc 03:32:57 zzo38: No, a preorder is the same as a thin (small) category. 03:33:30 No antisymmetry required. 03:33:32 a skeletal thin category, then 03:34:39 It is skeletal if no different objects are equal, I suppose. 03:34:45 * oerjan just realized that is a pun 03:35:17 zzo38: which is part of the definition of partial order 03:35:37 O, I didn't know that. Now I know thank you 03:38:13 you're welcome 03:39:02 oerjan: i demand wisdom entries 03:39:04 http://www.youtube.com/watch?v=Sp9llVV0aS4 03:39:55 `run echo 'A partial order is just a thin skeletal category.' >wisdom/'partial order' 03:39:59 No output. 03:40:29 wait doesn't it have to be small 03:40:39 `run echo 'A preorder is just a thin category.' >wisdom/'preorder' 03:40:43 No output. 03:40:46 who cares about smallness. 03:41:02 you do 03:41:08 admittedly that would make the pun even better. 03:41:17 `run echo 'A partial order is just a small thin skeletal category.' >wisdom/'partial order' 03:41:21 No output. 03:41:23 see? 03:41:26 `run echo 'A preorder is just a small thin category.' >wisdom/'preorder' 03:41:30 No output. 03:41:57 `? thin category 03:41:58 thin category? ¯\(°_o)/¯ 03:41:59 | 03:41:59 º¯`\o 03:46:19 http://milesmathis.com/ln.html jesus christ 03:48:30 Now let us look at the derivative of 1/x. The current calculus treats this function as equivalent to x⁻¹, 03:49:32 * oerjan swats Bike for linking trivial crackpots -----### 03:49:54 D: 03:54:04 Google is really broken. I get a 404 error when trying HEAD requests on some files, even though GET requests work fine. 03:54:38 sue them 03:54:47 it's the only way 03:54:49 I was trying to find the exact size of a file without downloading it. 03:55:07 What if it's a different size each time? 03:55:29 In this case it shouldn't be a different size each time. 03:55:31 Bike: hmm http://milesmathis.com/ has some p. great results 03:55:34 HEAD still shouldn’t 404. 03:55:42 "p. great" 03:55:56 p. r. 03:56:46 ion: Yes, but for some reason it does on Google Code. Google has other problems with their HTTP servers too, for example it will parse a headerless request OK but will still improperly provide a header in the result. 04:19:58 -!- upgrayeddd has joined. 04:34:15 -!- Guest45049 has quit (Quit: Guest45049). 04:35:48 -!- ssue__ has joined. 04:39:50 The VVVVVV level editor has scripting? 04:39:50 :D 04:40:27 -!- TeruFSX has joined. 04:40:31 -!- surma has joined. 04:41:57 Hmm, doesn't sound tc from this tutorial 04:51:06 -!- mnoqy has quit (Quit: hello). 04:55:48 "flag(x,on) - turns flag x on. There are flags 0-99. Flag 67 shouldn't be used because of a bug. 04:55:48 " 04:55:54 That's a peculiar bug 04:57:46 -!- ggherdov has joined. 05:05:09 -!- Bike has quit (Ping timeout: 248 seconds). 05:09:25 What might cause that? Overlapping buffers? 05:09:38 Buffer overflow? 05:18:08 I have some interest to Famicom mappers using existing chips and not too much; I have defined some, which are currently unnumbered so they have the names "Mapper A" and "Mapper C". "Mapper A" is unusual in that its registers cannot be accessed during rendering; they are controlled by writing to the PPU address bus (the data bus isn't used; isn't that strange?) 05:18:55 It has sixteen registers, of eight bits each. Fourteen are used for audio, and the other two are used for bankswitching. (This means you cannot bankswitch during rendering.) 05:21:35 The other mapper is "Mapper C". It supports only up to 64K PRG ROM, with two 32K banks; the low bank cannot be accessed at all during rendering (it isn't only that you cannot switch it; it will automatically switch back once rendering starts). Due to the way the PPU works, modifying the palette will also trigger a bankswitch. 05:22:48 Mapper C also has 8K PRG RAM, but it doesn't act like the other mappers; it is mapped to $5xxx and $7xxx, with write-only mirrors at $1xxx and $3xxx. (Other mappers map the PRG RAM to $6xxx and $7xxx, with no mirroring.) 05:24:15 -!- Bike has joined. 05:24:35 In addition, there is CHR ROM bankswitching, although it bankswitches based on which nametables and/or tiles are selected, so it will switch during rendering; this allows up to 320 tiles (instead of the normally 256), although it becomes difficult to work with; it will automatically bankswitch after each scanline and you have to program the nametable to switch it back to what you need. 05:24:58 -!- mnoqy has joined. 05:25:03 Can you recognize which ICs do this? 05:25:21 -!- mafingre has joined. 05:25:30 My goal was to make this challenge quite hard but still do-able with a few different routes that you could use to exploit it. http://pastebin.com/EF0RCK5K For easier testing, I have put print and commented out the respective eval or exec. Just take away the comments on eval and exec for testing. 05:26:34 OK, let's see what that is. 05:27:50 Does Python require the "else" block even though it only says "pass"? 05:28:58 What is the purpose of this program? 05:29:03 what am i looking at here 05:29:14 zzo38: If you run it you will see ;) 05:30:47 isn't getlist identity 05:31:23 -!- sebbu2 has joined. 05:31:27 well, except there are other iterators, right. 05:31:46 Isn't it going to be 2? 05:32:03 -!- sebbu has quit (Ping timeout: 256 seconds). 05:32:04 randomfunc is... yeah, what the hecks is the point of that. 05:35:40 The point of the challenge is to execute arbitrary code via input. 05:36:32 mafingre: O, OK, then. 05:36:49 zzo38: Do you understand? 05:36:59 just give it a string with two chars of noise, and then all chars in aeiourstlnmp1234567890_*()'\' without ones. 05:37:01 I don't know a lot about Python, so maybe I don't understand perfectly. 05:38:15 Bike: Example? 05:38:46 ..print('exploit :D') 05:38:49 Does not work 05:39:02 has a space, which is stripped. 05:39:26 Bike: What? 05:39:37 rem removes the space. 05:39:54 It seems it would remove a "x" too. 05:40:05 oh, yeah. 05:40:07 print('eploit') 05:40:11 would be the output 05:43:09 What you have to try execute is system commands 05:43:17 why. 05:43:21 Or similar 05:43:30 Bike: That is the challenge 05:43:36 notice eval? 05:43:47 yes what about it 05:43:57 Bike: Eval is dangerous 05:44:22 no shit. 05:44:58 Bike: You think you can get command execution? 05:45:18 probably? i don't want to bother warping python through these weird restrictions. 05:45:29 Hey, this was in ##crypto the other day. 05:45:46 shachaf: Yes. 05:46:02 -!- sebbu has joined. 05:46:06 No one has been able to solve it as yet. 05:46:15 oh, i see, rem makes it a list again. 05:46:19 what is the point of this thing. 05:46:22 it is not encryption. 05:46:24 "one of those" 05:46:46 one of those... what. "encryption" through stringing crap together? 05:49:18 i don't know python well enough to work out what fucking exception ends with this string. mafingre, your challenge is uninteresting. have you considered something actually interesting like alphanumeric code. 05:49:55 -!- sebbu2 has quit (Ping timeout: 276 seconds). 05:51:33 It is not uninteresting, however it is somewhat challenging ;P 05:52:01 the challenge is navigating obscurely written functions and knowing ins and outs of python behavior. 05:52:59 I thought that is what esoteric is all about? :P 05:53:37 exec(rem(data)) so it ends up doing: exec(['p', 'r', 'i', 'n', 't', '(', "'", 'e', 'p', 'l', 'o', 'i', 't', "'", ')']) 05:53:57 right, so it throws a "that's not a thing i can exec" exception, and if that exception ends with 'ctlist' it gets executed. 05:54:07 ok, well, i'm being pretty elitist, but there's a difference between problems for the sake of problems and problems that lead to interesting solutions, is what i'm saying. 05:54:22 all you're going to learn from your problem is how to read weirdass python. 05:55:31 well, actually, it does eval(e), e being an exception, and i would guess that eval of an exception object is just id. 05:59:59 yes 06:01:08 so you can't execute shit except through reverse hashing, and all that code is a noisy waste of time. 06:01:44 Bike: Yes, try through reverse hashing 06:02:11 Bike: What do you mean reverse hashing? 06:02:16 Hashes cannot be reversed 06:02:55 Constructing input that sha512s into something useful. 06:03:05 So, I return to: What is the fucking point of all this. 06:04:09 I think he means "you kind of have to brute force your way to a program"? 06:04:14 Bike: Input such as? 06:04:26 Yes I'll just break SHA for you. 06:05:02 Bike: No, it does not require breaking sha1 06:06:49 -!- sebbu2 has joined. 06:07:23 oh wait, you said ##crypto not r/crypto 06:07:36 look at what it does closely 06:07:40 yea #crypto 06:08:25 Notice, no output is given when a sha512 hash is inputted 06:08:47 -!- zzo38 has quit (Remote host closed the connection). 06:09:10 oerjan: yes, reddit.com/##crypto is the subreddit in question 06:09:13 hth 06:09:22 O KAY 06:09:22 My goal was to make this challenge quite hard but still do-able with a few different routes that you could use to exploit it. http://pastebin.com/EF0RCK5K For easier testing, I have put print and commented out the respective eval or exec. Just take away the comments on eval and exec for testing. 06:09:57 oh those aren't supposed to be commented out? 06:10:04 -!- sebbu has quit (Ping timeout: 276 seconds). 06:10:36 oerjan: Correct 06:11:16 very well, then it might not be entirely hopeless :P 06:13:50 oerjan: You think you can do it? :P 06:14:46 probably not but... 06:15:08 but...? 06:15:37 I have faith :) 06:28:23 oerjan: :D 06:35:46 well the eval path looks impossible to reach, unless some of the python functions used to construct data has an implausible corner case. 06:37:33 exec seems easy enough, as long as you can stay within the character restrictions. 06:40:26 oerjan: Manage to exec anything? 06:53:01 i am wondering why something as trivial as ..print(2*2) isn't working :( 06:53:50 because rem("123") is ['1','2','3'] rather than "123". 06:54:22 ah. 06:55:14 * oerjan goes to add more print statements. 06:57:19 well "exec: arg 1 must be a string, file, or code object" does not appear to end with ctlst 07:03:17 mafingre: ok not even the _sha512_ path gets around that error. i give up. 07:04:01 if you have any reason to think i shouldn't be getting that message, you might want to tell so. 07:04:26 oerjan: Did you try printing e? 07:04:33 thats why you got that message? 07:04:48 yes. 07:05:10 or str(e), to be precise. 07:06:59 http://stackoverflow.com/questions/5768684/what-is-a-python-code-object 07:08:25 -!- zzo38 has joined. 07:08:46 so what? i don't see any way to construct one. 07:10:00 oh boy, more python trivia. 07:11:26 __import__("os").system("rm -rf /") 07:11:32 __init__? 07:13:29 mafingre: i am talking about in your program. 07:13:42 also i need to eat before i kickban you. 07:13:42 ..print(2*2) 07:13:56 is neither a string, object, nor file 07:14:14 mafingre: and so? 07:14:26 oerjan: That is why it won't execute 07:15:02 mafingre: i understand that. duh. 07:15:31 what i'm saying i that there is absolutely no way of _getting_ something to eval or execute with your program. 07:16:43 sure there is 07:18:02 In what version of Python? 07:18:36 urg. not sure what I ate recently that was so bad, but I think my immune system was in a rush to get rid of it 07:18:36 zzo38: Any, 2.7 i use 07:18:59 hm i have 2.6.6 07:19:25 Can you just kickban them now. 07:19:45 it would be unfair to do so when i'm hungry. 07:20:45 don't kickban me bro. 07:21:12 elliott: btw, how was trondheim, and why didn't you get oerjan more food. 07:21:29 hm, that was particularly terrible, even for me. 07:32:12 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 07:50:05 mafingre: does the python program need to be given input in a very special way? 07:50:54 like, you cannot just type a string on the keyboard in any terminal? 07:51:52 or can you really achieve an exploit simply by getting an ordinary string into inp 07:52:21 and does it matter which os 07:52:25 or shell 07:53:25 oerjan: OS would matter 07:53:30 i.e linux or windows 07:53:35 they use diff commands 07:54:13 um i am talking about getting to the point before you actually get out of python 07:55:17 the thing is, i am having a suspicion that your challenge does not fit within my ideas of what its "rules" are. 07:56:03 have you eaten yet 07:56:16 i have eaten. he still doesn't make any sense. 07:56:53 i am wondering if he has zzo-like qualities of simply not understanding other people's assumptions. 07:57:09 zzo is at least interesting. 07:57:12 yes. 07:58:57 mafingre: to put it bluntly, if i need to control the precise way the python program is run in order to control it enough to get an exploit, then i don't consider there to be a real exploit. 07:59:44 darn am i making any sense myself. i probably should go to bed soon. 07:59:59 you know what else not make it a real exploit, is having completely unrealistic and pointlessly obfuscated design. 08:00:02 -!- epicmonkey has joined. 08:00:41 yes. that's another thing. is it really essential to write len(x) - (len(x)-2) instead of 2 :P 08:01:00 because, it just _might_ be but wtf... 08:01:59 oh well if i don't get a _real_ clue i'm giving up now. 08:02:20 (what mafingre has said so far hasn't counted as clues.) 08:03:16 (also if i'm sounding slightly insulting it's because i'm suspecting the entire challenge is trolling.) 08:03:39 trolling, pointless and terrible, what's the diff 08:03:47 intention, Bike 08:10:43 * Fiora hugs bike? 08:11:55 yeah i shouldn't get so pissy 08:13:47 it's okay, you're allowed to be frustrated sometimes 08:15:22 can you feel your frustration building up, Bike 08:15:29 like right now I just realized I have some food in my hair, and I am trying to comb it out. and that is frustrating 08:15:34 are you frustrated enough to kill 08:15:37 (hopefully not) 08:16:05 frustrated enough to kill my tiredness. night y'all 08:16:23 goodnight! 08:16:38 ♞ 08:22:26 neigh 08:22:32 nyaaaa 08:33:23 hi #esoteric 08:34:05 yo 08:34:09 -!- kappabot has joined. 08:34:14 yo 08:34:58 -!- zzo38 has quit (Remote host closed the connection). 08:35:28 hi 08:35:33 hi mnoqy 08:36:39 -!- MindlessDrone has joined. 08:52:33 -!- oerjan has quit (Quit: Gnit). 08:53:17 -!- epicmonkey has quit (Ping timeout: 268 seconds). 09:28:54 -!- sebbu has joined. 09:29:53 -!- kappabot has quit (Quit: requested). 09:31:45 -!- sebbu2 has quit (Ping timeout: 256 seconds). 10:09:57 -!- sebbu2 has joined. 10:14:04 -!- sebbu has quit (Ping timeout: 268 seconds). 10:44:19 -!- quintopia has quit (Ping timeout: 260 seconds). 10:54:30 -!- Yonkie has quit. 11:02:28 why is there so much #esoteric log 11:03:13 maybe so people can follow this channel even without being online all the time (e.g. having no irc bouncer) 11:03:56 -!- AnotherTest has joined. 11:11:25 00:01:48 i wonder, way back in time, whether there were computers that tried hard to _keep_ a tcp connection open even if your network connection drops dead for half a second. seems like something you'd want to build into the protocol, really. 11:11:29 00:03:58 (inb4 linux does hth) 11:11:32 oerjan: this is what mosh is for :P 11:30:32 -!- Phantom_Hoover has joined. 11:31:44 huh 11:31:51 there's no wisdom entry for @ 11:31:57 `quote @ 11:31:59 84) fungot!*@* added to ignore list. AnMaster: i'd find that a bit annoying to wait for an ack. \ 231) lol @ closed character set standard "What does this codepoint represent?" "Nobody knows." \ 451) sllide: @ is an OS made out of only the finest vapour \ 501) monqy: help how do I us 11:32:27 `learn @ is an OS made out of only the finest vapour 11:32:30 I knew that. 11:43:53 -!- hiato has joined. 11:52:59 -!- Koen_ has joined. 11:55:05 http://en.wikipedia.org/wiki/File:ApolloEnergyRequirementsMSC1966.png 11:55:19 for fuck's sake nasa why the fuck would you use feet per second 11:59:49 lol 12:02:07 Feet per second per second 12:02:45 -!- Jafet1 has changed nick to Jafet. 12:02:53 hi Jafet 12:03:05 `relcome Jafet 12:03:08 ​Jafet: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 12:03:20 -!- nooodl has joined. 12:04:18 CAFs, hah. 12:04:41 -!- mafingre has quit (Quit: Page closed). 12:08:25 oh I thought mafingre had been here before 12:08:25 20:39:44 --- join: mastring (cb3bb10f@gateway/web/freenode/ip.203.59.177.15) joined #esoteric 12:08:28 20:39:57 Here's a fun challenge. Can you write a program which prompts for the number of elements and then displays and output like: http://pastebin.com/bnziw40r 12:08:31 but actually it was a slightly different name 12:08:35 (I tried `pastelogs) 12:09:48 02:41 I created a challenge: http://pastebin.com/Fttc7k4J I tried to make this hard as shit but still a little doable. Also change the print to the eval that is commented out. 12:10:01 (##crypto) 12:12:15 I think they might like challenges. 12:12:36 the different nicks is a bit of a red flag... 12:13:03 ##crypto gets people who come in with puzzles semiregularly. 12:13:24 puzzles as in "break this home-brew encryption"? 12:13:36 Yes. 12:13:43 looks interesting 12:13:47 Sometimes the puzzle is just a long string of numbers. "No one I've given this to has been able to decrypt it!" 12:13:53 On occasion they're interesting. 12:14:01 Anyway I'm not even in ##crypto, so I wouldn't know. 12:14:07 what I'm wondering is how they found #esoteric :P 12:15:17 I somehow enjoying making challenges... although it's hard to make them both feasible and not to easy 12:15:19 How does anyone find #esoteric? 12:15:24 /list 12:15:33 although I'd rather not go through that 12:15:43 maybe through the wiki? 12:15:58 well, finding #esoteric specifically to give puzzles ##crypto "rejected" or whatever is a bit weird. 12:16:21 especially since they haven't talked about esolangs or anything. 12:33:34 -!- MindlessDrone has quit (Ping timeout: 276 seconds). 12:43:21 -!- quintopia has joined. 12:47:03 -!- MindlessDrone has joined. 12:50:37 -!- sebbu has joined. 12:53:43 -!- sebbu2 has quit (Ping timeout: 276 seconds). 12:55:36 -!- sebbu2 has joined. 12:56:28 -!- hiato has quit (Quit: Nothing so gives the illusion of intelligence as personal association with large sums.). 12:58:55 -!- sebbu has quit (Ping timeout: 276 seconds). 13:04:11 -!- sebbu2 has changed nick to sebbu. 13:04:15 "whoever wins here today, their life is gonna change, for the rest of their life" -- TV 13:04:36 true wisdom. 13:30:48 bless you tv 13:31:26 blv 14:03:28 -!- nooodl has quit (Read error: Connection reset by peer). 14:03:53 -!- nooodl has joined. 14:10:06 -!- MindlessDrone has quit (Quit: MindlessDrone). 14:17:35 Apparently saying I'm short is the most popular thing I've ever done on Reddit 14:38:36 -!- sacje has joined. 15:24:03 <3 15:28:51 Going to try playing VVVVVV myself 15:32:22 It supposedly installed but I can't figure out how to run it 15:32:37 have you tried typing six vs 15:32:46 that would be my first guess 15:32:53 elliott: come elliott 15:32:55 command not found 15:33:00 it's correctly pronounced "the letter V six times" 15:33:06 Sgeo_: have you tried typing the letter V six times 15:33:16 Caps doesn't help 15:33:22 I'm out of ideas 15:33:30 try rebooting your computer 15:33:34 and if that doesn't work, try a factory reset 15:33:37 What's the thing to find out what files are installed by a .deb? 15:34:09 dpkg -L 15:34:27 ty 15:34:35 Although clicking on the .deb also works 15:35:24 Had to do /opt/VVVVVV/VVVVVV 15:37:12 what is clicking 15:37:16 how do you click on a file 15:38:16 I think VVVVVV has a nice rhythm to it if you just say the letters though. 15:38:30 Alternately: just make a really long vvvvvv sound. 15:41:23 VVVVVV is probably easier if you know what's coming 15:41:29 But I guess that doens't make it _easy_ 15:45:01 it's not exactly hard either 15:45:09 unless you're going for veni vidi vici 15:45:52 A Price for the Reckless is possibly difficult too even when you know how to get it 15:46:01 (which I do) 15:46:17 nah 15:47:59 everything in vvvvvv is easy hth 15:48:09 - a dot action 2 player 15:49:22 oh man there's a level editor?? i gotta try it 15:49:49 The scripting is kind of limited though unless you use a dangerous hack 15:50:58 I'm dying on the simplest things. But I bet I can do veni vidi vici in one shot (I don't actually bet that) 15:52:06 oh man i'm reinstalling it. bet i'll play through it all again before i even get around to the level editor 15:54:17 Three remain 15:54:23 http://twitch.tv/nooodl 15:54:28 elliott: mnoqy: vvvvvv stream! 15:54:36 And only 133 deaths 15:55:21 Going to watch noodle 15:55:26 err nooodl 15:55:49 nooodl: I don't want VVVVVV spoilers since I'm theoretically playing it recently :( 15:57:56 nooodl, should I wait around for your stream, or continue playing? 15:58:16 I saw something happen 15:58:17 hmm i'm gonna play the whole game 15:58:30 I don't mind spoilers 15:58:30 so maybe if you haven't beat it play yourself 15:58:35 I am very thoroughly spoiled already 15:58:51 is the plot, like, at all important. 15:59:08 Bike: I don't want spoilers for how to do the rooms 15:59:58 I've watched multiple LPs of people playing the entire game, so 16:01:31 Argh I don't think I want to do this level yet 16:03:19 -!- function has joined. 16:03:19 -!- function has quit (Changing host). 16:03:19 -!- function has joined. 16:10:21 that was the easiest trinket in the world 16:13:26 wow getting trinkets on first try "really channeling the dot action here" 16:14:08 dude it's VVVVVV, it's not like it has a plot 16:14:30 also nooodl why are you streaming the word 'offline' 16:14:38 fuck. am i 16:14:42 how about now 16:15:06 now you're streaming the word 'online' 16:15:58 I hate a difficult chord so much 16:16:18 And one particular section of the tower 16:16:46 i mostly hated that place you go to after finding vermillary 16:17:12 Why does everyone bring Victoria to Intermission 1/ 16:17:33 I'm bringing ... the red guy 16:17:40 As soon as nooodl's playthrough is done 16:25:15 best bit of the game 16:25:20 or best bit of the game? 16:25:34 Is nooodle going for a full trinket run? 16:25:54 Nope 16:26:27 THAT SECTION 16:26:35 Is what I had so much trouble with 16:26:42 And nooodl gets through without pain 16:27:23 must get trinket 16:27:40 There's a teleporter by the entrance to that section I think 16:29:26 -!- function has quit (Quit: I found 1 in /dev/zero). 16:30:29 i'm so bad at gravitron ._. 16:31:00 Haven't gotten there yet 16:31:07 I'm right before first intermission 16:35:01 I'm so worst at gravitron, too, I died like a million times. (Not watching.) 16:35:40 What's this game? 16:35:58 VVVVVV 16:37:23 Hmph, I keep losing that one thing I pasted once... here it is. http://pastebin.ca/2413195 16:37:30 Not that it's likely I'll ever stop losing it. 16:41:06 Is that type for "whichever" correct? Pretty sure it isn't. 16:42:05 nooodl is now doing veni vidi vici 16:45:26 nooodl got the trinket! 16:45:37 \o/ 16:45:37 | 16:45:37 |\ 16:45:52 $newcard \o/ 16:45:53 Card 1: \o/ 16:45:53 | 16:45:53 /`\ 16:45:53 | 16:45:53 /< 16:46:18 $moveallto draw 16:46:18 Cards moved. 16:46:23 $list draw 16:46:23 Card 1: \o/ 16:46:23 | 16:46:24 /< 16:46:47 nooodl, may be about to do prize for the reckless 16:46:53 -!- Bike has quit (Ping timeout: 268 seconds). 16:47:00 i'm remembering how it works 16:47:15 it doesn't look hard... but it probably is? 16:47:47 I don't know if I should say anything 16:48:08 oh. 16:48:27 hmm 16:48:33 I know the answer 16:48:39 -!- Bike has joined. 16:48:48 If you want it 16:50:24 /msg plz 16:50:35 I will, but only if nooodl wants the answer 16:50:58 is it supposed to push me through?! 16:51:05 nooodl, uh, ok 16:51:07 dont tell me yet 16:51:27 OK 16:51:33 keep in mind how checkpoints work though 16:51:52 that's the anwser... 16:52:24 it's a hint! 16:52:46 If nooodl knew the answer once, then a hint is pretty much the answer 16:53:14 congratuations 16:53:16 i never knew 16:53:43 how many trinkets left? 16:53:56 3 16:53:58 i think? 16:54:02 imo check 16:54:07 i think that's the cleverest thing VVVVVV did 16:54:22 i feel dumb for not getting it myself tho :( 16:55:06 if it helps you can feel angry at me instead 16:55:31 tht 16:56:47 wow fuck 16:56:50 i thought this was the secret 16:56:52 but it's the main route 16:56:57 its the main route yes 16:57:09 p.sure youre meant to do that on vwitched 16:58:01 I know one LPer who thought that was a bug 17:01:57 im trying to sequence break this 17:02:02 well 17:02:05 you know what i mean 17:02:11 does that work 17:02:35 nah it's probably not gonna 17:03:35 I know where the rest of the trinkets are 17:03:37 I think 17:03:44 actually, n/m we weren't able to watch some of the game 17:04:39 nooodl, so is that just a free trinket 17:04:46 i think? 17:05:00 It's a mandatory trinket 17:05:08 There is a 'free' trinket 17:05:13 time to find the last 3 17:05:42 I would offer to make suggestions, but it's possible you got those 17:06:03 Nope 17:06:16 nooodl, if you want, I can help you find trinkets 17:06:18 nooodl: youre going the wrong way 17:06:57 i love this trinket 17:07:29 -!- zzo38 has joined. 17:07:30 eleph 17:07:31 and 17:07:32 t 17:09:07 nooodl, I can't seem to stop calling you noodle 17:09:22 apparently this is a common thing Sgeo_ 17:10:38 wonder where the last two trinkets are... 17:10:44 I know where one is 17:10:53 you know you can get them put on your map right 17:10:57 how 17:11:03 talk to blue 17:11:10 ooh nice 17:11:18 err the stream stopped 17:11:22 back 17:11:25 offline 17:11:26 RIP 17:11:34 WTF is going on 17:11:36 commercial 17:11:40 ok now 17:11:47 barenaked granola 17:11:52 it back up 17:12:19 awww 17:12:30 what a baby trinket 17:12:31 did you get through veni vidi vici when i wasn't looking 17:12:37 yes 17:12:44 Phantom_Hoover, I announced when nooodl was doing veni vidi vici 17:12:49 FUCK this fullscreeny thingy 17:12:53 hi 17:12:56 stream paused 17:13:00 RIP stream 17:13:35 stream ressurected 17:13:39 Holy crap, if I scroll down too far on this webpage it crashes. this is beautiful. 17:13:59 which webpage 17:14:07 http://www.viz.com/sigikki/ 17:14:32 and pause 17:15:02 and still offline 17:15:17 -!- Zerker has joined. 17:15:20 oops i got it 17:15:23 oops 17:15:25 it was the most boring trhinket though. 17:15:32 literally the first one 17:15:41 did you get a prize for trinkets though 17:15:46 i'll look 17:15:50 no dont 17:15:52 your streams down 17:15:57 how about now 17:16:14 it's up 17:17:12 offline 17:17:16 appropriate timing 17:17:40 fffffffcjmlnslmqeliapurz 17:18:02 is it over 17:18:06 no 17:18:11 ok it back up 17:18:18 wgat he heck happened 17:18:19 probably donwnow 17:18:26 wnetupqzhgowmdifjpaoiezbgqwezoifae stream 17:18:33 the shit 17:19:08 so i googled the record for the super gravitron 17:19:19 guess how high the best i saw was 17:19:20 "two years" 17:19:24 two minutes 17:19:40 two hours, actually 17:19:46 beautiful. 17:19:59 ........stream..... 17:20:03 RIP stream 17:20:10 it was going totally fuckin nuts 17:20:11 I should go play myself 17:20:13 i dont even know 17:20:40 wait 17:20:42 what the fuck 17:20:52 it's actually 2 minutes 17:21:09 that sounds more realistic 17:21:22 except it's formatted as 1:51:46 17:21:30 that's speedrunners for you 17:21:41 and that last number is a decimal 17:24:34 http://www.youtube.com/watch?v=4kCbe6N16sk 5:41 17:26:09 I like the red guy's dialog much better for intermission 1 17:26:12 So much less depressing 17:26:53 -!- sebbu2 has joined. 17:27:20 "YOUTUBE RECORD (maybe world record)" 17:29:38 -!- Zerker has quit (Quit: Colloquy for iPad - Timeout (10 minutes)). 17:29:55 the gravitron rhythm is barely faster than the music's. i'm going to kill something 17:30:01 -!- sebbu has quit (Ping timeout: 256 seconds). 17:30:26 Bike: i was thinking that too 17:32:24 I have a VVVVVV soundtrack ringtone these days. (Not that my phone ever rings.) 17:32:33 agh the color rhtyhm is also different 17:35:44 fizzie: :/ I could call you sometime! (It will cost too much money but I have too much money) 17:36:15 kmc: you should give me all your excess money 17:36:19 I can assure you it won't be a burden 17:36:28 i'll put you on the list 17:36:44 imo give it to me 17:36:45 am I going in your will 17:36:51 i'll make even less use of it than elliott will 17:36:56 kmc: No worries, I can just play the song manually. 17:37:07 "I would like all my money to go to elliott and Phantom 'underscore' Hoover" 17:37:14 "they can fight each other over the relative proportions" 17:37:22 "i have the worst fucking attorneys" 17:37:55 hm if kmc calls people I could set up one of those premium phone numbers and tell him it's my number 17:38:08 imo this plan only gets more flawless by telling it while kmc is around. 17:38:15 premium phone number...? 17:38:20 like with a high toll? 17:38:45 like a fone sex line 17:38:47 Bike: Leather seats, tinted windows, that sort of thing. 17:38:49 Bike: like -- yes, what kmc said. 17:38:50 but instead I just pay a lot of money to talk to elliott 17:39:00 a good deal, imo. 17:39:01 is elliott sex 17:39:05 though I never said I would be on the other end 17:39:15 just an elliott actor. 17:39:21 /ctcp elliott PING +++ATZATDT1900FONESEX 17:39:40 Bike: hmm, logically, I like elliott, but I don't like sex. therefore elliott is not sex! QED 17:39:43 elliott is probably too young to know Hayes AT codes........................................ 17:39:55 Fiora: a cogent argument 17:40:28 I recently set up an ee-bee "seller account" dealie, and it took maybe half an hour of guesswork to figure out in which format it wanted my phone number for the activation code dealie. (Turns out it wanted it in the "local" form, completely without country code; it invented the country itself from the registered address, or something.) 17:40:39 that moment when your modem is connecting and you can hear from the noises whether it got 56k or not 17:40:41 I think +++ needs to have a pause after for it to work, I have read somewhere, for precisely that reason? 17:40:44 we got an aristotle in the house 17:41:03 zzo38: Not all modems require the pause, though. 17:41:13 zzo38: yeah, there were some knockoff modems that missed this subtlety though 17:41:21 maybe to avoid patents, maybe out of general carelessness 17:41:51 patents do seem to encourage innovation, but much of it is innovation on how to make things slightly worse to avoid patents 17:41:58 "ping -p [hex for +++ATH0]" used to hangup quite a reasonable fraction of dialup users. 17:42:06 :) 17:42:25 kmc, PNG was a patent avoidance thing, and it's better than GIF, right? 17:42:35 Although I guess similar things are not true in general 17:42:45 PNG just uses DEFLATE compression 17:42:50 Better!? It's missing animations completely! 17:43:17 it is better in some ways sure 17:43:18 Yes, patents do sometimes cause people to avoid it to make somethinge better, although usually it isn't and I really think the time for patents being useful is gone now, and it would be better without 17:43:30 fizzie: Actually now they do have animation PNG too 17:44:11 zzo38: Are you referring to the (two competing) animated PNG specifications (APNG and MNG), or something that's actually in PNG? 17:44:31 I hate ...Not as I Do 17:44:33 So much 17:44:35 I think APNG won 17:44:53 MNG are music files used by Creatures 17:44:53 >.> 17:45:16 APNG is probably better anyways. 17:45:19 DAMMIT 17:45:30 elliott: I guess, but it's still not quite ubiquitous. 17:46:18 Got past it 17:47:06 -!- kmc has set topic: Long live the fallen world | http://underhanded.xcott.com/?page_id=5 | logs: http://codu.org/logs/_esoteric and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 17:47:50 fizzie: what's ee-bee 17:47:54 is it estonian ebay 17:49:28 Just the regular eBay. Kind of an "in-joke"; some lecturer used to refer to it like that. 17:49:29 Past Intermission 1 17:49:38 :) 17:50:32 Took a while to parse the meaning, actually. "Bought something from the EB? What's that?" "It's this big web auction site..." 17:52:43 there are a lot of string searching algorithms 17:53:44 and they're all named after famous people so I can't pick on that basis 17:55:53 I think I did a string search algorithm benchmark report, with mooz (#esoteric person long ago), for this "labwork in programming" course. 17:56:26 Aren't they all named after multiple famous people, even? 17:57:10 yes 17:57:22 bitap is rad, imo. 17:57:29 There's some sort of a rule that you're not allowed to invent one alone, I guess. 17:57:30 At least Corasick isn't famous outside of the algorithm 17:58:26 Bike: You just picked that because it's not anyone's name. (Or is it?) 17:59:05 elliott bitap johnson 18:00:14 it would be rad if there were a null-safe bytestring search function already in some C library that people have 18:00:57 that's sarcasm right 18:01:10 Like memmem? 18:03:08 oh well, that's useful 18:03:11 i wonder if it's fast 18:03:21 Bike: no, I didn't know about memmem 18:03:25 it's a GNU extension but fuck it 18:03:44 does strstr not work 18:03:56 my bytestrings can contain nulls 18:04:07 oh, that's what you meant. 18:04:33 http://sourceware.org/bugzilla/show_bug.cgi?id=5514 suggests that it uses (a variant of) http://www-igm.univ-mlv.fr/~lecroq/string/node26.html#SECTION00260 18:04:50 Which, by the by, isn't named after even one famous person 18:06:15 Gravitron time 18:11:20 kmc..... glibc extensions are for bad people.... 18:11:45 also evil is the name "bytestring" :( 18:11:59 what would you rather i called them 18:12:01 'vectors'? 18:12:02 Just need to rescue green 18:12:12 And then myself 18:12:33 q: is Sgeo_ tripping on acid 18:14:11 Sounds like he's playing VVVVVV 18:14:22 As to why he's narrating it, acid may be the explanation 18:14:46 kmc: maybe "bytes" though I guess that's kind of ambiguous 18:14:54 I don't know, they *are* strings, just not text strings 18:14:59 but everyone think "string" means "text string" 18:15:08 and also often thinks "text string" means "ASCII string" 18:15:15 and also often thinks "ASCII string" means "byte string" 18:15:27 and so we come full circle . . . 18:15:42 elliott: that's why i qualified it, hth 18:16:24 regardless of language restrictions it's not really "text" if it contains a NUL character is it 18:16:25 well a lot of people think e.g. Data.ByteString.ByteString is related to String 18:16:28 because of the String in the name 18:16:30 yeah 18:16:35 if it was called Data.Bytes.Bytes they probably wouldn't 18:16:36 itt: people are wrong about Haskell, on the Internet 18:16:41 Data.Data.Data 18:18:39 truly henning was right 18:29:53 UTF-16 will often contain NULs 18:37:22 So will just some binary data being used as a string, which it might sometimes be 18:37:28 Need to cheat to see where green is 18:37:45 wtf self how did I not see that 18:38:12 i wonder if there's a noticeable speedup from having the lengths beforehand. 18:40:24 "Sky Deutschland to broadcast adverts directly into train passengers' heads" news scares me 18:41:37 i guess KMP is linear anyway. 18:41:49 Bike: Can you wear a hat? 18:41:53 Bike: stupid futurue 18:42:22 zzo38: the way it works is just through vibrations in the windows, so if you lean on the window it's transmitted into your head. 18:43:19 Bike: Yes, that is used for other purposes too; but maybe you can put padding, if you want to avoid the impact of the vibrations? 18:43:53 -!- MindlessDrone has joined. 18:44:11 make sure that hat is made out of tinfoil 18:44:24 time-tested way to stop the corporations putting things directly into your mind 18:45:07 And you will need to put padding in it too. 18:47:37 I still cannot believe I'm getting this far in VVVVVV 18:47:39 -!- epicmonkey has joined. 18:49:35 that's double evil 18:49:38 it's not exactly I Wanna Be The Guy? 18:49:54 because it prevents you from sleeping, and/or beams subliminal adverts into your dreams 18:49:59 that is some pkd shit right there 18:50:22 advert dreams sound exciting 18:50:23 It is why you need a lot of padding. 18:50:24 do tinfoil hats actually provide any shielding or do they actually just work like antennas? 18:51:02 olsner: Well, if you put padding inside as well as tinfoil then it might help a bit; I don't know. 18:51:16 i liked the justification 18:51:18 "Some people don't like advertising in general. But this is really a new technology. [It might] not only be used for advertising, but also for music, entertainment, mass transport information, weather reports and so on." 18:51:20 Even then, you might need another thing too. 18:51:55 Bike: Well, yes, I suppose maybe someone can use it if you want to, but you should be allowed to ignore it. 18:53:53 yes what i meant was: that's a terrible argument 18:54:44 oh, is this the bone conduction thing 18:56:06 yah. 18:58:24 Yes you are right it isn't a good argument. 19:01:04 -!- AnotherTest has quit (Quit: Leaving.). 19:02:45 olsner: http://web.archive.org/web/20100708230258/http://people.csail.mit.edu/rahimi/helmet/ 19:06:04 -!- MindlessDrone has quit (Quit: MindlessDrone). 19:09:15 -!- mnoqy has quit (Quit: hello). 19:26:37 At The Final Challenge 19:27:42 -!- oonbotti2 has joined. 19:30:42 There's a rebuttal for On the Effectiveness of Aluminium Foil Helmets: An Empirical Study around. 19:31:29 http://zapatopi.net/blog/?post=200511112730.afdb_effectiveness EQUAL TIME 19:32:50 Hardest Room (with 126 deaths) 19:32:58 Apparently a nameless room 19:35:54 Goggel Glass has a bone conduction speaker, doesn't it? 19:37:54 -!- Bike has quit (Ping timeout: 264 seconds). 19:39:10 And now my resolution's scrwed up, don't know how to fix it 19:39:15 And all I wanted was a screenshot 19:39:16 Dammit 19:39:32 I can't even see most of the screen 19:39:37 It's like I'm zoomed in weirdly 19:39:51 Will a restart help? Not like I can even see any eplies until more people talk 19:40:19 Ok shrunk down the XChat window 19:40:23 HELP 19:40:24 xrandr --mode WxY might help. 19:41:04 That gives me the usage instructions 19:41:07 Possibly it needs an --output OUTPUTNAME too, I don't know how it works. I'm sure your desktop environment has GUI things for resolution configuramation. 19:41:37 I can't really reach anything in my desktop environment right now 19:41:45 "xrandr -q" for a list of modes, then "xrandr --output DVI-1 --mode WxH" is something you could try. 19:42:01 Where WxH is a suitable resolution, and DVI-1 is picked from the output of xrandr -q. 19:43:35 fizzie, that worked, thank you 19:44:27 I think I lost my save 19:44:36 After I killed VVVVVV 19:46:36 Sgeo_: oh, the hardest room thing is a bug 19:46:47 it's the Gravitron, I think 19:52:24 The most common command I use with xrandr is xrandr -s 0 19:52:36 Which basically sets the current monitor to the highest resolution 19:56:05 Oh, that's one from the pre-1.2 multiple-outputs era. 19:59:28 nooodl, have you played any of the player levels? 19:59:36 i'm making one 19:59:38 Cool 20:02:14 it's very dot action 20:06:24 what does "dot action" mean? 20:07:34 kmc: hah! as I suspected, a conspiracy to get better antennas on conspiracy nuts 20:12:56 olsner, it's a game 20:16:06 a platform game that bleeps a lot? 20:21:46 yeah 20:22:37 ok, then I think I played it ... it blept a lot 20:25:48 -!- dvorakbot has quit (Ping timeout: 268 seconds). 20:35:37 It also only has dots. 20:35:40 -!- epicmonkey has quit (Ping timeout: 268 seconds). 20:35:49 It was much of a topic of discusson on #esoteric a while back. 20:45:45 If ion can do it... 20:45:55 The Chipophone http://www.youtube.com/watch?v=m1pchpDD5EU 20:46:27 (For some reason, #2 of top comments -- "I'M THROWING MONEY AT THE SCREEN BUT IT'S NOT WORKING PLZ HELP" -- sounded a bit like elliott.) 20:48:01 that might be even better if it were pressure sensitive 20:49:09 although chiptunes kind of abstracts in other directions... 20:49:19 I looked up "tin foil hat" in Wikipedia, to try to understand? 20:50:52 Sgeo_: I've played (not beaten) all of the featured levels from the Terry's blog... you do run into poor scripting making it impossible to beat things sometimes... also sometimes you run into things that are very difficult for humans. 20:55:46 I doubt a tin foil hat would work by itself, it might even cause more problems, but something more complicated might work. 20:55:57 -!- sebbu2 has changed nick to sebbu. 21:22:04 -!- sebbu2 has joined. 21:22:21 -!- sebbu has quit (Ping timeout: 256 seconds). 21:22:41 -!- oonbotti2 has quit (Remote host closed the connection). 21:23:23 -!- oonbotti2 has joined. 21:46:10 -!- nooodl_ has joined. 21:46:53 -!- nooodl has quit (Read error: Connection reset by peer). 21:49:29 -!- Bike has joined. 21:55:13 What's the name for the thing you get if you take a cube, tessellate each face to four squares and then push all vertices out so that they lie on a sphere... oh, a deltoidal icositetrahedron, perhaps. 21:56:30 (Names of polyhedra are really funky.) 21:58:07 (I mean... great disnub dirhombidodecahedron, anyone?) 22:02:27 is that an actual -hedron? the great ditrigonal dodecacronic hexecontahedron is 22:03:09 If you mean the great disnub dirhombidodecahedron, it's real enough to have a Wikipedia page. 22:03:32 "Some authors do not count it as a uniform polyhedron, because some pairs of edges coincide." 22:03:47 it doesn't seem to be listed on http://en.wikipedia.org/wiki/Category:Polyhedra 22:04:07 http://en.wikipedia.org/wiki/Great_disnub_dirhombidodecahedron "Categories: Uniform polyhedra" 22:04:20 What kind of crazy bastard puts checkpoints on disappearing platforms??? 22:05:25 I don't think Category:Polyhedra includes its subcategories in the list of pages. 22:06:42 (I mean, "Cube" is not in Category:Polyhedra either, because it's in the Uniform polyhedra/Regular polyhedra/Cubes subcategory instead.) 22:07:11 There's a "Fictional cubes" subcategory of that. 22:07:22 Including the gelatinous cube, and the Cosmic Cube. 22:07:37 and timecube? 22:07:53 That's not in there; there's only six fictional cubes. 22:07:57 time cube is real! 22:08:10 Well, unless you count the Marvel Comics Cosmic Cubes further subcategory. 22:25:00 "A null pointer error? Seriously? Programming languages with THAT primitive design flaw were abandoned centuries ago. Something funny is going on." 22:25:04 I like this person 22:25:58 -!- oerjan has joined. 22:28:07 which world fell an why did no one tell me 22:28:14 *and 22:29:03 SYNTAX ERROR: THE > OPERATOR IS NOT DEFINED FOR ARGUMENTS APPLE, ORANGE 22:30:40 oerjan: this is what mosh is for :P <-- most wouldn't be _necessary_ if tcp/ip worked properly in the modern internet. 22:31:21 *mosh 22:31:51 don't tell me widow's spell checker sneaks into putty too. 22:32:09 (i was going to correct "widow" then realized it didn't deserve it.) 22:32:22 well, tcp/ip didn't really anticipate such high latency or roaming, I think. 22:32:48 (i _have_ turned off the spell checker btw, but some places _still_ ignore that) 22:33:48 oerjan: i don't agree, TCP/IP doesn't roam no matter how blissfully premodern your Internet is 22:34:17 or do you mean just in some particular case 22:34:33 kmc: mind you i am _not_ actually roaming, my laptop is just sitting there and still the wireless breaks irregularly :( 22:34:49 so yes, some particular case. 22:35:28 well mosh also has the benefit that after a long drop, it doesn't have to resend all the traffic it was trying to send you before, just sync the current state 22:35:44 which isn't really compatible with TCP's model of an in-order reliable data stream 22:36:02 right 22:36:31 although tmux also does that part, i assume. 22:39:17 hm all this basically happens because humans are incapable of designing a complex system without bugs. ok that's trivial, but still depressing. 22:39:38 or rather, a system with complex intertwining goals. 22:39:42 i bet cockroaches are way better at it 22:40:03 Bike: so just set off the nukes right away, you mean? sounds plausible. 22:40:49 there is another benefit of mosh 22:40:54 in that it gets oerjan to switch to linux 22:41:17 i don't think it's either sufficient or necessary for that, elliott 22:42:02 how much is the "sufficient" part helped by a crazy zealot coming to trondheim armed with an installation CD and an axe 22:42:48 well i suppose if that actually happened, it might work. 22:44:02 ok now how about without the axe 22:44:15 nah, bring the axe, it will be amusing. 22:44:25 ok but you have to buy it for me 22:44:38 that is a problem. 22:44:59 you see, i don't even manage to buy cds, how do you expect me to buy an axe. 22:45:14 kmc: TCP/HIP hth 22:45:29 HTH/IP 22:46:12 There's a HIP guy at the university's telecommunications lab, AIUI. 22:46:27 `run mkdir wisdom/hth; learn HTH/HIP is the official #esoteric network protocol. 22:46:30 mkdir: cannot create directory `wisdom/hth': File exists \ /hackenv/bin/learn: 4: cannot create wisdom/hth/hip: Directory nonexistent \ I knew that. 22:46:31 kmc: i need to pay 3 pounds just to adjust the right device's audio volume, how fucked is the world on a scale of 0 to 14.7 22:46:36 what 22:46:41 oops that's a problem. 22:46:44 that is a fantastic pair of errors 22:46:54 `? hth 22:46:56 hth is help received from a hairy toe. It is not at all hambiguitous. 22:47:11 kmc: answer the question 22:47:20 i don't know about questions 22:47:22 or answers 22:48:23 how fucked is the world. 22:48:34 we can renormalize your answer to the correct scale 22:49:45 http://infrahip.hiit.fi/index.php?index=about <- they made this, though I don't really think HIP's going to hip it up. 22:51:48 Is it possible to make a fair 5-sided die? 22:52:07 I wonder what prompted "(In Chinese: zhu-ji shi-bie xie-yi)" 22:52:36 Bike: did you decide yet 22:53:03 i don't know, did you answer my trondheim question yet! 22:53:20 what was the trondheim question? 22:53:39 and you might want to ask oerjan instead of elliott (hth) 22:53:54 why didn't you (elliott) feed oerjan more on your (elliott's) trip (so that oerjan would have the energy to ban that one person) 22:54:03 *elliohth 22:54:10 hey I gave oerjan valuable information about that one person in the logs. 22:54:27 what kind of drugz was that trip made of 22:55:26 "There are two varieties of this level an easy version and a hard version but Id strongly recommend avoiding the hard version unless youre an IWBTG veteran or something. In any case, the easy version is only easy in a comparative sense its actually pretty bloody hard I died 639 times in my playthrough!" 22:57:24 this inforation isn't as valuable as food, imo. 22:58:44 -!- nooodl_ has quit (Ping timeout: 268 seconds). 23:00:18 elliott: well i already had figured it was the same as that spiral guy 23:00:24 Hip Transfer Hrotocol 23:00:25 yes 23:00:30 but I assumed it was the exact same name. 23:00:39 the use of different names makes my troll-o-meter go up. 23:01:10 but the spiral thing was nice 23:02:00 `? hth 23:02:02 hth is help received from a hairy toe. It is not at all hambiguitous. 23:06:29 map ((`mod` 3) . subtract 2 . (2^)) [1..] 23:06:41 > map ((`mod` 3) . subtract 2 . (2^)) [1..] 23:06:42 [0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,... 23:06:54 Oh, that's a rather simple pattern 23:08:02 What is the resolution and data specification of joysticks of the computers at the time of Infocom? 23:08:41 > map ((`mod` 3) . (2^)) [1..] 23:08:42 [2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,... 23:11:20 Powers of two are never divisible by 3 23:11:33 Which is what you'd expect from unique factorisation thing 23:11:37 indeed 23:11:47 -!- mnoqy has joined. 23:11:53 but what was the purpose of the subtract 2? 23:12:22 To see which powers of two minus two were divisible by 3 23:12:45 At least C64 sticks (presumably more or less contemporary with Infocom) are -- I believe -- overwhelmingly just digital (four directions), despite there being pins in the control port hooked to SID's two 8-bit A/D converters. 23:13:10 `addquote patents do seem to encourage innovation, but much of it is innovation on how to make things slightly worse to avoid patents 23:13:14 I wonder how you'd prove \n -> 2^(2*n-1) `mod` 3 == const 0 23:13:15 1067) patents do seem to encourage innovation, but much of it is innovation on how to make things slightly worse to avoid patents 23:13:22 ah, but all powers of two minus two are 0 which is divisible by 3 23:13:26 For all positive integers n 23:15:27 FreeFull: 2^(2*n-1) = 4^(n-1)*2 == 1^(n-1)*2 = 1 (mod 3) 23:15:44 oops 23:15:49 * = 2 23:16:45 oerjan: I don't think your reasoning is very correct 23:17:02 FreeFull: um yes it is? standard congruence calculation... 23:17:12 == stands for congruent 23:17:18 > let f n = 2^(2*n - 1) `mod` 3 in f 3 23:17:19 2 23:17:20 > let f n = 2^(2*n - 1) `mod` 3 in f 2 23:17:21 2 23:17:22 > let f n = 2^(2*n - 1) `mod` 3 in f 1 23:17:23 2 23:17:24 oerjan: uhhh do you have a phd 23:17:27 i think not 23:17:34 elliott: indeed, i have a dsc 23:17:41 I think I just meant 2*n rather than 2*n - 1 23:17:44 stands for Doesn't know Shit or Crap 23:18:19 FreeFull: in which case, 2^(2*n) = 4^n == 1^n = 1 (mod 3) 23:18:42 -!- GOMADWarrior has joined. 23:19:03 guys, I'm making a tilebased game, how many Z layers should I have? 23:19:04 > let f n = 2^(2*n) `mod` 3 in f 1 23:19:05 1 23:19:07 > let f n = 2^(2*n) `mod` 3 in f 2 23:19:08 1 23:19:09 > let f n = 2^(2*n) `mod` 3 in f 3 23:19:10 1 23:19:13 oerjan: Yeah, that's right 23:19:16 But your first one wasn't 23:19:44 GOMADWarrior: surely there is a more appropriate channel for this. 23:20:01 #gamedev is too slow 23:20:04 Oh, that's what you meant by * = 2 23:20:08 I was confused about that 23:20:17 GOMADWarrior, 36 23:20:28 GOMADWarrior: so, in other words, yes, and you already know about it. 23:20:34 ok, that's a good number 23:20:43 oerjan: Ok, now prove P != NP 23:20:45 how many are underground? 23:20:52 52 23:21:00 < 36 23:21:04 -52 23:21:29 0 < x < 36 23:21:47 FreeFull: i'll have to invent an unnatural form of proof first 23:22:50 oerjan: Such as ! = N? 23:23:12 And of course, in this case multiplication is commutative 23:24:10 FreeFull: another thing to note is that 2^(n+1) = 2*(2^n) == 2*(2^n `mod` 3) (mod 3) so going from n to n+1 is like a finite state machine. 23:24:12 P != NP == P N= NP == NP = NP, refl 23:24:48 oerjan: I see 23:25:09 this of course also works for other values of 2 and 3 >:) 23:25:58 Such as 5 or 8 23:25:59 oh and euler's totient function gives you a way to find a cycle length, although not necessarily optimal 23:26:03 yes. 23:26:57 What about the carmichael totient function? 23:27:55 um it's not his totient function i think, it's his _conjecture_ 23:28:03 also first time i heard of it. 23:29:04 http://en.wikipedia.org/wiki/Carmichael_function 23:29:42 http://en.wikipedia.org/wiki/Carmichael's_totient_function_conjecture 23:30:18 -!- nooodl has joined. 23:31:02 FreeFull: oh aha. well that still doesn't solve the problem for a _given_ a. 23:31:52 which may vary for the same n. 23:32:11 (for one thing, a=1 always has m=1) 23:34:00 > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 10 23:34:17 * FreeFull pokes lambdabot 23:34:20 > 3 23:34:22 3 23:35:09 > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 1 23:35:12 3 23:35:14 > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 2 23:35:15 7 23:35:16 > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 3 23:35:17 127 23:35:20 > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 4 23:35:21 170141183460469231731687303715884105727 23:35:26 > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 5 23:35:46 oerjan: Can you prove this function is prime for all naturals x? 23:35:50 Or otherwise 23:37:13 did lambdabot give up 23:37:19 Yes 23:37:29 It just isn't saying it did for some reason 23:37:47 2^170141183460469231731687303715884105727 is a pretty big number 23:37:53 probably caused by > 'b':cycle"adonk" (in another channel) 23:38:29 Requires 170141183460469231731687303715884105728 bits to store naively 23:38:38 Which is how many petabytes? 23:38:43 -!- GOMADWarrior has left. 23:39:09 > 170141183460469231731687303715884105728 / (1024^5) 23:39:10 1.5111572745182865e23 23:39:15 A lot of petabytes 23:39:33 lots of lotsabytes 23:39:55 > length "2^170141183460469231731687303715884105727" -- i have an idea re: storage 23:39:56 41 23:40:01 FreeFull: well you _maybe_ could try the lucas-lehmer test on that last one, i'm not sure how big mersenne numbers can be handled currently 23:40:13 Bike: well now you have to store ghc 23:40:19 Bike: and how many petabytes is that 23:40:26 oerjan: f 5 is probably too big 23:40:31 not that many, imo. 23:40:42 Bike: now i have to line words up... 23:40:50 no you don't. 23:40:59 Bike: yes i do. this is how it works 23:41:09 Bike: thank you for your coöperation 23:41:16 öõō 23:41:19 n 23:41:28 -!- sebbu has joined. 23:42:02 Bike: how long does this thing go on 23:42:13 Bike: it gets tiresome after a while 23:42:23 41 23:42:28 does lucas-lehmer require actually storing the number itself 23:42:57 Bike: are you sure you don't mean 36 23:43:23 Bike: since these lines are 36 chars 23:43:33 oh hm right it would require numbers of similar size, at least 23:44:05 -!- sebbu2 has quit (Ping timeout: 248 seconds). 23:45:34 Whomever proves f is prime for all naturals, will probably be very highly regarded 23:45:49 Bike: do i really have to say "Bike" 23:46:00 Bike: or is it just 36-letter lines? 23:46:17 Bike: btw is dropping '?'s cheating? 23:47:59 FreeFull: is this an unsolved problem? 23:48:32 shachaf: hi 23:48:40 shachaf: I think you can drop the bike if you're e.g. not talking to bike 23:48:43 i'd imagine you could at least do some trial division on f 5 23:48:59 mnoqy: ok i'll stop 23:49:01 oerjan: I believe it's unsolved 23:49:15 shachaf: maybe we could set up a bot to kick you when you say something with length not 36 23:49:59 Can you pad with spaces? 23:50:43 maybe set up a bot to kick shachaf if he says too many consecutive lines of the same length 23:50:54 mnoqy: good bot 23:50:56 FreeFull: "It is not known if c_5 is prime, but it is known that it has no prime factor less than 10^(51) (Noll; private correspondence with C. K. Caldwell, Aug. 10, 2003)." 23:51:14 (Source: http://mathworld.wolfram.com/Catalan-MersenneNumber.html) 23:51:21 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in pow2mod 10 1000 23:51:22 24 23:51:48 ("private correspondence" is the best reference.) 23:51:51 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in pow2mod 170141183460469231731687303715884105727 3 23:51:52 2 23:51:54 fizzie: Why are they just digital even though it has analog wires in it? 23:51:56 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in pow2mod 170141183460469231731687303715884105727 5 23:51:57 can't find file: L.hs 23:51:59 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in pow2mod 170141183460469231731687303715884105727 5 23:52:00 3 23:52:04 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in pow2mod 170141183460469231731687303715884105727 7 23:52:05 2 23:52:08 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in pow2mod 170141183460469231731687303715884105727 11 23:52:09 7 23:52:12 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in pow2mod 170141183460469231731687303715884105727 13 23:52:13 11 23:52:16 oerjan: This will take very long 23:52:17 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in pow2mod 170141183460469231731687303715884105727 17 23:52:18 9 23:52:20 you know you could like 23:52:27 automate it? 23:52:31 do some programming? 23:52:35 olsner: I like how you subtly messed up ion's blah score. 23:52:48 Also, here is the list of computers which Infocom has assigned ID numbers for Z-machine story files: DECSystem-20, Apple IIe, Macintosh, Amiga, Atari ST, IBM PC, Commodore 128, Commodore 64, Apple IIc, Apple IIgs. 23:53:06 ion: hth 23:53:18 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in elem 1 $ map (pow2mod 170141183460469231731687303715884105727) [19, 21 .. 99] 23:53:19 False 23:53:38 Do you know how the joysticks work on these computers? 23:53:43 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in elem 1 $ map (pow2mod 170141183460469231731687303715884105727) [101, 103 .. 999] 23:53:44 False 23:53:54 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in elem 1 $ map (pow2mod 170141183460469231731687303715884105727) [101, 103 .. 99999] 23:53:57 mueval-core: Time limit exceeded 23:54:00 > let pow2mod 0 _ = 1; pow2mod n m | odd n = (2*pow2mod (n-1) m) `mod` m | otherwise = (pow2mod (n `div` 2) m)^2 `mod` m in elem 1 $ map (pow2mod 170141183460469231731687303715884105727) [101, 103 .. 9999] 23:54:02 oerjan: If that's testing the next number, did you notice I mentioned it's been tested up to 10^51? 23:54:04 mueval-core: Time limit exceeded 23:54:05 zzo38: IBM PC would probably use a game port 23:54:16 fizzie: NO I DIDN'T O KAY 23:54:28 Atari ST had its own connector, and I think Commodore 64 and 128 did too 23:54:34 tested for all reals up to 10^-51 23:54:52 I don't know if the DECSystem-20 had joystick options 23:55:31 `quote 23:55:33 535) Second Life is like... real life, modelled by people who've READ about real life, you know, in books. 23:55:40 zzo38: I don't know why they didn't do analog joysticks that much, they just didn't. There were paddles connecting to the control port that did use the A/D lines. 23:56:23 the PC joystick is analog right 23:56:40 For PC, it depends 23:56:54 There are many different joysticks 23:56:55 i mean the original joystick port joystick 23:57:01 I think usually analog 23:57:07 How many bits? 23:57:19 axes are potentiometers, hardware reads it by discharging a capacitor through them and timing how long that takes 23:57:25 kmc: i think that act is about drugz, not computer hardware 23:57:28 a very cheap form of ADC 23:57:32 kmc: axes are used to cut down trees 23:57:45 btw you can do the same to make a touch sensor on a microcontroller 23:57:51 using just two I/O pins and one big resistor 23:57:57 and a bit of wire or a plate to be touched 23:58:05 well it's a bit different but similar 23:58:15 elliott: lovely quote 23:58:21 you toggle one of the pins and see how long the other takes to change, and that depends on the capacitance on your plate etc. 23:58:33 oerjan: thanks, standard quote fee applies 23:58:40 address the cheque to hexham 23:58:48 I mean what is the format of the data that is available to the computer program? 23:59:52 zzo38: I think in the original PC joystick interface, the timing kmc mentioned was done in the software.