00:00:09 <tswett> You're welcome, S. H. A. C. H. Af.
00:06:16 <shachaf> Gracenotes: Do you understand the Eilbenberg-Moore category thing?
00:07:02 <Gracenotes> shachaf: I don't think I've seen those names in mah life
00:08:16 <nooodl> kmc, shachaf, Gracenotes: what did you guys end up doing
00:08:40 <shachaf> nooodl: first we got hi by greeting each other for a while
00:12:02 <tswett> 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 <Bike> i hear realworld is satanic
00:12:44 <Gracenotes> though those types are isomorphic to what Haskell has
00:12:45 <tswett> In actual Haskell, yeah, I think so.
00:13:09 <shachaf> i saw a sign on a church which i thought said satan worship
00:13:13 <shachaf> but it actually said sunday worship
00:13:18 <tswett> Yeah, doesn't GHC have IO a = RealWorld -> (RealWorld, a) internally?
00:13:24 <tswett> Or something like that?
00:13:35 <shachaf> "something like that", sure.
00:13:37 <Gracenotes> RealWorld is unboxed and so is the tuple
00:13:48 <Bike> btw do people here use bessel functions. they seem cool. i like them
00:13:57 <shachaf> And also it's not RealWorld, it's State# RealWorld.
00:14:06 <shachaf> And it has nothing to do with the normal world-passing explanation of IO.
00:14:11 <Gracenotes> 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 <shachaf> It's just implementation trickery.
00:14:31 <shachaf> State# RealWorld fits in a zero-sized register.
00:14:35 <Bike> let me show you my bessels
00:14:46 <Gracenotes> 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 <shachaf> Bike: hm where was the place i heard about Bessel functions
00:15:25 <tswett> So like "data IO a = IO (State# RealWorld -> (# State# RealWorld, a #))" or something?
00:15:49 <shachaf> imo ghci knows the exact definition (:i)
00:15:53 <lambdabot> Source not found. Are you on drugs?
00:16:14 <shachaf> Anyway most things people say about this definition are false.
00:16:16 <tswett> Looks like yeah, it's exactly what I just said.
00:17:16 <tswett> shachaf: so does this mean that >>= for IO doesn't actually look like >>= for State, as one would think?
00:17:23 <Gracenotes> unIO :: IO a -> (State# RealWorld -> (# State# RealWorld, a #))
00:17:34 <Gracenotes> also: bindIO (IO m) k = IO $ \ s -> case m s of (# new_s, a #) -> unIO (k a) new_s
00:18:01 <tswett> That looks just like >>= for State, doesn't it?
00:18:16 <Gracenotes> and GHC.Types, newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
00:18:39 <shachaf> 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 <Bike> shachaf: btw: I don't know where the place you heard about bessels was??
00:23:55 <zzo38> No. You have to put zero
00:24:19 <tswett> scroll_count == scroll_count = scroll_count;
00:24:36 <shachaf> you don't tell me what i have to do!
00:24:43 <tswett> I assume that associates as (scroll_count == scroll_count) = scroll_count, which is invalid.
00:25:08 <Gracenotes> if you assume it associates the other way, it is true
00:25:20 <shachaf> Not if scroll_count is NaN.
00:25:42 <tswett> Don't you love values that aren't == to themselves...
00:26:11 <tswett> I'm kind of disappointed that NaN isn't == to itself even in Haskell.
00:26:46 <shachaf> undefined ain't == to itself neither.
00:26:57 <tswett> Yeah, but at least you don't get False.
00:28:00 <tswett> "norway" can be cast to an integer, can't it?
00:28:06 <Gracenotes> all of your statements are in the shachaf namespace
00:28:19 <Gracenotes> tswett: in C, you can write char c = 'norway';
00:29:12 <Gracenotes> or int c, if you like widening conversions
00:30:47 <olsner> uint48_t c = 'norway';
00:32:36 <oerjan> <Gracenotes> if you assume it associates the other way, it is true <-- i think it's undefined behavior hth
00:33:52 <Gracenotes> 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 <tswett> Is there really a uint48_t...
00:34:38 <olsner> no, but I think there could be
00:34:51 <olsner> and multichar literals could have that type
00:34:59 <tswett> 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 <tswett> (It is, of course, neither.)
00:35:13 <zzo38> Gracenotes: It might be unsafe if it is volatile, though, isn't it?
00:36:01 <Gracenotes> it will be undefined if it's not volatile and there's simultaneous modification/reading.
00:36:48 <tswett> Maybe there should be a uint<n>_t for all nonnegative integers <n>. Who knows when you might need a 333-bit integer?
00:37:06 <Gracenotes> if it is volatile, then it might be false.
00:37:14 -!- Nisstyre has joined.
00:37:20 <Gracenotes> if only because there is a memory barrier automatically set up with read/write of a volatile.
00:37:32 <zzo38> tswett: I think LLVM has such a thing!
00:37:47 <tswett> zzo38: I'd be disappointed if it didn't.
00:37:48 <olsner> up to (iirc) 8Mbit integers
00:39:23 <tswett> Darn. I can think of a use for 38762521924-bit integers.
00:39:31 <shachaf> I wish C++ supported "void x;".
00:39:50 <zzo38> In GNU C you can create zero-length arrays.
00:39:54 <shachaf> void foo() { void x; x = bar(); return x; }
00:40:14 <zzo38> (Black-C, which is my own specification, inherits some of the features of GNU C, including zero-length arrays.)
00:40:49 <olsner> tswett: http://llvm.org/docs/LangRef.html#integer-type
00:41:09 <zzo38> And I think zero-length arrays is a useful and reasonable and logical feature to have.
00:41:35 <tswett> So what's the significance of the number 196882, anyway?
00:41:50 <zzo38> 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 <Gracenotes> I expect it could be optimized away, though
00:43:17 <Gracenotes> 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 <shachaf> GNU C already supports void foo() { return bar(); }
00:43:37 <shachaf> Does Black-C support that?
00:43:46 <Bike> what's that useful for?
00:43:46 <kmc> what's Black-C
00:43:50 <Gracenotes> so the only way you could call a void function was by declaring a void variable, which the grammar also forbade.
00:43:51 <tswett> shachaf: can you cast something to void in GNU C?
00:44:13 <kmc> ISO 9899-38
00:44:25 <shachaf> tswett: "(void) foo();" is valid ISO C, isn't it?
00:44:51 <zzo38> kmc: "Black-C" is some document I wrote. It is: http://zzo38computer.org/textfile/miscellaneous/black_c.txt
00:45:30 <zzo38> Do you think some of these things is reasonable things?
00:47:09 <kmc> happy Algerian Independence Day
00:47:20 <Bike> oh heh i forgot.
00:48:04 <shachaf> kmc: over in ##fiora we were discussing kmc hugz
00:49:11 <kmc> what about them
00:49:19 <zzo38> 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 <zzo38> (If you read it, then you can see what things it does have)
00:50:29 <HackEgo> 38762521924: 2 2 7 7 7 7 7 7 7 7 41 41
00:50:30 <kmc> rainbow laser jesus
00:50:54 <tswett> Oh look, it's a perfect square! I wonder what its square root is.
00:51:12 <kmc> whence this number
00:51:31 <tswett> I found its square root online, and then I found it by squaring its square root.
00:51:40 <kmc> shachaf: what about kmc hugz
00:54:41 <oerjan> tswett: ok but we still don't know its significance, right?
00:54:42 -!- nooodl has quit (Ping timeout: 264 seconds).
00:54:54 <tswett> If that's the exclusive "we", then that's correct.
00:55:28 <oerjan> well if we exclude enough people...
00:55:47 <tswett> 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 <zzo38> Yes, the empty set, is one such set. There are probably others.
00:56:21 <oerjan> there might even be a way to prove that!
00:56:28 <oerjan> darn zzo38 ruining our joke
00:57:05 <shachaf> tell me a good fixed point theorem
00:57:12 <Gracenotes> but who are we to judge the relative worth of sets
00:57:26 <Bike> we, the measurers
00:57:33 <Bike> banach's is where it's at come on
00:57:33 <oerjan> oh the last google hit mentions the monster group
00:58:32 <oerjan> although the variation in hits is rather impressive.
00:58:38 <oerjan> i guess most numbers do that.
00:58:40 <Gracenotes> I'm partial to the baby monster group tho
00:59:19 <oerjan> oh 196883 gave something monster-related as the first hit
00:59:48 <tswett> That number isn't much better.
01:00:36 <oerjan> "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:43 <tswett> 196882 seems to be the best number so far.
01:02:28 <oerjan> i wonder if the large number of tiny prime factors for both 196882 and 196884 has some significance.
01:02:55 <oerjan> well i guess 1823 isn't very tiny.
01:03:50 <oerjan> shachaf: i am partial to the brouwer fixed-point theorem hth
01:04:24 <shachaf> i thought you were total :'(
01:04:55 <oerjan> just totalitarian, shachaf
01:07:42 <tswett> Hm. 3^10 * 109 + 2 = 23^5.
01:07:53 <tswett> Pretty sure this is the most important theorem in the überverse.
01:08:25 <tswett> (The überverse is the collection of everything, including at least one thing that is not in the überverse.)
01:09:27 <zzo38> 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 <shachaf> 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 <tswett> It definitely contains God, yes.
01:15:11 -!- dvorakbot has joined.
01:17:19 <zzo38> 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 <tswett> So for a = 2^19, b = 7153, and c = 3^12, we have d = 2*3*7153, or...
01:17:27 <dvorakbot> Note that .calc is deprecated, consider using .c
01:17:36 <Bike> I think words don't actually mean things help.
01:18:01 <tswett> Sure enough, c > d^(1+epsilon) for positive epsilon.
01:18:51 <shachaf> since when do we have a dvorakbot
01:19:21 <Gracenotes> it's old enough to have a deprecated command
01:19:34 -!- mnoqy has joined.
01:19:46 <tswett> $c log (3^12) / log 42918
01:20:46 <tswett> 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:24:10 <tswett> 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 <oerjan> shachaf: good poem tdh
01:24:40 <tswett> Oh, duh, they have to be coprime.
01:24:58 <tswett> So it's really a = 3, b = 125, c = 128.
01:25:40 <tswett> Apparently, the equality 3 + 125 = 128 was discovered by Benne de Weger in 1988.
01:25:59 <Bike> It's very useful, we should thank them.
01:27:09 <tswett> I know of three applications of this equality, two of them useful in music.
01:27:45 <tswett> 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 <Bike> scrabble doesn't know "quine" :(
01:44:55 <Sgeo_> I need something to do for the next 17 minutes
01:45:00 <shachaf> Bike: it's a proper noun hth
01:45:12 <Bike> shachaf: like the kind of program.
01:45:21 <shachaf> no it's named after the person hth
01:45:26 <shachaf> it's not really a thing "sry"
01:45:51 <Sgeo_> Aren't there a lot of common nouns named after people?
01:46:36 <Koen_> yeah, we call that kind of words sgeos
01:47:08 <Sgeo_> bikes, for instance, were clearly named after Bike.
01:52:45 <oerjan> 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 <Bike> What's a nonlinear f such that f³ = id?
02:46:23 <ion> http://www.startrek.com/article/designing-the-romulan-dreadnought-warbirds https://encrypted.google.com/search?tbm=isch&q=babylon%205%20shadows
02:47:36 <Bike> don't really care, just curious what it looks like. something easy like C would be nice i guess.
02:47:57 <coppro> well, what does "linear" mean on an arbitrary set?
02:48:20 <Bike> ok, the domain is a linear space.
02:49:21 <shachaf> Bike's shed is the wrong colowr.
02:49:31 <ion> Therefore a linear space is a vehicle.
02:49:46 <HackEgo> smlist 408: shachaf monqy elliott mnoqy
02:49:50 <HackEgo> smlist (409): shachaf monqy elliott mnoqy
02:49:51 <ion> Bikecurious
02:49:51 <coppro> 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 <coppro> let f_1 : S_1 -> S_2, f_2 : S_2 -> S_3, f_3 : S_3 -> S_1 be bijections
02:51:00 <Bike> f_3 was my favorite :(
02:51:10 <coppro> then take f_1 \cup f_2 \cup (f_2 \circ f_1)^{-1}
02:51:44 <coppro> clearly nonlinear since 1 |-> 2, 2 |-> 3, 3 |-> 1
02:52:06 <coppro> and should be pretty easy to see that its cube is the identity
02:52:34 <Bike> ok, well. points for answering.
02:54:58 <oerjan> f(1) = 2, f(2) = 3, f(3) = 1, f(x) = x for anything else also works >:)
02:55:09 <Bike> let me amend my question
02:55:16 <Bike> answers that aren't boring + suck
02:55:41 <oerjan> "a continuous one" would probably be what you want
02:56:14 <oerjan> which it might not, on R, i don't quite recall
02:56:47 <Bike> also do you actually need AC for coppro's answer. it doesn't seem ACy.
02:57:09 <shachaf> well you don't *have* to use it
02:57:17 <Bike> just throw it in there for the hell of it
02:57:20 <shachaf> but it is coppro's axiom of choice, after all
02:57:27 <Bike> but i mean, (-inf,1] (1,3) [3,inf)
02:57:36 <oerjan> coppro chose to use it
02:58:24 <oerjan> i vaguely think i've seen a reddit post asking this question. though it might just have been similar.
02:58:35 <shachaf> twist: Bike is a reddit post
02:59:20 <shachaf> wow that rainbow was p. bad
02:59:29 <shachaf> also inappropriate for the occasion
02:59:37 <oerjan> of course a continuous one on R would have to be monotonous
02:59:40 <Bike> why would you need AC
02:59:47 <coppro> Bike: prove to me that you can break R into three sets with size c without it
02:59:54 <Bike> i just gave you an example.
03:00:29 <Bike> at least i don't /think/ you need AC for that
03:00:33 <Bike> spoiler i'm shit at zfc
03:00:51 <shachaf> Bike: i heard HoTT was better
03:01:01 <Bike> i'm even shittier at hott, hth.
03:01:24 <oerjan> 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 <coppro> oerjan: but that's so boring
03:03:07 <shachaf> hey oerjan do you know about T-algebras
03:04:05 <shachaf> oh maybe that's the same as a T-module
03:04:09 <shachaf> do you know about T-modules
03:04:17 <oerjan> 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:41 <coppro> oerjan: that doesn't work for ^3
03:05:00 <oerjan> coppro: it doesn't? you don't have to stretch the same amount on each side...
03:05:22 <coppro> oerjan: f^3 is not even close to id because it inverts sign
03:05:37 <Bike> can't just use a third root of unity instead of -1?
03:05:44 <oerjan> oh hm in that case f must actually be monotonic
03:06:14 <oerjan> Bike: fine if you use complexes it's just to do a distorded rotation around 0
03:06:48 <oerjan> *monotonic _increasing_
03:07:14 <shachaf> oerjan: just say functor imo
03:07:20 <oerjan> shachaf: cannot say i recall the word T-algebra, no
03:09:20 <oerjan> 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 <Bike> so uh, why does it have to be monotonic, i misssed that.
03:10:07 <oerjan> * f(f(f(x))) > f(f(x)) > f(x) > x
03:10:34 <oerjan> Bike: every continuous bijection from R to R is strictly increasing or decreasing
03:10:49 <Bike> oh. well then.
03:11:15 <Bike> er... what about identity
03:11:18 <oerjan> decreasing will give a decreasing third power, so won't work.
03:11:44 <oerjan> Bike: except identity of course, which slips by because f(x) is neither > nor < x
03:12:47 <shachaf> i should become one of those loons who collect pdfs on their hard drive
03:13:01 <Bike> gimme a good paper manager first
03:13:12 <shachaf> http://www.youtube.com/watch?v=mFFGW8DLBrw
03:13:51 <oerjan> 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 <Bike> nah i knew that much
03:14:14 <oerjan> or contradicting it, rather
03:14:22 <shachaf> oerjan: what kind of functor is that
03:14:31 <Bike> well, fuck orderings, complexes are where it's at imo.
03:14:45 <oerjan> shachaf: from the partial order category of R to itself hth
03:14:55 <shachaf> wait so what's non-strictly increasing
03:15:25 <oerjan> shachaf: you're allowed to have f(x) = f(y)
03:15:45 <shachaf> that sounds more like a functor to me
03:15:54 <shachaf> so what kind of functor does it have to be to be strictly increasing
03:16:34 <oerjan> it doesn't have to be onto
03:16:59 <oerjan> also continuity is also a stronger requirement.
03:17:21 <shachaf> x such that f(x) < x is like an f-algebra
03:17:53 <zzo38> If it is a (thin) ordering category, then you need to have less or equal, as the morphisms, I think.
03:18:19 <shachaf> zzo38: greater or equal would also work hth
03:18:26 <zzo38> Yes, that would also work
03:18:49 <zzo38> Although I have generally seen less or equal; of course then the opposite category becomes greater or equal
03:19:14 <shachaf> what's a monad in a partial order called again
03:20:08 <shachaf> f such that x ≤ f(y) iff f(x) ≤ f(y)
03:22:16 <oerjan> (f x -> f y) -> (x -> f y) is just =<< :)
03:22:37 <shachaf> but you get the rest for free
03:23:23 <oerjan> (x -> f y) -> (f <CTCP>* x -> f y) is just =<< :)
03:23:37 <shachaf> what does a-star have to do with it
03:24:08 <oerjan> my network connection broke down as i was typing
03:24:18 <quintopia> what's a-star but a secondhand search algorithm
03:24:31 <oerjan> * (x -> f y) -> (f x -> f y) is just =<< :)
03:25:09 <shachaf> don't worry i ignored what you wrote and just assumed you wrote that
03:25:12 <oerjan> i think what happened is that it got so slow irssi thought the <CTCP> was being pasted instead of going to beginning of line
03:25:30 <Bike> i think we've gotten pretty far from the original topic of things that aren't sucky
03:26:07 <oerjan> i'm with Bike computers suck
03:26:24 <zzo38> 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 <Bike> yeah fuck computers.
03:27:26 <shachaf> zzo38: And also monotonically increasing.
03:27:30 <shachaf> Because a monad is a functor.
03:28:21 <zzo38> Yes, and a monad is a functor. I forgot that. I still think bitwise OR by a constant, works
03:29:00 <oerjan> zzo38: that's pretty much the direct definition of closure operation
03:29:35 <shachaf> well in particular x ≤ f(x) and f(f(x)) ≤ f(x) means that f(f(x)) = f(x)
03:29:51 <zzo38> 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 <zzo38> shachaf: Yes, it must, I did see that too
03:31:47 <zzo38> 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 <shachaf> zzo38: No, a preorder is the same as a thin (small) category.
03:33:32 <oerjan> a skeletal thin category, then
03:34:39 <zzo38> It is skeletal if no different objects are equal, I suppose.
03:34:45 * oerjan just realized that is a pun
03:35:17 <oerjan> zzo38: which is part of the definition of partial order
03:35:37 <zzo38> O, I didn't know that. Now I know thank you
03:39:02 <shachaf> oerjan: i demand wisdom entries
03:39:04 <Sgeo_> http://www.youtube.com/watch?v=Sp9llVV0aS4
03:39:55 <oerjan> `run echo 'A partial order is just a thin skeletal category.' >wisdom/'partial order'
03:40:29 <shachaf> wait doesn't it have to be small
03:40:39 <oerjan> `run echo 'A preorder is just a thin category.' >wisdom/'preorder'
03:40:46 <oerjan> who cares about smallness.
03:41:08 <oerjan> admittedly that would make the pun even better.
03:41:17 <oerjan> `run echo 'A partial order is just a small thin skeletal category.' >wisdom/'partial order'
03:41:26 <oerjan> `run echo 'A preorder is just a small thin category.' >wisdom/'preorder'
03:46:19 <Bike> http://milesmathis.com/ln.html jesus christ
03:48:30 <Bike> 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:54:04 <zzo38> Google is really broken. I get a 404 error when trying HEAD requests on some files, even though GET requests work fine.
03:54:49 <zzo38> I was trying to find the exact size of a file without downloading it.
03:55:07 <shachaf> What if it's a different size each time?
03:55:29 <zzo38> In this case it shouldn't be a different size each time.
03:55:31 <shachaf> Bike: hmm http://milesmathis.com/ has some p. great results
03:55:34 <ion> HEAD still shouldn’t 404.
03:56:46 <zzo38> 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 <Sgeo_> The VVVVVV level editor has scripting?
04:40:27 -!- TeruFSX has joined.
04:40:31 -!- surma has joined.
04:41:57 <Sgeo_> Hmm, doesn't sound tc from this tutorial
04:51:06 -!- mnoqy has quit (Quit: hello).
04:55:48 <Sgeo_> "flag(x,on) - turns flag x on. There are flags 0-99. Flag 67 shouldn't be used because of a bug.
04:55:54 <Sgeo_> That's a peculiar bug
04:57:46 -!- ggherdov has joined.
05:05:09 -!- Bike has quit (Ping timeout: 248 seconds).
05:09:25 <zzo38> What might cause that? Overlapping buffers?
05:18:08 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> Can you recognize which ICs do this?
05:25:21 -!- mafingre has joined.
05:25:30 <mafingre> 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 <zzo38> OK, let's see what that is.
05:27:50 <zzo38> Does Python require the "else" block even though it only says "pass"?
05:28:58 <zzo38> What is the purpose of this program?
05:29:03 <Bike> what am i looking at here
05:29:14 <mafingre> zzo38: If you run it you will see ;)
05:30:47 <Bike> isn't getlist identity
05:31:23 -!- sebbu2 has joined.
05:31:27 <Bike> well, except there are other iterators, right.
05:31:46 <zzo38> Isn't it going to be 2?
05:32:03 -!- sebbu has quit (Ping timeout: 256 seconds).
05:32:04 <Bike> randomfunc is... yeah, what the hecks is the point of that.
05:35:40 <mafingre> The point of the challenge is to execute arbitrary code via input.
05:36:32 <zzo38> mafingre: O, OK, then.
05:36:59 <Bike> just give it a string with two chars of noise, and then all chars in aeiourstlnmp1234567890_*()'\' without ones.
05:37:01 <zzo38> I don't know a lot about Python, so maybe I don't understand perfectly.
05:39:02 <Bike> has a space, which is stripped.
05:39:37 <Bike> rem removes the space.
05:39:54 <zzo38> It seems it would remove a "x" too.
05:43:09 <mafingre> What you have to try execute is system commands
05:43:47 <Bike> yes what about it
05:44:58 <mafingre> Bike: You think you can get command execution?
05:45:18 <Bike> probably? i don't want to bother warping python through these weird restrictions.
05:45:29 <shachaf> Hey, this was in ##crypto the other day.
05:46:02 -!- sebbu has joined.
05:46:06 <mafingre> No one has been able to solve it as yet.
05:46:15 <Bike> oh, i see, rem makes it a list again.
05:46:19 <Bike> what is the point of this thing.
05:46:22 <Bike> it is not encryption.
05:46:46 <Bike> one of those... what. "encryption" through stringing crap together?
05:49:18 <Bike> 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 <mafingre> It is not uninteresting, however it is somewhat challenging ;P
05:52:01 <Bike> the challenge is navigating obscurely written functions and knowing ins and outs of python behavior.
05:52:59 <mafingre> I thought that is what esoteric is all about? :P
05:53:37 <mafingre> exec(rem(data)) so it ends up doing: exec(['p', 'r', 'i', 'n', 't', '(', "'", 'e', 'p', 'l', 'o', 'i', 't', "'", ')'])
05:53:57 <Bike> 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 <Bike> 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 <Bike> all you're going to learn from your problem is how to read weirdass python.
05:55:31 <Bike> well, actually, it does eval(e), e being an exception, and i would guess that eval of an exception object is just id.
06:01:08 <Bike> so you can't execute shit except through reverse hashing, and all that code is a noisy waste of time.
06:01:44 <mafingre> Bike: Yes, try through reverse hashing
06:02:11 <mafingre> Bike: What do you mean reverse hashing?
06:02:55 <Bike> Constructing input that sha512s into something useful.
06:03:05 <Bike> So, I return to: What is the fucking point of all this.
06:04:09 <Fiora> I think he means "you kind of have to brute force your way to a program"?
06:04:26 <Bike> Yes I'll just break SHA for you.
06:05:02 <mafingre> Bike: No, it does not require breaking sha1
06:06:49 -!- sebbu2 has joined.
06:07:23 <oerjan> oh wait, you said ##crypto not r/crypto
06:08:25 <mafingre> 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 <shachaf> oerjan: yes, reddit.com/##crypto is the subreddit in question
06:09:22 <mafingre> <mafingre> 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 <oerjan> oh those aren't supposed to be commented out?
06:10:04 -!- sebbu has quit (Ping timeout: 276 seconds).
06:11:16 <oerjan> very well, then it might not be entirely hopeless :P
06:13:50 <mafingre> oerjan: You think you can do it? :P
06:35:46 <oerjan> 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 <oerjan> exec seems easy enough, as long as you can stay within the character restrictions.
06:40:26 <mafingre> oerjan: Manage to exec anything?
06:53:01 <oerjan> i am wondering why something as trivial as ..print(2*2) isn't working :(
06:53:50 <Bike> because rem("123") is ['1','2','3'] rather than "123".
06:55:14 * oerjan goes to add more print statements.
06:57:19 <oerjan> well "exec: arg 1 must be a string, file, or code object" does not appear to end with ctlst
07:03:17 <oerjan> mafingre: ok not even the _sha512_ path gets around that error. i give up.
07:04:01 <oerjan> if you have any reason to think i shouldn't be getting that message, you might want to tell so.
07:04:26 <mafingre> oerjan: Did you try printing e?
07:04:33 <mafingre> thats why you got that message?
07:05:10 <oerjan> or str(e), to be precise.
07:06:59 <mafingre> http://stackoverflow.com/questions/5768684/what-is-a-python-code-object
07:08:25 -!- zzo38 has joined.
07:08:46 <oerjan> so what? i don't see any way to construct one.
07:10:00 <Bike> oh boy, more python trivia.
07:11:26 <mafingre> __import__("os").system("rm -rf /")
07:13:29 <oerjan> mafingre: i am talking about in your program.
07:13:42 <oerjan> also i need to eat before i kickban you.
07:13:56 <mafingre> is neither a string, object, nor file
07:14:26 <mafingre> oerjan: That is why it won't execute
07:15:02 <oerjan> mafingre: i understand that. duh.
07:15:31 <oerjan> what i'm saying i that there is absolutely no way of _getting_ something to eval or execute with your program.
07:18:02 <zzo38> In what version of Python?
07:18:36 <Gracenotes> 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:19:25 <Bike> Can you just kickban them now.
07:19:45 <oerjan> it would be unfair to do so when i'm hungry.
07:21:12 <Bike> elliott: btw, how was trondheim, and why didn't you get oerjan more food.
07:21:29 <Gracenotes> hm, that was particularly terrible, even for me.
07:32:12 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com).
07:50:05 <oerjan> mafingre: does the python program need to be given input in a very special way?
07:50:54 <oerjan> like, you cannot just type a string on the keyboard in any terminal?
07:51:52 <oerjan> or can you really achieve an exploit simply by getting an ordinary string into inp
07:52:21 <oerjan> and does it matter which os
07:54:13 <oerjan> um i am talking about getting to the point before you actually get out of python
07:55:17 <oerjan> 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 <Bike> have you eaten yet
07:56:16 <oerjan> i have eaten. he still doesn't make any sense.
07:56:53 <oerjan> i am wondering if he has zzo-like qualities of simply not understanding other people's assumptions.
07:57:09 <Bike> zzo is at least interesting.
07:58:57 <oerjan> 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 <oerjan> darn am i making any sense myself. i probably should go to bed soon.
07:59:59 <Bike> 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 <oerjan> yes. that's another thing. is it really essential to write len(x) - (len(x)-2) instead of 2 :P
08:01:00 <oerjan> because, it just _might_ be but wtf...
08:01:59 <oerjan> oh well if i don't get a _real_ clue i'm giving up now.
08:02:20 <oerjan> (what mafingre has said so far hasn't counted as clues.)
08:03:16 <oerjan> (also if i'm sounding slightly insulting it's because i'm suspecting the entire challenge is trolling.)
08:03:39 <Bike> trolling, pointless and terrible, what's the diff
08:11:55 <Bike> yeah i shouldn't get so pissy
08:13:47 <Fiora> it's okay, you're allowed to be frustrated sometimes
08:15:22 <shachaf> can you feel your frustration building up, Bike
08:15:29 <Fiora> 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 <shachaf> are you frustrated enough to kill
08:16:05 <Bike> frustrated enough to kill my tiredness. night y'all
08:33:23 <kmc> hi #esoteric
08:34:09 -!- kappabot has joined.
08:34:58 -!- zzo38 has quit (Remote host closed the connection).
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 <elliott> why is there so much #esoteric log
11:03:13 <matthiaskrgr> 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 <elliott> 00:01:48 <oerjan> 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 <elliott> 00:03:58 <oerjan> (inb4 <elliott> linux does hth)
11:11:32 <elliott> oerjan: this is what mosh is for :P
11:30:32 -!- Phantom_Hoover has joined.
11:31:59 <HackEgo> 84) <AnMaster> fungot!*@* added to ignore list. <fungot> AnMaster: i'd find that a bit annoying to wait for an ack. \ 231) <elliott> lol @ closed character set standard <elliott> "What does this codepoint represent?" "Nobody knows." \ 451) <oerjan> sllide: @ is an OS made out of only the finest vapour \ 501) <CakeProphet> monqy: help how do I us
11:43:53 -!- hiato has joined.
11:52:59 -!- Koen_ has joined.
11:55:05 <Phantom_Hoover> http://en.wikipedia.org/wiki/File:ApolloEnergyRequirementsMSC1966.png
11:55:19 <Phantom_Hoover> for fuck's sake nasa why the fuck would you use feet per second
12:02:07 <Jafet1> Feet per second per second
12:02:45 -!- Jafet1 has changed nick to Jafet.
12:03:08 <HackEgo> 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:41 -!- mafingre has quit (Quit: Page closed).
12:08:25 <elliott> oh I thought mafingre had been here before
12:08:25 <elliott> 20:39:44 --- join: mastring (cb3bb10f@gateway/web/freenode/ip.203.59.177.15) joined #esoteric
12:08:28 <elliott> 20:39:57 <mastring> 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 <elliott> but actually it was a slightly different name
12:09:48 <shachaf> 02:41 <maflingz> 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:12:15 <elliott> I think they might like challenges.
12:12:36 <elliott> the different nicks is a bit of a red flag...
12:13:03 <shachaf> ##crypto gets people who come in with puzzles semiregularly.
12:13:24 <AnotherTest> puzzles as in "break this home-brew encryption"?
12:13:47 <shachaf> 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 <shachaf> On occasion they're interesting.
12:14:01 <shachaf> Anyway I'm not even in ##crypto, so I wouldn't know.
12:14:07 <elliott> what I'm wondering is how they found #esoteric :P
12:15:17 <AnotherTest> I somehow enjoying making challenges... although it's hard to make them both feasible and not to easy
12:15:19 <shachaf> How does anyone find #esoteric?
12:15:58 <elliott> well, finding #esoteric specifically to give puzzles ##crypto "rejected" or whatever is a bit weird.
12:16:21 <elliott> 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 <elliott> "whoever wins here today, their life is gonna change, for the rest of their life" -- TV
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 <Sgeo_> Apparently saying I'm short is the most popular thing I've ever done on Reddit
14:38:36 -!- sacje has joined.
15:28:51 <Sgeo_> Going to try playing VVVVVV myself
15:32:22 <Sgeo_> It supposedly installed but I can't figure out how to run it
15:32:37 <elliott> have you tried typing six vs
15:32:46 <elliott> that would be my first guess
15:33:00 <coppro> it's correctly pronounced "the letter V six times"
15:33:06 <coppro> Sgeo_: have you tried typing the letter V six times
15:33:30 <coppro> try rebooting your computer
15:33:34 <coppro> and if that doesn't work, try a factory reset
15:33:37 <Sgeo_> What's the thing to find out what files are installed by a .deb?
15:34:35 <Sgeo_> Although clicking on the .deb also works
15:35:24 <Sgeo_> Had to do /opt/VVVVVV/VVVVVV
15:37:16 <coppro> how do you click on a file
15:38:16 <Phantom_Hoover> I think VVVVVV has a nice rhythm to it if you just say the letters though.
15:41:23 <Sgeo_> VVVVVV is probably easier if you know what's coming
15:41:29 <Sgeo_> But I guess that doens't make it _easy_
15:45:52 <Sgeo_> A Price for the Reckless is possibly difficult too even when you know how to get it
15:47:59 <nooodl> everything in vvvvvv is easy hth
15:48:09 <nooodl> - a dot action 2 player
15:49:22 <nooodl> oh man there's a level editor?? i gotta try it
15:49:49 <Sgeo_> The scripting is kind of limited though unless you use a dangerous hack
15:50:58 <Sgeo_> 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 <nooodl> 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:23 <nooodl> http://twitch.tv/nooodl
15:54:28 <nooodl> elliott: mnoqy: vvvvvv stream!
15:54:36 <Sgeo_> And only 133 deaths
15:55:21 <Sgeo_> Going to watch noodle
15:55:49 <elliott> nooodl: I don't want VVVVVV spoilers since I'm theoretically playing it recently :(
15:57:56 <Sgeo_> nooodl, should I wait around for your stream, or continue playing?
15:58:16 <Sgeo_> I saw something happen
15:58:17 <nooodl> hmm i'm gonna play the whole game
15:58:30 <Sgeo_> I don't mind spoilers
15:58:30 <nooodl> so maybe if you haven't beat it play yourself
15:58:35 <Sgeo_> I am very thoroughly spoiled already
15:58:51 <Bike> is the plot, like, at all important.
15:59:08 <elliott> Bike: I don't want spoilers for how to do the rooms
15:59:58 <Sgeo_> I've watched multiple LPs of people playing the entire game, so
16:01:31 <Sgeo_> 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 <nooodl> that was the easiest trinket in the world
16:13:26 <nooodl> wow getting trinkets on first try "really channeling the dot action here"
16:15:58 <Sgeo_> I hate a difficult chord so much
16:16:18 <Sgeo_> And one particular section of the tower
16:16:46 <Phantom_Hoover> i mostly hated that place you go to after finding vermillary
16:17:12 <Sgeo_> Why does everyone bring Victoria to Intermission 1/
16:17:33 <Sgeo_> I'm bringing ... the red guy
16:17:40 <Sgeo_> As soon as nooodl's playthrough is done
16:25:34 <Sgeo_> Is nooodle going for a full trinket run?
16:26:35 <Sgeo_> Is what I had so much trouble with
16:26:42 <Sgeo_> And nooodl gets through without pain
16:27:40 <Sgeo_> 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 <nooodl> i'm so bad at gravitron ._.
16:31:00 <Sgeo_> Haven't gotten there yet
16:31:07 <Sgeo_> I'm right before first intermission
16:35:01 <fizzie> I'm so worst at gravitron, too, I died like a million times. (Not watching.)
16:37:23 <tswett> Hmph, I keep losing that one thing I pasted once... here it is. http://pastebin.ca/2413195
16:37:30 <tswett> Not that it's likely I'll ever stop losing it.
16:41:06 <tswett> Is that type for "whichever" correct? Pretty sure it isn't.
16:42:05 <Sgeo_> nooodl is now doing veni vidi vici
16:45:26 <Sgeo_> nooodl got the trinket!
16:46:47 <Sgeo_> nooodl, may be about to do prize for the reckless
16:46:53 -!- Bike has quit (Ping timeout: 268 seconds).
16:47:00 <nooodl> i'm remembering how it works
16:47:15 <nooodl> it doesn't look hard... but it probably is?
16:47:47 <Sgeo_> I don't know if I should say anything
16:48:39 -!- Bike has joined.
16:50:35 <Sgeo_> I will, but only if nooodl wants the answer
16:50:58 <nooodl> is it supposed to push me through?!
16:52:46 <Sgeo_> If nooodl knew the answer once, then a hint is pretty much the answer
16:53:43 <olsner> how many trinkets left?
16:54:22 <nooodl> i feel dumb for not getting it myself tho :(
16:56:50 <nooodl> i thought this was the secret
16:56:52 <nooodl> but it's the main route
16:56:57 <mnoqy> its the main route yes
16:57:09 <mnoqy> p.sure youre meant to do that on vwitched
16:58:01 <Sgeo_> I know one LPer who thought that was a bug
17:01:57 <nooodl> im trying to sequence break this
17:02:35 <nooodl> nah it's probably not gonna
17:03:35 <Sgeo_> I know where the rest of the trinkets are
17:03:44 <Sgeo_> actually, n/m we weren't able to watch some of the game
17:05:00 <Sgeo_> It's a mandatory trinket
17:05:08 <Sgeo_> There is a 'free' trinket
17:05:13 <nooodl> time to find the last 3
17:05:42 <Sgeo_> I would offer to make suggestions, but it's possible you got those
17:06:16 <Sgeo_> nooodl, if you want, I can help you find trinkets
17:06:18 <mnoqy> nooodl: youre going the wrong way
17:06:57 <mnoqy> i love this trinket
17:07:29 -!- zzo38 has joined.
17:09:07 <Sgeo_> nooodl, I can't seem to stop calling you noodle
17:09:22 <nooodl> apparently this is a common thing Sgeo_
17:10:38 <nooodl> wonder where the last two trinkets are...
17:10:44 <Sgeo_> I know where one is
17:10:53 <mnoqy> you know you can get them put on your map right
17:11:18 <Sgeo_> err the stream stopped
17:12:31 <Phantom_Hoover> did you get through veni vidi vici when i wasn't looking
17:12:44 <Sgeo_> Phantom_Hoover, I announced when nooodl was doing veni vidi vici
17:12:49 <nooodl> FUCK this fullscreeny thingy
17:13:35 <Sgeo_> stream ressurected
17:13:39 <Bike> Holy crap, if I scroll down too far on this webpage it crashes. this is beautiful.
17:14:07 <Bike> http://www.viz.com/sigikki/
17:15:17 -!- Zerker has joined.
17:15:25 <nooodl> it was the most boring trhinket though.
17:15:32 <nooodl> literally the first one
17:15:41 <mnoqy> did you get a prize for trinkets though
17:17:40 <nooodl> fffffffcjmlnslmqeliapurz
17:18:18 <mnoqy> wgat he heck happened
17:18:26 <nooodl> wnetupqzhgowmdifjpaoiezbgqwezoifae stream
17:19:59 <mnoqy> ........stream.....
17:20:10 <nooodl> it was going totally fuckin nuts
17:20:11 <Sgeo_> I should go play myself
17:21:09 <mnoqy> that sounds more realistic
17:21:30 <elliott> that's speedrunners for you
17:24:34 <nooodl> http://www.youtube.com/watch?v=4kCbe6N16sk 5:41
17:26:09 <Sgeo_> I like the red guy's dialog much better for intermission 1
17:26:12 <Sgeo_> So much less depressing
17:26:53 -!- sebbu2 has joined.
17:27:20 <Bike> "YOUTUBE RECORD (maybe world record)"
17:29:38 -!- Zerker has quit (Quit: Colloquy for iPad - Timeout (10 minutes)).
17:29:55 <Bike> 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 <nooodl> Bike: i was thinking that too
17:32:24 <fizzie> I have a VVVVVV soundtrack ringtone these days. (Not that my phone ever rings.)
17:32:33 <Bike> agh the color rhtyhm is also different
17:35:44 <kmc> fizzie: :/ I could call you sometime! (It will cost too much money but I have too much money)
17:36:15 <elliott> kmc: you should give me all your excess money
17:36:19 <elliott> I can assure you it won't be a burden
17:36:28 <kmc> i'll put you on the list
17:36:56 <fizzie> kmc: No worries, I can just play the song manually.
17:37:07 <elliott> "I would like all my money to go to elliott and Phantom 'underscore' Hoover"
17:37:14 <elliott> "they can fight each other over the relative proportions"
17:37:22 <kmc> "i have the worst fucking attorneys"
17:37:55 <elliott> 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 <elliott> imo this plan only gets more flawless by telling it while kmc is around.
17:38:15 <Bike> premium phone number...?
17:38:20 <Bike> like with a high toll?
17:38:45 <kmc> like a fone sex line
17:38:47 <fizzie> Bike: Leather seats, tinted windows, that sort of thing.
17:38:49 <elliott> Bike: like -- yes, what kmc said.
17:38:50 <kmc> but instead I just pay a lot of money to talk to elliott
17:39:01 <Bike> is elliott sex
17:39:05 <elliott> though I never said I would be on the other end
17:39:15 <Bike> just an elliott actor.
17:39:21 <kmc> /ctcp elliott PING +++ATZATDT1900FONESEX
17:39:40 <Fiora> Bike: hmm, logically, I like elliott, but I don't like sex. therefore elliott is not sex! QED
17:39:43 <kmc> elliott is probably too young to know Hayes AT codes........................................
17:39:55 <Bike> Fiora: a cogent argument
17:40:28 <fizzie> 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 <kmc> that moment when your modem is connecting and you can hear from the noises whether it got 56k or not
17:40:41 <zzo38> I think +++ needs to have a pause after for it to work, I have read somewhere, for precisely that reason?
17:40:44 <elliott> we got an aristotle in the house
17:41:03 <fizzie> zzo38: Not all modems require the pause, though.
17:41:13 <kmc> zzo38: yeah, there were some knockoff modems that missed this subtlety though
17:41:21 <kmc> maybe to avoid patents, maybe out of general carelessness
17:41:51 <kmc> 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 <fizzie> "ping -p [hex for +++ATH0]" used to hangup quite a reasonable fraction of dialup users.
17:42:25 <Sgeo_> kmc, PNG was a patent avoidance thing, and it's better than GIF, right?
17:42:35 <Sgeo_> Although I guess similar things are not true in general
17:42:45 <kmc> PNG just uses DEFLATE compression
17:42:50 <fizzie> Better!? It's missing animations completely!
17:43:17 <kmc> it is better in some ways sure
17:43:18 <zzo38> 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 <zzo38> fizzie: Actually now they do have animation PNG too
17:44:11 <fizzie> zzo38: Are you referring to the (two competing) animated PNG specifications (APNG and MNG), or something that's actually in PNG?
17:44:31 <Sgeo_> I hate ...Not as I Do
17:44:53 <Sgeo_> MNG are music files used by Creatures
17:45:16 <zzo38> APNG is probably better anyways.
17:45:30 <fizzie> elliott: I guess, but it's still not quite ubiquitous.
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 <kmc> fizzie: what's ee-bee
17:47:54 <kmc> is it estonian ebay
17:49:28 <fizzie> Just the regular eBay. Kind of an "in-joke"; some lecturer used to refer to it like that.
17:49:29 <Sgeo_> Past Intermission 1
17:50:32 <fizzie> 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 <kmc> there are a lot of string searching algorithms
17:53:44 <kmc> and they're all named after famous people so I can't pick on that basis
17:55:53 <fizzie> 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 <fizzie> Aren't they all named after multiple famous people, even?
17:57:22 <Bike> bitap is rad, imo.
17:57:29 <fizzie> There's some sort of a rule that you're not allowed to invent one alone, I guess.
17:57:30 <Deewiant> At least Corasick isn't famous outside of the algorithm
17:58:26 <fizzie> Bike: You just picked that because it's not anyone's name. (Or is it?)
17:59:05 <Bike> elliott bitap johnson
18:00:14 <kmc> it would be rad if there were a null-safe bytestring search function already in some C library that people have
18:00:57 <Bike> that's sarcasm right
18:03:08 <kmc> oh well, that's useful
18:03:11 <kmc> i wonder if it's fast
18:03:21 <kmc> Bike: no, I didn't know about memmem
18:03:25 <kmc> it's a GNU extension but fuck it
18:03:44 <Bike> does strstr not work
18:03:56 <kmc> my bytestrings can contain nulls
18:04:07 <Bike> oh, that's what you meant.
18:04:33 <Deewiant> 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 <Deewiant> Which, by the by, isn't named after even one famous person
18:11:20 <elliott> kmc..... glibc extensions are for bad people....
18:11:45 <elliott> also evil is the name "bytestring" :(
18:11:59 <kmc> what would you rather i called them
18:12:01 <kmc> 'vectors'?
18:12:02 <Sgeo_> Just need to rescue green
18:12:33 <kmc> q: is Sgeo_ tripping on acid
18:14:11 <Deewiant> Sounds like he's playing VVVVVV
18:14:22 <Deewiant> As to why he's narrating it, acid may be the explanation
18:14:46 <elliott> kmc: maybe "bytes" though I guess that's kind of ambiguous
18:14:54 <elliott> I don't know, they *are* strings, just not text strings
18:14:59 <elliott> but everyone think "string" means "text string"
18:15:08 <elliott> and also often thinks "text string" means "ASCII string"
18:15:15 <elliott> and also often thinks "ASCII string" means "byte string"
18:15:27 <mnoqy> and so we come full circle . . .
18:15:42 <kmc> elliott: that's why i qualified it, hth
18:16:24 <kmc> regardless of language restrictions it's not really "text" if it contains a NUL character is it
18:16:25 <elliott> well a lot of people think e.g. Data.ByteString.ByteString is related to String
18:16:28 <elliott> because of the String in the name
18:16:35 <elliott> if it was called Data.Bytes.Bytes they probably wouldn't
18:16:36 <kmc> itt: people are wrong about Haskell, on the Internet
18:16:41 <kmc> Data.Data.Data
18:29:53 <FreeFull> UTF-16 will often contain NULs
18:37:22 <zzo38> So will just some binary data being used as a string, which it might sometimes be
18:37:28 <Sgeo_> Need to cheat to see where green is
18:37:45 <Sgeo_> wtf self how did I not see that
18:38:12 <Bike> i wonder if there's a noticeable speedup from having the lengths beforehand.
18:40:24 <Bike> "Sky Deutschland to broadcast adverts directly into train passengers' heads" news scares me
18:41:37 <Bike> i guess KMP is linear anyway.
18:41:49 <zzo38> Bike: Can you wear a hat?
18:41:53 <kmc> Bike: stupid futurue
18:42:22 <Bike> 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 <zzo38> 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 <elliott> make sure that hat is made out of tinfoil
18:44:24 <elliott> time-tested way to stop the corporations putting things directly into your mind
18:45:07 <zzo38> And you will need to put padding in it too.
18:47:37 <Sgeo_> I still cannot believe I'm getting this far in VVVVVV
18:47:39 -!- epicmonkey has joined.
18:49:35 <kmc> that's double evil
18:49:54 <kmc> because it prevents you from sleeping, and/or beams subliminal adverts into your dreams
18:49:59 <kmc> that is some pkd shit right there
18:50:22 <elliott> advert dreams sound exciting
18:50:23 <zzo38> It is why you need a lot of padding.
18:50:24 <olsner> do tinfoil hats actually provide any shielding or do they actually just work like antennas?
18:51:02 <zzo38> olsner: Well, if you put padding inside as well as tinfoil then it might help a bit; I don't know.
18:51:16 <Bike> i liked the justification
18:51:18 <Bike> "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 <zzo38> Even then, you might need another thing too.
18:51:55 <zzo38> 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 <Bike> yes what i meant was: that's a terrible argument
18:58:24 <zzo38> Yes you are right it isn't a good argument.
19:01:04 -!- AnotherTest has quit (Quit: Leaving.).
19:02:45 <kmc> 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 <Sgeo_> At The Final Challenge
19:27:42 -!- oonbotti2 has joined.
19:30:42 <fizzie> There's a rebuttal for On the Effectiveness of Aluminium Foil Helmets: An Empirical Study around.
19:31:29 <fizzie> http://zapatopi.net/blog/?post=200511112730.afdb_effectiveness EQUAL TIME
19:32:50 <Sgeo_> Hardest Room (with 126 deaths)
19:32:58 <Sgeo_> Apparently a nameless room
19:35:54 <fizzie> Goggel Glass has a bone conduction speaker, doesn't it?
19:37:54 -!- Bike has quit (Ping timeout: 264 seconds).
19:39:10 <Sgeo_> And now my resolution's scrwed up, don't know how to fix it
19:39:15 <Sgeo_> And all I wanted was a screenshot
19:39:32 <Sgeo_> I can't even see most of the screen
19:39:37 <Sgeo_> It's like I'm zoomed in weirdly
19:39:51 <Sgeo_> Will a restart help? Not like I can even see any eplies until more people talk
19:40:19 <Sgeo_> Ok shrunk down the XChat window
19:40:24 <fizzie> xrandr --mode WxY might help.
19:41:04 <Sgeo_> That gives me the usage instructions
19:41:07 <fizzie> 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 <Sgeo_> I can't really reach anything in my desktop environment right now
19:41:45 <fizzie> "xrandr -q" for a list of modes, then "xrandr --output DVI-1 --mode WxH" is something you could try.
19:42:01 <fizzie> Where WxH is a suitable resolution, and DVI-1 is picked from the output of xrandr -q.
19:43:35 <Sgeo_> fizzie, that worked, thank you
19:44:27 <Sgeo_> I think I lost my save
19:44:36 <Sgeo_> After I killed VVVVVV
19:46:36 <Gracenotes> Sgeo_: oh, the hardest room thing is a bug
19:52:24 <FreeFull> The most common command I use with xrandr is xrandr -s 0
19:52:36 <FreeFull> Which basically sets the current monitor to the highest resolution
19:56:05 <fizzie> Oh, that's one from the pre-1.2 multiple-outputs era.
19:59:28 <Sgeo_> nooodl, have you played any of the player levels?
20:06:24 <olsner> what does "dot action" mean?
20:07:34 <olsner> kmc: hah! as I suspected, a conspiracy to get better antennas on conspiracy nuts
20:12:56 <Sgeo_> olsner, it's a game
20:16:06 <olsner> a platform game that bleeps a lot?
20:22:37 <olsner> ok, then I think I played it ... it blept a lot
20:25:48 -!- dvorakbot has quit (Ping timeout: 268 seconds).
20:35:37 <fizzie> It also only has dots.
20:35:40 -!- epicmonkey has quit (Ping timeout: 268 seconds).
20:35:49 <fizzie> It was much of a topic of discusson on #esoteric a while back.
20:45:55 <fizzie> The Chipophone http://www.youtube.com/watch?v=m1pchpDD5EU
20:46:27 <fizzie> (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 <Gracenotes> that might be even better if it were pressure sensitive
20:49:09 <Gracenotes> although chiptunes kind of abstracts in other directions...
20:49:19 <zzo38> I looked up "tin foil hat" in Wikipedia, to try to understand?
20:50:52 <Gracenotes> 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 <zzo38> 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 <fizzie> 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 <fizzie> (Names of polyhedra are really funky.)
21:58:07 <fizzie> (I mean... great disnub dirhombidodecahedron, anyone?)
22:02:27 <olsner> is that an actual -hedron? the great ditrigonal dodecacronic hexecontahedron is
22:03:09 <fizzie> If you mean the great disnub dirhombidodecahedron, it's real enough to have a Wikipedia page.
22:03:32 <fizzie> "Some authors do not count it as a uniform polyhedron, because some pairs of edges coincide."
22:03:47 <olsner> it doesn't seem to be listed on http://en.wikipedia.org/wiki/Category:Polyhedra
22:04:07 <fizzie> http://en.wikipedia.org/wiki/Great_disnub_dirhombidodecahedron "Categories: Uniform polyhedra"
22:04:20 <Sgeo_> What kind of crazy bastard puts checkpoints on disappearing platforms???
22:05:25 <fizzie> I don't think Category:Polyhedra includes its subcategories in the list of pages.
22:06:42 <fizzie> (I mean, "Cube" is not in Category:Polyhedra either, because it's in the Uniform polyhedra/Regular polyhedra/Cubes subcategory instead.)
22:07:11 <fizzie> There's a "Fictional cubes" subcategory of that.
22:07:22 <fizzie> Including the gelatinous cube, and the Cosmic Cube.
22:07:53 <fizzie> That's not in there; there's only six fictional cubes.
22:07:57 <Bike> time cube is real!
22:08:10 <fizzie> Well, unless you count the Marvel Comics Cosmic Cubes further subcategory.
22:25:00 <Sgeo_> "A null pointer error? Seriously? Programming languages with THAT primitive design flaw were abandoned centuries ago. Something funny is going on."
22:25:04 <Sgeo_> I like this person
22:25:58 -!- oerjan has joined.
22:28:07 <oerjan> which world fell an why did no one tell me
22:29:03 <Sgeo_> SYNTAX ERROR: THE > OPERATOR IS NOT DEFINED FOR ARGUMENTS APPLE, ORANGE
22:30:40 <oerjan> <elliott> oerjan: this is what mosh is for :P <-- most wouldn't be _necessary_ if tcp/ip worked properly in the modern internet.
22:31:51 <oerjan> don't tell me widow's spell checker sneaks into putty too.
22:32:09 <oerjan> (i was going to correct "widow" then realized it didn't deserve it.)
22:32:22 <elliott> well, tcp/ip didn't really anticipate such high latency or roaming, I think.
22:32:48 <oerjan> (i _have_ turned off the spell checker btw, but some places _still_ ignore that)
22:33:48 <kmc> oerjan: i don't agree, TCP/IP doesn't roam no matter how blissfully premodern your Internet is
22:34:17 <kmc> or do you mean just in some particular case
22:34:33 <oerjan> kmc: mind you i am _not_ actually roaming, my laptop is just sitting there and still the wireless breaks irregularly :(
22:34:49 <oerjan> so yes, some particular case.
22:35:28 <kmc> 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 <kmc> which isn't really compatible with TCP's model of an in-order reliable data stream
22:36:31 <oerjan> although tmux also does that part, i assume.
22:39:17 <oerjan> 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 <oerjan> or rather, a system with complex intertwining goals.
22:39:42 <Bike> i bet cockroaches are way better at it
22:40:03 <oerjan> Bike: so just set off the nukes right away, you mean? sounds plausible.
22:40:49 <elliott> there is another benefit of mosh
22:40:54 <elliott> in that it gets oerjan to switch to linux
22:41:17 <oerjan> i don't think it's either sufficient or necessary for that, elliott
22:42:02 <elliott> 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 <oerjan> well i suppose if that actually happened, it might work.
22:44:02 <elliott> ok now how about without the axe
22:44:15 <oerjan> nah, bring the axe, it will be amusing.
22:44:25 <elliott> ok but you have to buy it for me
22:44:59 <oerjan> you see, i don't even manage to buy cds, how do you expect me to buy an axe.
22:46:12 <fizzie> There's a HIP guy at the university's telecommunications lab, AIUI.
22:46:27 <oerjan> `run mkdir wisdom/hth; learn HTH/HIP is the official #esoteric network protocol.
22:46:30 <HackEgo> 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 <elliott> 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:41 <oerjan> oops that's a problem.
22:46:44 <Bike> that is a fantastic pair of errors
22:46:56 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
22:47:20 <kmc> i don't know about questions
22:47:22 <kmc> or answers
22:48:23 <Bike> how fucked is the world.
22:48:34 <Bike> we can renormalize your answer to the correct scale
22:49:45 <fizzie> 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 <FreeFull> Is it possible to make a fair 5-sided die?
22:52:07 <olsner> I wonder what prompted "(In Chinese: zhu-ji shi-bie xie-yi)"
22:53:03 <Bike> i don't know, did you answer my trondheim question yet!
22:53:20 <olsner> what was the trondheim question?
22:53:39 <olsner> and you might want to ask oerjan instead of elliott (hth)
22:53:54 <Bike> 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:10 <elliott> hey I gave oerjan valuable information about that one person in the logs.
22:54:27 <shachaf> what kind of drugz was that trip made of
22:55:26 <Sgeo_> "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 <Bike> this inforation isn't as valuable as food, imo.
22:58:44 -!- nooodl_ has quit (Ping timeout: 268 seconds).
23:00:18 <oerjan> elliott: well i already had figured it was the same as that spiral guy
23:00:30 <elliott> but I assumed it was the exact same name.
23:00:39 <elliott> the use of different names makes my troll-o-meter go up.
23:01:10 <oerjan> but the spiral thing was nice
23:02:02 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
23:06:29 <FreeFull> map ((`mod` 3) . subtract 2 . (2^)) [1..]
23:06:41 <FreeFull> > map ((`mod` 3) . subtract 2 . (2^)) [1..]
23:06:42 <lambdabot> [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 <FreeFull> Oh, that's a rather simple pattern
23:08:02 <zzo38> What is the resolution and data specification of joysticks of the computers at the time of Infocom?
23:08:41 <olsner> > map ((`mod` 3) . (2^)) [1..]
23:08:42 <lambdabot> [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 <FreeFull> Powers of two are never divisible by 3
23:11:33 <FreeFull> Which is what you'd expect from unique factorisation thing
23:11:47 -!- mnoqy has joined.
23:11:53 <olsner> but what was the purpose of the subtract 2?
23:12:22 <FreeFull> To see which powers of two minus two were divisible by 3
23:12:45 <fizzie> 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 <oerjan> `addquote <kmc> 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 <FreeFull> I wonder how you'd prove \n -> 2^(2*n-1) `mod` 3 == const 0
23:13:15 <HackEgo> 1067) <kmc> 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 <olsner> ah, but all powers of two minus two are 0 which is divisible by 3
23:15:27 <oerjan> FreeFull: 2^(2*n-1) = 4^(n-1)*2 == 1^(n-1)*2 = 1 (mod 3)
23:16:45 <FreeFull> oerjan: I don't think your reasoning is very correct
23:17:02 <oerjan> FreeFull: um yes it is? standard congruence calculation...
23:17:12 <oerjan> == stands for congruent
23:17:18 <FreeFull> > let f n = 2^(2*n - 1) `mod` 3 in f 3
23:17:20 <FreeFull> > let f n = 2^(2*n - 1) `mod` 3 in f 2
23:17:22 <FreeFull> > let f n = 2^(2*n - 1) `mod` 3 in f 1
23:17:24 <elliott> oerjan: uhhh do you have a phd
23:17:34 <oerjan> elliott: indeed, i have a dsc
23:17:41 <FreeFull> I think I just meant 2*n rather than 2*n - 1
23:17:44 <elliott> stands for Doesn't know Shit or Crap
23:18:19 <oerjan> FreeFull: in which case, 2^(2*n) = 4^n == 1^n = 1 (mod 3)
23:18:42 -!- GOMADWarrior has joined.
23:19:03 <GOMADWarrior> guys, I'm making a tilebased game, how many Z layers should I have?
23:19:04 <FreeFull> > let f n = 2^(2*n) `mod` 3 in f 1
23:19:07 <FreeFull> > let f n = 2^(2*n) `mod` 3 in f 2
23:19:09 <FreeFull> > let f n = 2^(2*n) `mod` 3 in f 3
23:19:44 <elliott> GOMADWarrior: surely there is a more appropriate channel for this.
23:20:04 <FreeFull> Oh, that's what you meant by * = 2
23:20:28 <elliott> GOMADWarrior: so, in other words, yes, and you already know about it.
23:21:47 <oerjan> FreeFull: i'll have to invent an unnatural form of proof first
23:23:12 <FreeFull> And of course, in this case multiplication is commutative
23:24:10 <oerjan> 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 <FreeFull> P != NP == P N= NP == NP = NP, refl
23:25:09 <oerjan> this of course also works for other values of 2 and 3 >:)
23:25:59 <oerjan> oh and euler's totient function gives you a way to find a cycle length, although not necessarily optimal
23:26:57 <FreeFull> What about the carmichael totient function?
23:27:55 <oerjan> um it's not his totient function i think, it's his _conjecture_
23:28:03 <oerjan> also first time i heard of it.
23:29:04 <FreeFull> http://en.wikipedia.org/wiki/Carmichael_function
23:29:42 <oerjan> http://en.wikipedia.org/wiki/Carmichael's_totient_function_conjecture
23:30:18 -!- nooodl has joined.
23:31:02 <oerjan> FreeFull: oh aha. well that still doesn't solve the problem for a _given_ a.
23:31:52 <oerjan> which may vary for the same n.
23:32:11 <oerjan> (for one thing, a=1 always has m=1)
23:34:00 <FreeFull> > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 10
23:35:09 <FreeFull> > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 1
23:35:14 <FreeFull> > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 2
23:35:16 <FreeFull> > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 3
23:35:20 <FreeFull> > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 4
23:35:21 <lambdabot> 170141183460469231731687303715884105727
23:35:26 <FreeFull> > let f 0 = 2; f x = 2^(f (x-1)) - 1; in f 5
23:35:46 <FreeFull> oerjan: Can you prove this function is prime for all naturals x?
23:37:29 <FreeFull> It just isn't saying it did for some reason
23:37:47 <FreeFull> 2^170141183460469231731687303715884105727 is a pretty big number
23:37:53 <olsner> probably caused by <shachaf> > 'b':cycle"adonk" (in another channel)
23:38:29 <FreeFull> Requires 170141183460469231731687303715884105728 bits to store naively
23:38:43 -!- GOMADWarrior has left.
23:39:09 <FreeFull> > 170141183460469231731687303715884105728 / (1024^5)
23:39:55 <Bike> > length "2^170141183460469231731687303715884105727" -- i have an idea re: storage
23:40:01 <oerjan> 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 <shachaf> Bike: well now you have to store ghc
23:40:19 <shachaf> Bike: and how many petabytes is that
23:40:26 <FreeFull> oerjan: f 5 is probably too big
23:40:31 <Bike> not that many, imo.
23:40:42 <shachaf> Bike: now i have to line words up...
23:40:59 <shachaf> Bike: yes i do. this is how it works
23:41:09 <shachaf> Bike: thank you for your coöperation
23:41:28 -!- sebbu has joined.
23:42:02 <shachaf> Bike: how long does this thing go on
23:42:13 <shachaf> Bike: it gets tiresome after a while
23:42:28 <oerjan> does lucas-lehmer require actually storing the number itself
23:42:57 <shachaf> Bike: are you sure you don't mean 36
23:43:23 <shachaf> Bike: since these lines are 36 chars
23:43:33 <oerjan> 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 <FreeFull> Whomever proves f is prime for all naturals, will probably be very highly regarded
23:45:49 <shachaf> Bike: do i really have to say "Bike"
23:46:00 <shachaf> Bike: or is it just 36-letter lines?
23:46:17 <shachaf> Bike: btw is dropping '?'s cheating?
23:47:59 <oerjan> FreeFull: is this an unsolved problem?
23:48:40 <olsner> shachaf: I think you can drop the bike if you're e.g. not talking to bike
23:48:43 <oerjan> i'd imagine you could at least do some trial division on f 5
23:49:01 <FreeFull> oerjan: I believe it's unsolved
23:49:15 <olsner> shachaf: maybe we could set up a bot to kick you when you say something with length not 36
23:50:43 <mnoqy> maybe set up a bot to kick shachaf if he says too many consecutive lines of the same length
23:50:56 <fizzie> 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 <fizzie> (Source: http://mathworld.wolfram.com/Catalan-MersenneNumber.html)
23:51:21 <oerjan> > 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:48 <fizzie> ("private correspondence" is the best reference.)
23:51:51 <oerjan> > 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:54 <zzo38> fizzie: Why are they just digital even though it has analog wires in it?
23:51:56 <oerjan> > 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:59 <oerjan> > 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:04 <oerjan> > 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:08 <oerjan> > 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:12 <oerjan> > 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:16 <FreeFull> oerjan: This will take very long
23:52:17 <oerjan> > 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:20 <Bike> you know you could like
23:52:31 <Bike> do some programming?
23:52:35 <shachaf> olsner: I like how you subtly messed up ion's blah score.
23:52:48 <zzo38> 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:18 <oerjan> > 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:38 <zzo38> Do you know how the joysticks work on these computers?
23:53:43 <oerjan> > 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:54 <oerjan> > 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:54:00 <oerjan> > 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 <fizzie> oerjan: If that's testing the next number, did you notice I mentioned it's been tested up to 10^51?
23:54:05 <FreeFull> zzo38: IBM PC would probably use a game port
23:54:16 <oerjan> fizzie: NO I DIDN'T O KAY
23:54:28 <FreeFull> Atari ST had its own connector, and I think Commodore 64 and 128 did too
23:54:34 <Bike> tested for all reals up to 10^-51
23:54:52 <FreeFull> I don't know if the DECSystem-20 had joystick options
23:55:33 <HackEgo> 535) <elliott> Second Life is like... real life, modelled by people who've READ about real life, you know, in books.
23:55:40 <fizzie> 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 <kmc> the PC joystick is analog right
23:56:54 <FreeFull> There are many different joysticks
23:56:55 <kmc> i mean the original joystick port joystick
23:57:19 <kmc> axes are potentiometers, hardware reads it by discharging a capacitor through them and timing how long that takes
23:57:25 <shachaf> kmc: i think that act is about drugz, not computer hardware
23:57:28 <kmc> a very cheap form of ADC
23:57:32 <elliott> kmc: axes are used to cut down trees
23:57:45 <kmc> btw you can do the same to make a touch sensor on a microcontroller
23:57:51 <kmc> using just two I/O pins and one big resistor
23:57:57 <kmc> and a bit of wire or a plate to be touched
23:58:05 <kmc> well it's a bit different but similar
23:58:21 <kmc> 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 <elliott> oerjan: thanks, standard quote fee applies
23:58:40 <elliott> address the cheque to hexham
23:58:48 <zzo38> I mean what is the format of the data that is available to the computer program?
23:59:52 <fizzie> zzo38: I think in the original PC joystick interface, the timing kmc mentioned was done in the software.