00:01:04 <oerjan> oh i just made that type more specific to avoid ScopedTypeVariables 
00:01:55 <int-e> oerjan: this is my version of your code (based on your code) http://lpaste.net/3703918584196497408 
00:01:55 <oerjan> or something like that, anyway 
00:02:19 -!- Lymia has joined. 
00:02:29 <int-e> there are no ScopedTypeVariables 
00:03:57 <oerjan> i guess the need got factored away somehow 
00:04:26 <shachaf> ScopedTypeVariables was needed earlier when you needed to refer to a and b 
00:05:20 <shachaf> Is there ever a program where ScopedTypeVariables is needed? 
00:06:25 <shachaf> Oleg had an article on it. 
00:06:34 <shachaf> Something that used guards to specify type hints. 
00:07:35 -!- Melvar` has joined. 
00:08:21 -!- Melvar has quit (Ping timeout: 256 seconds). 
00:08:30 -!- Melvar` has changed nick to Melvar. 
00:08:48 <Taneb> I still don't believe Oleg exists 
00:19:01 <Taneb> Am I going to get attacked by Oleg in my sleep now 
00:20:01 <boily> I don't think there are reported cases of noleghtmares. you may be the first! 
00:21:49 -!- Phantom_Hoover has quit (Remote host closed the connection). 
00:22:49 <int-e> oerjan: ok, you win, RankNTypes are not required: http://lpaste.net/187269619306725376 
00:23:27 <int-e> (In case you wonder, the knot-tying is for avoiding ScopedTypeVariables) 
00:23:35 <oerjan> good, my attempt was getting bogged down in that :P 
00:24:11 <oerjan> mind if upload that to my lbexploits directory 
00:24:27 -!- Phantom_Hoover has joined. 
00:25:02 <oerjan> (your version, that is, no use for me continuing) 
00:26:11 <int-e> ping me if you ever decide to add authors :P 
00:26:16 -!- tangentstorm has left ("WeeChat 0.3.2"). 
00:26:54 <oerjan> i thought i'd just add a {- By int-e with permission -} comment 
00:27:07 <Taneb> How much do I care about separation logic 
00:27:12 <oerjan> of course if you'd prefer your real name in it... 
00:27:43 <int-e> oerjan: nah, there are enough people who'll recognize the nick as is 
00:28:02 <shachaf> Is KindSignatures required? 
00:28:29 <shachaf> As opposed to just putting in a constraint or extraneous argument or something that forces the kind. 
00:28:30 <Taneb> int-e, do what I do and call yourself Nathan "Taneb" van Doorn 
00:28:34 <Taneb> Except with your name and nick 
00:28:45 <int-e> I don't know, but I think so, since kind inference is very weak. (You can't define  type Foo a   and later use  Foo Maybe, that'll be a kind error0 
00:29:26 <boily> Taneb: this doesn't really quite work with me :P 
00:30:01 <shachaf> int-e: Right, but you don't need a type synonym. 
00:30:06 <Taneb> boily, Alexandre "boily" Boily? 
00:30:09 <shachaf> It can be part of the signature. 
00:30:12 <oerjan> http://oerjan.nvg.org/lbexploits/ExploitGADT.hs 
00:31:03 <Taneb> boily, I believe oerjan and shachaf have similar issues 
00:31:12 <Taneb> Similar, but not quite the same 
00:31:46 <Taneb> I should use Ngevd more often 
00:32:07 <boily> oerjan's the other way round. I have no idea what is shachaf's name. 
00:32:24 <int-e> shachaf: I don't understand. 
00:32:27 <Taneb> I know people who call me Taneb offline which scares me a little 
00:33:18 <Taneb> Seriously if any of you ever see me AFK please call me Nathan 
00:33:21 <int-e> Taneb: is it tainib or tahneb? 
00:33:36 <boily> int-e: it's täneb. 
00:33:52 <Taneb> int-e, but with the stress on the e? 
00:34:05 <shachaf> int-e: made it work without KindSignatures hth 
00:34:17 <int-e> shachaf: don't brag, show code. 
00:35:24 <shachaf> http://slbkbs.org/OerGADT.hs 
00:36:27 <oerjan> boily: he's not very hard to google hth 
00:36:57 <int-e> shachaf: I can't believe the compiler goes along with that :P 
00:37:08 <shachaf> You can pass a "p Maybe" argument instead of the q constraint if you prefer. 
00:37:17 <boily> oerjan: Catherine Margaret Shachaf? 
00:37:49 <oerjan> ...are you getting different results from me, that would be so google 
00:38:01 <shachaf> why would you expect google to work the same way everywhere 
00:38:15 <int-e> shachaf: on the other hand it's exactly how Typeable thinks about it: Proxy Proxy is obviously the same as Proxy Proxy. 
00:38:22 <oerjan> shachaf: i shall take the use of half my name as permission to upload hth 
00:39:18 <oerjan> shachaf: um that version has the crash bug 
00:39:25 <boily> oerjan: no, there's this wikipédia result in the middle of the page. 
00:39:33 <shachaf> oerjan: i didn't actually run it hth 
00:39:35 <oerjan> or rather "weird number printed" bug 
00:39:51 <boily> shachaf: fyi, your twitter profile is the first hit here, then your linked in profile. 
00:39:54 <shachaf> but i'm p. sure you could make it work 
00:40:11 <shachaf> are you following me on twitter btw 
00:43:37 <boily> I had a twitter account for a grand total of ten minutes. 
00:44:47 <shachaf> oerjan: are you making it work or did you give up 
00:45:05 <oerjan> i think you are overestimating my speed 
00:45:20 <arjanb> oh yet another ghc bug? 
00:45:42 <oerjan> arjanb: no, just finding a different way to exploit the same one 
00:45:46 <shachaf> Same bug, different constraints. 
00:45:52 <oerjan> using GADTs instead of TypeFamilies 
00:47:23 <shachaf> just do B :: (p ~ Proxy, q ~ p Maybe) => X a b (a -> b) (Proxy p) 
00:47:27 <Sgeo> So far my hearburn has lasted: almost 3 days 
00:47:38 <shachaf> i was a bit suspicious that that wasn't working in the first place 
00:48:13 <Taneb> Sgeo, seek medical help? 
00:48:33 <Sgeo> Taneb: I'm going to see a doctor on Saturday. Hopefully this isn't so urgent that days matter 
00:49:05 <Taneb> Sgeo, I hope you are OK! 
00:49:17 <Sgeo> Thanks. My dad does seem confident that it's not that urgent 
00:49:25 <Sgeo> Long-term if it's not resolved that would be bad, afaik 
00:50:29 <oerjan> http://oerjan.nvg.org/lbexploits/ExploitGADTsOnly.hs 
00:51:23 * arjanb has given up on the soundness of ghc, the rate of new extensions is just too high 
00:53:06 <elliott> oerjan: "uc = case yadda uc of" O_O 
00:53:20 <elliott> oh okay, that's just using it as a proxy 
00:53:33 <oerjan> elliott: blame int-e for that hth 
00:53:43 <shachaf> oerjan: you're shadowing again hth 
00:53:45 -!- callforjudgement has joined. 
00:53:45 -!- callforjudgement has quit (Changing host). 
00:53:45 -!- callforjudgement has joined. 
00:53:53 <elliott> arjanb: btw, are you like an evil version of oerjan 
00:53:59 <elliott> that's what your name makes me think of 
00:54:07 <oerjan> he's very evil, he messes up my logreading 
00:54:23 <Taneb> I should sleep soon 
00:54:28 <oerjan> shachaf: not my code hth 
00:54:50 <Taneb> My trying to learn category theory is confusing me 
00:54:56 <boily> Taneb: nonsense. today isn't a prime number. 
00:55:20 <Taneb> boily, it's semiprime so I need to semisleep 
00:55:50 <boily> right, you live in the future. 
00:55:58 <int-e> shachaf: in your code, B has the same kinds as A. Now if you try to force the B constructor using  b :: (p ~ Proxy, q ~ p Maybe) => X a b (a -> a) (Proxy p); b = B, then ghc complains that * and * -> * don't match; it has already decided on the kinds when checking the type declaration. So you run into the problem of weak kind inference that I hinted at. 
00:56:40 <shachaf> int-e: that's why i updated it hth 
00:57:03 -!- ais523 has quit (Ping timeout: 272 seconds). 
00:57:27 -!- Phantom__Hoover has joined. 
00:57:35 -!- callforjudgement has quit (Client Quit). 
00:57:43 <int-e> elliott: wait what's the complaint there? 
00:58:02 <int-e> "uc = case yadda uc of" 
00:58:03 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 
00:58:05 -!- ais523 has joined. 
00:58:29 <int-e> I was expecting raised eyebrows for "a b u t" but not for that. 
00:58:33 <elliott> int-e: I was worried it would be terrifying and circular 
00:58:39 <elliott> like yadda wouldn't just ignore its argument 
00:58:47 <oerjan> int-e: i was wondering about the u a bit... 
00:59:42 <shachaf> int-e: i fixed it and uploaded the fix to oerjan's server hth 
00:59:58 <int-e> shachaf: I found it already 
01:00:14 * elliott bets there's some way to do this without any extensions 
01:00:26 <int-e> elliott: "(In case you wonder, the knot-tying is for avoiding ScopedTypeVariables)" 
01:00:36 <shachaf> You can't match on Refl without GADTs or TypeFamilies. 
01:00:41 <oerjan> i added a comment that it doesn't work in GHCi 
01:00:58 <elliott> you can probably write ecast with just Typeable or something 
01:01:08 <elliott> at least a restricted version 
01:01:40 <int-e> elliott: I'll say it isn't possible and wait for shachaf or oerjan to prove me wrong :P 
01:01:59 <shachaf> I think it'll be pretty tricky without extensions. 
01:02:17 <shachaf> Since you can't even use the "(:~:) is already defined" trick. 
01:03:07 -!- chaosagent_ has joined. 
01:03:19 <elliott> I'm admittedly kind of confused how you cause the kind confusion without polykinds 
01:03:28 <int-e> oerjan: oh you can drop the NOINLINE on yadda 
01:03:29 <elliott> oh, do you rely on (:~:) being polykinded? 
01:03:37 -!- chaosagent has quit (Ping timeout: 245 seconds). 
01:03:47 * elliott sighs at GHC's notion of "not using an extension" 
01:03:59 <elliott> being able to write (C :: T Int, C :: T []) and claim it's not polykinded... 
01:04:32 <int-e> elliott: it has similar weird ideas about overlapping instances, hth 
01:04:36 <oerjan> this means i'm wondering a bit how much of this works after they introduced the new "only infer types that can be written" rule 
01:04:57 <oerjan> which will be in 7.10 iirc 
01:05:03 <elliott> so what is the trick to get the TypeReps identical, use type variables for the arguments or something? 
01:05:21 <oerjan> elliott: it's that typereps contain no kind information 
01:06:03 <shachaf> Well, it would be a bit odd for polykinded Proxy not to be usable without turning on polykinds. 
01:06:07 <elliott> okay so the main thing is deriving (Proxy :: *) :~: (Proxy :: * -> *) 
01:06:14 <elliott> as in, that's the core bug 
01:06:20 <elliott> you can do that with just kindsignatures right? 
01:06:23 <shachaf> You need an extra level of Proxy. 
01:06:50 <elliott> I was assuming a polykinded :~: 
01:06:51 <int-e> and you can't have Proxy :: * 
01:06:52 <Sgeo> Some package loading things in Javascript -almost- look like Applicatives if you squint 
01:06:59 <shachaf> Even polykinded :~: doesn't support two different kinds 
01:08:13 <int-e> oerjan: when was that rule introduced? 
01:08:14 <elliott> I like how you have to write (:~:) a b 
01:08:27 <int-e> only to avoid TypeOperators 
01:10:05 <elliott> is polykinded "type K a b = b" anywhere 
01:10:11 <int-e> oerjan: can you do that for ExploitGADT too? 
01:10:38 <HackEgo> Thanks, haskell. Thaskell. 
01:12:20 <oerjan> int-e: i've been seeing the rule in "what's up for 7.10" lists 
01:14:55 <elliott> is there a way to make ghc annotate kinds 
01:15:00 <elliott> instead of just saying Proxy Proxy when you :t 
01:15:09 -!- TodPunk has quit (Quit: This is me, signing off.  Probably rebooting or something.). 
01:16:32 <int-e> oerjan: the 'u' type is the 'unsafe' one of course ;) 
01:16:41 <elliott> anyway I seem to have something fun 
01:16:54 <elliott> but I'm not sure I can exploit it yet 
01:17:09 <elliott> I have Proxy (Proxy :: * -> *) :~: Proxy (Proxy :: (* -> *) -> *) with zero extensions, at least 
01:18:52 -!- callforjudgement has joined. 
01:19:07 <oerjan> yeah only Typeable and cast give you that 
01:19:11 -!- ais523 has quit (Read error: Connection reset by peer). 
01:19:21 <elliott> right. and the hard part is leveraging that into something exploitable, right? 
01:19:28 <elliott> since you need a way to "case" on the kind 
01:19:46 <elliott> maybe instead of using Proxy you could use (:~:) again... 
01:19:47 -!- dianne_ has joined. 
01:20:01 -!- dianne has quit (Disconnected by services). 
01:20:03 -!- dianne_ has changed nick to dianne. 
01:20:40 <int-e> there's an open question whether MultiParamTypeClasses is strong enough for that. 
01:20:43 <oerjan> elliott: our exploits so far have needed something non-parametric/non-representational 
01:21:28 <elliott> oerjan: it feels like that isn't necessarily true if you can use something more useful than Proxy though... 
01:22:13 <int-e> Which let you express injectivity, but somehow not exploit it to full extent. (With class Foo a b | a -> b, given Foo a b and Foo a b', the compiler will not deduce that b = b') 
01:23:38 <elliott> I am wondering if you can just use typeclasses here 
01:24:10 <elliott> like let's say there is class Convenient (a :: k) b | a -> b where foo :: proxy a -> b in the stdlib 
01:24:22 <elliott> then you can instance Convenient OneProxy (Int -> Int) where ... 
01:24:28 -!- bb010g has joined. 
01:24:33 <elliott> and instance Convenient TheOtherProxy (Int -> Char) where ... 
01:24:50 <elliott> and turn something that takes the latter instance into something that takes the former. or something. 
01:24:56 <elliott> that's obviously still a bunch of extensions 
01:25:05 <elliott> but you probably don't need all that machinery... 
01:25:38 <elliott> int-e: I did read, but I'm not sure you need that here? 
01:26:07 <oerjan> i recall int-e tried to make it work with MPTCs but hit a snag 
01:26:09 <elliott> I was thinking more ... => (forall ... . Convenient OneProxy b => b -> r) -> ...something... 
01:26:18 <int-e> given an instance Convenient TheOtherProxy (Int -> c), how do you get c = Char? 
01:26:55 <int-e> which is what I wrote, with a = TheOtherProxy, b = (Int -> Int) and b' = (Int -> c). 
01:28:36 <elliott> I'm not even sure what my idea was at this point 
01:31:05 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds). 
01:40:53 -!- shikhin_ has joined. 
01:43:56 -!- shikhin has quit (Ping timeout: 246 seconds). 
01:48:10 -!- contrapumpkin has joined. 
01:49:42 <shachaf> oerjan: lbexploits/ may be a bad name for something that only works for compiled code hth 
01:50:27 -!- copumpkin has quit (Ping timeout: 264 seconds). 
01:50:55 <oerjan> i'm pretty sure i realized that directory was badly named the second after i first pasted a link to it hth 
01:51:07 * elliott endorses https://ghc.haskell.org/trac/ghc/ticket/9858#comment:19 
01:51:41 <shachaf> goldfire seems to be reasonable, yes 
01:56:27 <oerjan> shachaf: int-e: moved the directory to http://oerjan.nvg.org/haskell/TypeableExploits/ hth 
01:57:48 <oerjan> which means i now actually have a haskell/ directory 
01:58:53 <HackEgo> 1124) <Taneb> kmc, I was trying to go to a sci-fi and fantasy society social, and I went to the wrong bar  <Taneb> Wound up at my university's fetish society  <Taneb> Didn't realise for an hour and a half \ 1222) <Taneb> ...my university's Scandinavian Society is having a trip to IKEA 
01:59:42 <oerjan> now we ask: which of those quotes is more disturbing hth 
02:00:19 <shachaf> was adding hth to the end of that sentence really necessary 
02:00:57 <int-e> oerjan: ok, sanitized a bit: http://lpaste.net/7665531722934517760 
02:01:10 <oerjan> shachaf: i promise i didn't read your lambdabot message first hth 
02:01:10 <int-e> oerjan: I also tested it on ghc head; it works just like that. 
02:01:59 <shachaf> int-e: Why does reflP need that odd signature? 
02:02:03 <shachaf> You're not forcing p's kind there. 
02:02:37 <shachaf> I guess it's just for consistency. 
02:02:52 <int-e> shachaf: I wanted some symmetry between the two proxy, so one is Proxy p  throughout and the other one is Proxy q  throughout 
02:03:05 <shachaf> using p Proxy to force p's kind to be (* -> *) -> * is fishy hth 
02:07:15 <oerjan> uploaded as http://oerjan.nvg.org/haskell/TypeableExploits/ExploitGADTsOnly2.hs 
02:08:14 <shachaf> why is oerjan getting less credit anyway 
02:08:25 <oerjan> shachaf: i can fix that hth 
02:08:31 <shachaf> casting (:~:) is p. clever 
02:08:46 <oerjan> also maybe i should sanitize the file names now that it's moved 
02:09:03 <int-e> The document you were looking for (http://oerjan.nvg.org/lbexploits/) couldn't be found. 
02:09:48 <shachaf> oerjan: the shadows are back hth 
02:09:52 <int-e> (noticed the new URL) 
02:11:50 <shachaf> also ecast makes less sense now that type E = (:~:) is gone 
02:12:23 <int-e> it's still an equality-cast 
02:12:56 <Sgeo> Is sodium good? 
02:17:01 <elliott> sodium is my favourite thing in the universe. it is the only thing I can truly love 
02:17:01 <int-e> Na is pretty bad, very reactive. From what I'm reading NaHCO_3 can reduce acid in stomach for short periods, but is not good in the long term; the stomach will just produce more acid to compensate. 
02:17:18 <elliott> oh is the question more specific than it seems. ok 
02:17:36 * Sgeo meant the FRP library 
02:17:43 <Sgeo> *series of libraries 
02:18:05 <shachaf> you didn't mean libsodium? 
02:18:29 <elliott> that's. I actually feel trolled 
02:18:45 <elliott> because I was like "is this a programming thing" and I was like "no sgeo was talking about... food and salt and stuff lately... it's probably the actual thing" 
02:18:58 <int-e> elliott: yes, hence my reply 
02:18:59 <elliott> because I KNOW the FRP library and that was my first thought but it seemed unlikely to be that on second thought 
02:19:04 * Sgeo did not intend to troll 
02:19:08 <int-e> elliott: so that makes two of us :) 
02:19:19 <Sgeo> Although, now that int-e mentions it, is Tums likely to be similar in being bad long term? 
02:19:44 <int-e> Sgeo: I'll go out on a limb and suggest that perhaps you don't have any stomach trouble at all and just set us up for this misunderstanding. Now that would be great trolling. 
02:19:57 <oerjan> shachaf: fixed.  also completely renamed all files hth 
02:19:58 <elliott> that would be very elaborate 
02:20:10 <int-e> Sgeo: I don't believe that. But it would be impressive :) 
02:20:27 <shachaf> oerjan: how come /haskell isn't linked from the home page hth 
02:21:44 <shachaf> oerjan: why isn't there one that just uses TypeFamilies + DeriveDataTypeable and just works 
02:24:37 <oerjan> shachaf: because almost nothing in my website is linked properly hth 
02:25:05 <oerjan> a lot of the stuff in esoteric/ can only be reached via the wiki 
02:25:18 <int-e> You're better than me, I don't even have a homepage on my server. 
02:25:22 <oerjan> and some probably has no external links at all 
02:25:44 <oerjan> int-e: well technically it's not my server 
02:25:53 <shachaf> fortunately you linked to it in the logs so google will find it hth 
02:26:05 <oerjan> yep, the logs may be another place 
02:26:40 <int-e> oerjan: see xkcd, hth 
02:27:02 -!- boily has quit (Quit: EQUILATERAL CHICKEN). 
02:27:06 <int-e> the still-current one 
02:27:43 <Sgeo> http://xkcd.com/1475/ for future reference 
02:28:01 <Sgeo> People could read the logs far in the future someday. Some chance. 
02:28:13 <shachaf> fortunately the logs have a timestamp hth 
02:28:18 <oerjan> i think some people do 
02:28:55 <int-e> oerjan: hmm. when was https://xkcd.com/1174/ published? 
02:29:16 <int-e> (somehow, mapping dates to xkcd numbers and back is not exactly trivial) 
02:29:37 <oerjan> int-e: i was going to comment on that 
02:29:44 <HackEgo> [wiki] [[David Morgan-Mar]]  http://esolangs.org/w/index.php?diff=41707&oldid=7984 * SuperJedi224 * (+150)  
02:31:50 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 
02:31:59 <oerjan> shachaf: wow so you first have to find the title from the page, then find the title in the archive (which seems to be mirror imaged) 
02:32:29 <oerjan> ok at least the link gives the number too 
02:32:35 <int-e> Has IWC been discontinued? What's the status of a webcomic that's only doing reruns? 
02:32:43 <int-e> (but with comments?) 
02:32:49 <oerjan> int-e: well he's still doing sunday annotations 
02:33:25 <int-e> I'm wondering about our latest wiki edit. 
02:33:40 <int-e> I also thought that Darth and Droids was a collaboration thing 
02:33:57 <int-e> One more typo and I'll go to bed. 
02:35:23 -!- Lymia has quit (Ping timeout: 245 seconds). 
02:35:42 <int-e> Oh well, whatever. I'll heed the warning of https://xkcd.com/386/ ... good night. 
02:35:57 <HackEgo> [wiki] [[David Morgan-Mar]]  http://esolangs.org/w/index.php?diff=41708&oldid=41707 * Oerjan * (+16) truthify 
02:52:33 -!- Lymia has joined. 
02:52:33 -!- Lymia has quit (Changing host). 
02:52:33 -!- Lymia has joined. 
03:27:20 -!- zzo38 has joined. 
03:30:17 -!- blockzombie has joined. 
03:31:13 -!- incomprehensibly has quit (Ping timeout: 245 seconds). 
03:32:30 -!- mbrcknl has quit (Ping timeout: 276 seconds). 
03:44:54 -!- mbrcknl has joined. 
03:45:17 -!- incomprehensibly has joined. 
03:45:58 -!- blockzombie has quit. 
03:52:39 -!- mbrcknl has quit (Ping timeout: 276 seconds). 
03:53:57 -!- incomprehensibly has quit (Ping timeout: 276 seconds). 
04:03:42 -!- nys has quit (Quit: quit). 
04:09:10 -!- mbrcknl has joined. 
04:12:07 -!- incomprehensibly has joined. 
04:23:57 -!- adu has joined. 
04:34:13 -!- ^v has quit (Read error: Connection reset by peer). 
04:34:38 -!- ^v has joined. 
04:42:59 -!- mbrcknl has quit. 
04:47:35 -!- Lilax has joined. 
04:48:42 <APic> What does it look like? 
04:50:06 <Lilax> http://nuttygod.tumblr.com/post/108699018985/a-collab-with-animestuckneko-we-did-for-an-art  
04:50:22 <Lilax> This is muh tumblr 
04:52:27 -!- contrapumpkin has changed nick to copumpkin. 
04:54:03 <Lilax> Its for an art final 
04:54:21 <Lilax> And I think I did good? 
04:56:16 <oerjan> ANIME ANIME EVERYWHERE AAAAAAAAA 
04:57:21 <HackEgo> [U+24B6 CIRCLED LATIN CAPITAL LETTER A] 
05:04:27 -!- shikhin_ has quit (Ping timeout: 244 seconds). 
05:05:36 -!- TodPunk has joined. 
05:17:02 -!- TodPunk has quit (Read error: Connection reset by peer). 
05:20:05 -!- TodPunk has joined. 
05:21:33 -!- MDude has changed nick to MDream. 
05:50:50 <Sgeo> shachaf: When Prismata raids come out, if they're suitable for mixed skill, I would play in a raid with you 
05:58:27 <shachaf> Sgeo: my skill is not particularly high hth 
05:58:32 -!- mihow has quit (Quit: mihow). 
05:59:10 -!- mitchs has quit (Read error: Connection reset by peer). 
05:59:19 -!- mihow has joined. 
05:59:35 -!- mitchs has joined. 
06:02:06 -!- chaosagent_ has quit (Quit: No Ping reply in 180 seconds.). 
06:02:25 -!- chaosagent has joined. 
06:03:43 -!- mihow has quit (Ping timeout: 255 seconds). 
06:23:13 -!- adu has quit (Quit: adu). 
06:35:52 -!- callforjudgement has quit. 
06:36:06 -!- callforjudgement has joined. 
06:39:31 <Sgeo> I assume Tums 'don't take maximum dose for more than 2 weeks' is to stop people from not seeing the doctor because Tums covers symptons 
06:40:12 <Sgeo> I assume BaconJS flatMap() is >>=, most functions called flatMap are probably bind. But what about flatMapLatest, is that a legal monadic bind, or does using it for a monad break monad laws 
06:42:32 <Sgeo> Just took 4 Tums. It's like my esophagus is trying to have heartburn but failing 
06:42:52 <Sgeo> this : heartburn :: nausea : vomiting 
06:44:37 <APic> Buuuuuuuuuurntime! 
06:44:41 <APic> Was a nice Game in the Past. 
06:44:45 <APic> By some Austrians. 
06:44:56 <Sgeo> Also, what is it with FRP and food 
06:45:09 <APic> Who, i believe, are vaguely related to the Australians in Australia, who got sent as Prisonfnord by teh™ American Stuffs. 
06:45:18 <APic> WHAT YOU SAY !! 
06:45:50 <oerjan> i think your history needs work hth 
06:45:52 <Sgeo> Also, if there is ever an Alcohol FRP library, I assume APic uses it 
06:46:58 <APic> I do not know for sure. 
06:47:00 <oerjan> Sgeo: perhaps it's derived from that bananas, lenses and barbed wire thing? 
06:47:17 * oerjan never actually read that 
06:47:44 * Sgeo mails oerjan an explanation 
06:47:48 <APic> Did You mean that Sgeo Chap} 
06:48:01 <oerjan> APic: no i meant you for the history hth 
06:48:02 <APic> Not my Deb{,t,d,… 
06:48:18 <Sgeo> (All I know is that that thing you're referring to also mentions envelopes 
07:01:42 <zzo38> Do you have any new puzzles for Pokemon card or Magic: the Gathering? 
07:01:44 -!- dianne has quit (Ping timeout: 244 seconds). 
07:03:38 -!- dianne has joined. 
07:03:45 -!- dianne has quit (Changing host). 
07:03:46 -!- dianne has joined. 
07:07:53 -!- aloril_ has quit (Quit: Leaving). 
07:08:45 <Sgeo> "Change behavior for selected AST nodes. *All assignments. *This message send" 
07:08:51 <Sgeo> Does this mean monad syntax implementable? 
07:08:58 <Sgeo> http://www.slideshare.net/MarcusDenker/2013-fosdempharo4 
07:24:19 -!- aloril has joined. 
07:25:06 -!- MoALTz_ has joined. 
07:25:20 -!- callforjudgement has quit. 
07:25:32 -!- callforjudgement has joined. 
07:27:06 -!- MoALTz__ has joined. 
07:27:47 -!- MoALTz has quit (Ping timeout: 245 seconds). 
07:31:03 -!- MoALTz_ has quit (Ping timeout: 276 seconds). 
07:35:28 -!- chaosagent has quit (Ping timeout: 264 seconds). 
07:36:02 -!- Patashu has joined. 
07:59:14 <zzo38> I don't like the new basic lands with no text. My opinion is it should include the explicit mana ability, but written using italics and parentheses instead of the old way. 
07:59:57 <zzo38> What are "shock" lands? 
08:00:37 <shachaf> The lands that enter tapped if you don't pay 2 life. 
08:01:19 <zzo38> Yes like that, but only one color of mana and no text other than that reminder text. 
08:01:43 <callforjudgement> there are really only four groups of land that matter in eternal formats (not counting land that is only used as part of a combo) 
08:02:10 <zzo38> callforjudgement: Which is what? 
08:02:33 <zzo38> Also what are the eternal formats? 
08:02:48 <callforjudgement> shock lands (CARDNAME comes into play tapped unless you pay 2 life, have two basic land types); fetch lands (T, sacrifice CARDNAME, pay 1 life: search your library for an X or Y land card, where X and Y are basic land types); dual lands (have two basic land types, no drawbacks, only legal in Legacy and Vintage); and Wasteland and Strip Mine 
08:03:09 <callforjudgement> an eternal format is a format which doesn't have a rule that all cards older than a certain number of sets are automatically illegal 
08:03:58 <zzo38> Well, in puzzle formats any card is potentially useful 
08:03:58 <shachaf> That's not eternal. Right. 
08:04:01 <shachaf> I guess I haven't seen many eternal format games. 
08:04:13 <callforjudgement> but you run like 6 shock lands and use fetchlands for the rest 
08:04:16 <zzo38> Although I suppose puzzle format isn't an official format anyways. 
08:04:31 <shachaf> http://mtgsalvation.gamepedia.com/Eternal_(format) says Modern isn't eternal 
08:04:45 <shachaf> Anyway you've clarified what you meant so it doesn't matter. 
08:05:09 <zzo38> Also any Limited format won't need such a rule either, since it is redundant. 
08:05:42 <callforjudgement> shachaf: Wizards consider Modern to be internal, so do most people I've seen discussing Magic 
08:05:45 -!- callforjudgement has changed nick to ais523. 
08:05:56 <ais523> actually, this has lead to a huge row recently 
08:06:03 <ais523> with Birthing Pod being banned in Modern 
08:06:16 <ais523> the problem being that it was the cheapest tier 1 Modern deck 
08:06:17 <shachaf> Birthing Pod was banned in Modern? 
08:06:31 <shachaf> It used to be very popular, didn't it? 
08:06:35 <ais523> and many of the people who bought it can't afford to change to a different deck because all the viable ones are more expensive 
08:06:40 <shachaf> Oh, I guess this was just two days ago. 
08:06:41 <ais523> and yes, like 20-30% of the metagame 
08:06:43 <ais523> that's why it got banned 
08:06:45 <ais523> and yes, just two days ago 
08:06:48 <zzo38> What formats are you playing anyways? 
08:06:58 <ais523> I follow Legacy, though, and other formats to a lesser extent 
08:07:14 <ais523> but Lorwyn was so bad that I stopped playing Magic, and nothing since has tempted me back 
08:07:51 <zzo38> I think I have played a Lorwyn draft once or twice 
08:09:02 <zzo38> As well as later sets 
08:09:20 <zzo38> Although I rarely play the game at all and am mostly interested in Magic: the Puzzling 
08:11:05 <shachaf> Is it the case that most cards that were good for a Birthing Pod deck are now useless? 
08:11:09 <shachaf> Other than lands, I suppose. 
08:11:46 <ais523> actually, the problem is that some of them are now useless (mostly tutor targets), and others are still useful but the only tier 1 deck they fit in requires about $1000 worth of cards that aren't in Pod 
08:11:57 <shachaf> whoa, they banned Treasure Cruise and Dig Through Time 
08:13:23 <shachaf> "tutor" means Birthing Pod's ability, right? 
08:14:21 -!- mbrcknl has joined. 
08:14:49 <ais523> shachaf: "tutor" is any effect that lets you access specific cards from a deck 
08:14:59 <ais523> Pod's ability is one of those, it was one of the better ones in Modern 
08:15:07 <ais523> (it's named after the first several cards to have that ability) 
08:16:52 <ais523> shachaf: also I wonder how much you'd have been laughed like six months ago if you told someone that Modern, Legacy and Vintage would all be broken by an 8-mana common in the next set 
08:16:59 <zzo38> But in a Limited game that uses really old cards, then any land might be used 
08:17:19 -!- bb010g has quit (Quit: Connection closed for inactivity). 
08:17:47 <zzo38> ais523: Is there such a card? 
08:18:01 <ais523> zzo38: Treasure Cruise 
08:18:12 -!- Sprocklem has quit (Ping timeout: 244 seconds). 
08:18:20 <ais523> that was crazy common, the ban is much less controversial than the ban of Birthing Pod 
08:18:35 <shachaf> Well, it has CMC 8, but so does Scornful Egotist 
08:18:40 <ais523> because most people thought it would happen (there's widespread disagreement on whether people thought it was necessary, but it was predicted to happen) 
08:18:52 <shachaf> It doesn't really reflect on the way the card is used. 
08:18:54 <ais523> yes but Scornful Egotist sucks ;-) 
08:19:13 <shachaf> Did it have a big influence on Vintage? 
08:19:14 <zzo38> It still can't be used to force your opponent to draw three cards though like Ancestral Recall which you can use on yourself or opponent. 
08:20:00 <ais523> shachaf: there aren't that many Vintage tournaments, but yes 
08:20:19 <ais523> also Vintage has a policy of restricting anything that looks even approximately like good blue card draw/filtering 
08:20:26 <ais523> because it's particularly there because Vintage has so many broken cards 
08:20:42 <shachaf> zzo38: I doubt Ancestral Recall is used that way very often except in Magic: The Puzzling. 
08:21:54 <ais523> you could use it as a response to Enter the Infinite, but I don't think that's widely played in Vintage 
08:21:58 <ais523> because there are so many other things you could be doing 
08:22:04 <ais523> and Recall isn't legal anywhere else 
08:22:58 <shachaf> zzo38: If you're being controlled by e.g. Mindslaver, Ancestral Recall is worse. 
08:23:50 <zzo38> shachaf: Yes in that case your opponent can make the choice for you 
08:24:06 <ais523> most decks which play Mindslaver have some method to play it every turn 
08:24:11 <ais523> at which point, they've pretty much won 
08:24:19 <zzo38> But if you are being controlled by Mindslaver, Demonic Consultation is *far* worse than Ancestral Recall! 
08:24:29 <shachaf> Is there a card that says you can choose targets for all your opponent's spells? 
08:24:44 <ais523> Gleemax, but it's silver-bordered 
08:24:49 <zzo38> In Unhinged there is 
08:24:55 <zzo38> But it costs one million mana 
08:25:02 <shachaf> Oh, right, I have seen that before. 
08:25:22 <shachaf> OK, Worst Fears, not Mindslaver. 
08:25:43 <ais523> I'm not sure any deck plays Worst Fears 
08:26:12 <ais523> I think the main reason it's there is for the creature in the same set that gives the opponent the choice of making it bigger or letting the creature's controller cast an instant or sorcery for free 
08:26:16 <ais523> "what's the worst that could happen" 
08:26:55 <ais523> (in Draft, not a lot, unless you draft both those specific cards and happen to have them in hand at the same time) 
08:27:27 <shachaf> Ah, that would explain the name. 
08:28:32 <zzo38> What card is the creature in the same set that gives the opponent the choice of making it bigger or letting the creature's controller cast an instant or sorcery for free? 
08:29:02 <ais523> shouldn't be too hard to search for 
08:31:13 <zzo38> But, why do they always make tribute like that? Can't you make something like: Unleash, Tribute 2 
08:31:37 <shachaf> What do you mean, "like that"? 
08:31:58 <zzo38> I mean things that says "if the tribute cost is not paid" 
08:32:08 <zzo38> (Well, it isn't a cost actually) 
08:32:53 <ais523> zzo38: Wizards don't like to mix abilities belonging to different sets 
08:33:17 <ais523> Unleash was an RTR block ability, so Wizards would be unlikely to put it into Theros which is the very next block 
08:33:24 <ais523> most abilities are given a break before returning 
08:33:27 <shachaf> If an effect tells you to "distribute so-and-so many jams among creatures", does that let you cancel out tribute jams? 
08:33:52 <ais523> shachaf: it cancels out Unleash ability-to-block, and everything that counts +1/+1 counters specifically, though 
08:34:05 <ais523> Tribute doesn't count +1/+1 counters, it just remembers whether the opponent paid 
08:34:46 <zzo38> ais523: OK, although I still like to try to make up unofficial cards that can mix up such things 
08:35:17 <shachaf> Huh, only 13 cards have Unleash. 
08:35:50 <ais523> shachaf: this is common for block-specific mechanics 
08:36:14 <ais523> often, the designers decide that, while keeping to within their normal limits for mechanical use, they couldn't create much more interestingly distinct cards than that 
08:37:34 <zzo38> I like to try to make entirely different designs, combining keyword abilities that were never combined before, using keyword abilities that are officially only on creatures on non-creature cards too, etc 
08:38:11 <zzo38> And also "enchant attacking creature" 
08:39:03 <ais523> with Flash, presumably? what benefit does that have over making an Instant? 
08:39:26 <zzo38> No it doesn't have flash, but it does have ninjutsu. 
08:39:31 <ais523> it has at least one drawback (enhancing toughness doesn't help much) 
08:40:33 <shachaf> Is there a card that makes you distribute jams among creatures controlled by opponents? 
08:41:10 <ais523> probably not, Wizards doesn't like drawback cards 
08:41:17 <ais523> because most of their players don't enjoy playing them 
08:41:53 <zzo38> I made up a land with ninjutsu, a Aura with ninjutsu, and a instant with ninjutsu. (I also made up a creature that has both ninjutsu and defender.) 
08:43:01 <shachaf> What does Ninjutsu mean on those cards? 
08:43:29 <ais523> shachaf: "you can return an attacking creature to your hand and pay CARDNAME's ninjitsu cost to place CARDNAME into play tapped and attacking" 
08:43:49 <ais523> zzo38: an instant with ninjutsu doesn't work 
08:43:55 <shachaf> Right, but what does it mean to place an instant on the battlefield tapped and attacking? 
08:44:00 <ais523> you can't place instants into play via any means but Manifest 
08:44:07 <ais523> and that was added like a few weeks ago 
08:44:17 <zzo38> I believe that an instant will stay in your hand but still return the attacking creature, and that the other non-creatures will be tapped but not attacking because they can't be attacking. 
08:44:25 <ais523> before, I could have made the absolute statement that you can't place instants into play at all 
08:44:34 <ais523> (technically "onto the battlefield" but I dislike that terminology) 
08:44:50 <ais523> zzo38: no, the ninjutsu/defender card is legal within the rules and does attack 
08:44:54 <zzo38> And for an aura, I think, if it comes into play due to a reason other than resolving, its controller now must choose what it enchants. 
08:45:09 <zzo38> ais523: Yes, that one does attack, I know that. 
08:45:12 <ais523> defender stops a card attacking, it doesn't stop it being created in an attacking sate 
08:45:28 <shachaf> A land can be a creature, but I don't know if zzo38's land is a creature. 
08:45:33 <zzo38> But the one with defender is the only one of these that does attack. 
08:45:34 <ais523> this is why Flash Foliage is so hilarious 
08:45:40 <zzo38> All the rest aren't creatures. 
08:45:41 <shachaf> And I don't think an aura can attack at all (but maybe with zzo38's modified rules it can). 
08:45:45 <ais523> it can block anything it can target, because it creates a creature in a blocking state 
08:45:52 <shachaf> It seems like an abuse of the Ninjutsu mechanic to do that. 
08:45:59 <ais523> thus getting around all protections against creatures becoming blocking 
08:46:11 <ais523> shachaf: an aura that's a creature can attack just fine (but it can't enchant things) 
08:46:18 <zzo38> Even with my modified rules an aura can't attack 
08:46:23 <ais523> you might need humility or the like to stop it dying due to not being attached 
08:46:38 <shachaf> Ah, I suppose that can work. 
08:46:40 <zzo38> (Unless it is a creature, but like I said none of these cards are creatures except for the one having defender) 
08:47:10 <ais523> you can make basically anything into a creature if you try hard enough 
08:47:17 <shachaf> Is there an aura that has a tap ability? 
08:47:29 <shachaf> Ah, there's one in Future Sight. 
08:47:31 <ais523> (and in cases other than instant/sorcery, you don't even have to cheat with manifest/ixidron) 
08:48:04 <ais523> shachaf: yeah, Wizards are careful to avoid situation where enchantments get tapped, partly to distinguish them from artifacts, partly because people keep tapping them along with things they enchant 
08:48:09 <ais523> even though the rules say you don't do that 
08:48:23 <ais523> and future sight tried to break as many rules like that that Wizards could think of 
08:48:40 <zzo38> They didn't try hard enough. 
08:48:52 <ais523> they only had limited space in the set 
08:50:47 <ais523> zzo38 would probably like the creature with haste and defender 
08:50:53 <ais523> actually, future sight wanted to do combinations of mechanics 
08:51:01 <ais523> so it used mechanics from the previous block (ravnica block) 
08:51:13 <ais523> on the basis that most people would already know how they worked 
08:51:23 <ais523> and that apparently confused enough people that they decided not to do it again 
08:51:26 <zzo38> I did a lot more stuff though 
08:51:43 <shachaf> zzo38: You should get your cards printed. 
08:51:55 <zzo38> I don't intend to print them. 
08:52:22 <zzo38> They don't even form a set. But if some are used in a set, then they can be decided rarity within the set and then printed so that you can make up a draft or sealed. 
08:52:48 <zzo38> (The picture and flavor text would also be decided within the set.) 
08:53:05 <ais523> shachaf: you have to mix it with some of the cards produced by Alex Churchill's random card generator 
08:53:37 <zzo38> (And of course the set may include cards from previous official or unofficial sets too, or if you don't, draft multiple sets at once) 
08:53:46 <ais523> huh, these cards actually look sensible 
08:53:59 <ais523> maybe the land's a little overpowered 
08:54:01 <shachaf> "If you would gain life, instead that player may search his or her library for a creature card, reveal it, and put it into his or her hand. If that player does, that player shuffles that library afterwards." 
08:54:02 <zzo38> ais523: I think I also made up a random Magic: the Gathering card generator, but not very good 
08:54:06 <shachaf> Which cards look sensible? 
08:54:17 <ais523> shachaf: the ones in my latest random generation 
08:54:25 <ais523> that I can't link to because the URL gives a new set every time you follow it 
08:54:30 <zzo38> So Alex Churchill's one might be better 
08:55:00 <ais523> (the land is ETB tapped; T: add W to mana pool; 1, T: add BB to mana pool; discard two cards: discard target nonblack creature) 
08:55:19 <zzo38> Although maybe I should add a random number seed option into FurryScript so that if anyone makes such a thing with FurryScript then it is possible to link in that way. 
08:55:22 <ais523> aha, it's in view source 
08:55:31 <shachaf> But I'm not sure how to get it to use a particular seed. 
08:56:06 <ais523> oh good, it's not seeding from time 
08:56:21 <ais523> was worried that was the actual time for the moment 
08:56:30 <ais523> because I miscounted the digits 
08:58:48 -!- Tritonio has quit (Ping timeout: 276 seconds). 
09:12:55 <ais523> shachaf: http://www.toothycat.net/wiki/bnf.pl?page=AlexChurchill/MagicCardGenerator&seed=330275099 
09:12:59 <ais523> just guessed the URL syntax 
09:13:27 <shachaf> ais523: Oh, *destroy* target nonblack creature. 
09:20:15 -!- ais523 has quit (Ping timeout: 276 seconds). 
09:35:16 <zzo38> http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.3  Is this puzzle correct? Is it busted or cooked? 
09:35:19 <b_jonas> heh, defender+ninjutsu sounds funny 
09:35:21 -!- Lilax has quit (Quit: Connection closed for inactivity). 
09:35:59 <shachaf> zzo38: What does busted or cooked mean? 
09:37:24 <zzo38> Busted means it has no valid solution, and cooked means it has unintended solution(s). 
09:39:02 <b_jonas> hehe, "(it's named after the first several cards to have that ability)" -- actually, they still call it "tutor" on new cards like Diabolic Tutor 
09:40:09 <shachaf> And what does correct mean? 
09:40:57 <b_jonas> wait, it's version 3 now? did you finish version 2? or abanadon it? 
09:41:23 <b_jonas> oh, that's an entirely different puzzle 
09:41:49 <b_jonas> and a complicated one with lots of different cards, wow 
09:41:53 -!- shikhin has joined. 
09:44:49 <shachaf> What's the goal of the puzzle? 
09:45:20 <b_jonas> shachaf: win the game, I think 
09:45:44 <shachaf> Ah, not "in some number of turns" or anything, just guarantee a victory. 
09:46:02 <b_jonas> shachaf: yeah, but unlike chess, in M:tG puzzles you usually have to do that very fast  
09:46:53 <b_jonas> because if you let the opponent have a turn with unknown cards in his library, he usually has a theoretic possibility to win, unless you used some very strong effects such as prevent him to draw a card and empty his hand 
09:47:07 <b_jonas> so probably you have to win or at least go off in your turn 
09:48:00 <b_jonas> you want to guarantee win, not just make it likely as you'd do in a real game 
09:49:01 <zzo38> Unless it says it is probabilistic, you should assume it is to guarantee win 
09:49:49 <b_jonas> (the puzzle could give some other goal of course) 
09:50:11 <zzo38> Yes it could, although this one doesn't. 
10:01:34 -!- CADD has joined. 
10:01:34 -!- CADD has quit (Client Quit). 
10:01:57 -!- CADD has joined. 
10:03:04 -!- CADD has quit (Client Quit). 
10:03:19 -!- CADD has joined. 
10:07:33 -!- oerjan has quit (Quit: leaving). 
10:45:10 -!- Froox has joined. 
10:45:54 -!- Tritonio has joined. 
10:46:41 -!- Tritonio has quit (Remote host closed the connection). 
10:47:21 -!- Tritonio has joined. 
10:47:22 -!- Froox has quit (Client Quit). 
10:48:28 <zzo38> Did you study this puzzle? 
10:48:39 -!- Frooxius has quit (Ping timeout: 264 seconds). 
10:52:08 -!- Patashu has quit (Remote host closed the connection). 
10:52:22 -!- Patashu has joined. 
10:58:01 -!- Patashu has quit (Remote host closed the connection). 
10:58:24 -!- Patashu has joined. 
11:23:33 -!- TieSleep has changed nick to TieSoul. 
11:26:22 -!- boily has joined. 
11:47:55 <int-e> b_jonas: well, the magic "turn" is a fleshed out two-player game. 
11:51:46 -!- J_Arcane has quit (Read error: Connection reset by peer). 
11:54:34 -!- J_Arcane has joined. 
11:58:12 -!- fungot has quit (Ping timeout: 276 seconds). 
11:59:22 -!- aloril has quit (Ping timeout: 240 seconds). 
12:02:52 -!- aloril has joined. 
12:04:32 <Jafet> Google adword: "Haskell Fasttrack course \ www.skillsmatter.com/ \ Learn Haskell, its Type System, IO Polymorphism & testing, Jan 29-30th" 
12:05:54 <Jafet> Must be the latest paradigm 
12:06:33 <int-e> Is that when you create an  forall a. IORef a  to implement unsafeCoerce from unsafePerformIO? 
12:07:23 <int-e> (It could be a missing comma. But really IO is rather oddly placed on that list.) 
12:07:46 * boily tries to tabcomplete fungot's name. tab. tab tab. TAB TAB TAB. 
12:07:52 <boily> fizzie: FUNGOOOOOOOOOOOOOOOOOOOOOOOT! 
12:10:45 <fizzie> There was some internet hiccup back home. 
12:11:42 -!- fungot has joined. 
12:11:55 <boily> fungot: hello sailor! 
12:11:56 <fungot> boily: but if i did i'd use essence. 
12:12:10 <boily> fungot: straight to the point, I see. 
12:12:11 <fungot> boily: did you eat lunch yet?" " gee thanks for the translation to bytecode. i can rescale it as needed) as opposed to violently slaying me because i haven't gotten a new one 
12:12:46 <boily> fungot: only breakfast. but enough of small talk. I wanted to ask you about IO Polymorphism. 
12:12:46 <fungot> boily: i forgot the key combination following it determines the structure of scheme's syntax. 
12:13:02 <boily> fungot: ah, polymorphism between languages. whatever that is? 
12:13:02 <fungot> boily: in plt-scheme, there is a way ppl hide and made excuses for their shitty actions: http://mitpress.mit.edu/ sicp/ full-text/ book/ fnord exercise 3.3.2 
12:13:24 <boily> fungot: so IO Polymorphism is buzzword compliant? 
12:16:23 -!- Patashu has quit (Ping timeout: 244 seconds). 
12:16:37 -!- Tritonio has quit (Remote host closed the connection). 
12:16:58 -!- Tritonio has joined. 
12:21:38 -!- Tritonio has quit (Remote host closed the connection). 
12:23:10 -!- Tritonio has joined. 
12:24:05 -!- boily has quit (Quit: IAMBIC CHICKEN). 
12:26:40 -!- Tritonio has quit (Remote host closed the connection). 
12:26:59 -!- Tritonio has joined. 
12:27:44 <Jander> int-e / b_jonas - I can report the the Lego BF interpreter works :-) However, the paper tape drive needs revisiting - over the course of several [] iterations the tape slipped too much resulting in mis-reads :-( 
12:31:41 -!- Tritonio has quit (Remote host closed the connection). 
12:31:45 <mroman> I just realized that if you generate enough random pictures you'll eventually end up at previously unseen nudes of celebrities 
12:31:57 -!- Tritonio has joined. 
12:32:08 <mroman> Would that classify as an invasion of privacy? 
12:32:12 <int-e> "Implementing a randomized Turing Machine" 
12:32:40 <mroman> The corresponding paper is called "Using genetic algorithms to generate previously unseen nudes of celebrities" 
12:34:05 <mroman> how many random images can a computer generate... 
12:34:07 <Jafet> You got me, I actually did a search for that paper 
12:34:17 <mroman> Jafet: You're kidding, right? 
12:34:33 <int-e> Tricky, but it's not really privacty that's at stake here. 
12:34:38 <Jafet> Better write it now, while the title still has SEO value. 
12:35:10 -!- shikhin has quit (Quit: leaving). 
12:35:31 -!- shikhin has joined. 
12:35:45 <int-e> In fact it might improve privacy if nobody could tell the difference between real nude pictures and the fake ones. 
12:36:04 <Jafet> Jander: presumably a paper tape machine would use punched tape 
12:36:28 <b_jonas> Jander: thanks for the report back 
12:36:43 <Jander> Jafet - mine uses coloured rectangles. 
12:36:58 <mroman> So the strategy here is to take a nude of yourself 
12:37:04 <mroman> then modify it in 100 versions 
12:37:30 <Jafet> I don't understand what game is to be won using this strategy 
12:37:43 <Jander> b_jonas, I doubt I'll get time to redesign the pinch-roller components tonight, but once it works I'll video it :-) I had it merrily working on multiplying 4x3 but when it hit the 3rd time around the main loop the tape was too far out of sync. 
12:37:48 <mroman> The chance that somebody is jerking off to the real you approaches 1/100 instead of 1 
12:38:32 <Jafet> Alternatively, it is zero because they are using a picture of you, which is not you 
12:38:49 <mroman> Alternatively they're jerking off to a genetic algorithm 
12:38:59 <Jafet> Your mother is a genetic algorithm 
12:39:57 <mroman> Ok enough of the crazy-talk 
12:40:21 <mroman> the real question was actually what happens if your random machine generates something that violates patents 
12:40:27 <mroman> or copyright or privacy laws or whatever 
12:41:11 <Jafet> I don't know whether you can get new punched tape these days. Also I guess you'd want plastic tape if you're using dry-erase marking. 
12:41:37 <mroman> Presumably nothing happens as long as you don't make use of the information or publish it 
12:41:46 -!- Tritonio has quit (Remote host closed the connection). 
12:41:50 <Jander> Jafet - this is just strips of cut A4 coloured in with felt tip :-) 
12:41:59 -!- Tritonio has joined. 
12:42:16 <int-e> mroman: you cannot inadvertantly violate copyright (though you may hace trouble proving that your randomly generated copy of Harry Potter is your own product). Patent law is the big evil in the IP ocean. 
12:42:26 <Jafet> Patent law is pretty clear about this: it doesn't really matter what crystal ball in which lucid dream you independently derived an idea from 
12:42:33 <Jafet> If it was patented before, you can't use it commercially 
12:43:09 <int-e> mroman: also note that selection is part of the creative process. 
12:44:22 <int-e> mroman: So if you train a neural network on Harry Potter, its results may very well become derivative works of that, though it could be fun (expensive...) to test the limits in court. 
12:47:06 <Jafet> If it's anything like current chatterbot technology, you might get away with fair use on the grounds that it is a nonsensical parody of the original 
12:50:37 <Jafet> But can you automatically generate nonsensical combinations of Sasha Grey films and Tatu music videos? Important research frontiers. 
12:50:56 <Jafet> (Well, in this case the source materials are pretty nonsensical to begin with) 
13:07:39 <mroman> also haskell.org is always sooooo slooooow 
13:10:49 -!- GeekDude has joined. 
13:40:01 -!- shikhin has quit (Read error: Connection reset by peer). 
13:40:39 -!- shikhin has joined. 
14:01:30 -!- Phantom_Hoover has joined. 
14:34:01 -!- SopaXorzTaker has joined. 
14:37:08 -!- adu has joined. 
14:48:04 -!- adu has quit (Remote host closed the connection). 
14:57:34 -!- Lymia has quit (Remote host closed the connection). 
15:00:09 -!- Lymia has joined. 
15:00:10 -!- Lymia has quit (Changing host). 
15:00:10 -!- Lymia has joined. 
15:07:06 -!- arjanb has quit (Quit: bbl). 
15:24:02 <HackEgo> 230) <fizzie> Phantom_Hoover: I have just one tvtropes page open in elinks, but my tvtropes.txt "queue" has 38 tvtropes.org URLs waiting for processing. \ 481) <fungot> elliott__: my fnord into normal life was a painful and difficult process. [...] \ 524) <itidus20> what is nice about a pebble is that you can process it with your brain as a number  
15:24:26 <HackEgo> 524) <itidus20> what is nice about a pebble is that you can process it with your brain as a number by simply looking at it 
15:38:50 -!- MoALTz_ has joined. 
15:42:23 -!- MoALTz__ has quit (Ping timeout: 240 seconds). 
16:02:25 -!- idris-bot has joined. 
16:14:48 -!- Tritonio has quit (Remote host closed the connection). 
16:18:36 <HackEgo> 401) <Taneb> Look, I often walk my dog through a field with cows in it. And I punched myself in the face once. \ 848) <pikhq> Conext coyou'll cotell come cothat coyou cocan't coprefix coeverything cowith co"co".  <oerjan> pikhq: coof urse conot! \ 989) <olsner> metar lead to canada, more metar and cows \ 995) <Bike> man at least job applications in 
16:19:09 <mroman> I sure would love to know the context for 401 o_O 
16:21:15 <mroman> `quote job application 
16:21:16 <HackEgo> 995) <Bike> man at least job applications in biosciences are just like "you are willing to put your arms through a cow"  <kmc> Bike: please send us a link to your CowHub profile of cows you have previously put your arms through on your own time for fun  <Bike> please provide at least two zebrafish you have modified to glow in the dark 
16:22:01 <HackEgo> 571) <Phantom_Hoover> oh god oh god  <Phantom_Hoover> what if I become  <Phantom_Hoover> attracted  <Phantom_Hoover> to birds \ 1044) <Bike> that reminds me of a great quote about bird semen 
16:22:23 <HackEgo> 74) <Warrigal> Making a small shrine to Lawlabee in my basement is something I should get around to at some point. \ 1044) <Bike> that reminds me of a great quote about bird semen 
16:22:44 <int-e> mroman: http://codu.org/logs/_esoteric/2011-07-20.txt 
16:24:27 <mroman> fwiw I never punched myself in the face 
16:25:33 <mroman> how's bfjoust going btw? 
16:26:47 -!- h0rsep0wer has joined. 
16:26:48 <mroman> It would be funnier with imps. 
16:47:21 -!- mihow has joined. 
16:47:39 -!- MDream has changed nick to MDude. 
16:52:21 <oren> hmm... it's been 4 months i last cleared my browser history 
16:54:41 <oren> does the browser history take up memory space  
16:56:13 <oren> well at least now when firefox crashes, only firefox crashes and not the whole computer 
17:06:53 -!- SopaXorzTaker has quit (Read error: Connection reset by peer). 
17:08:00 -!- SopaXorzTaker has joined. 
17:13:02 -!- SopaXorzTaker has quit (Remote host closed the connection). 
17:13:53 -!- SopaXorzTaker has joined. 
17:19:35 <mroman> boolean random = (Math.random()*Math.random()) < Math.random(); 
17:19:43 <mroman> yields true in 75% of the cases 
17:19:55 <mroman> I was just thinking that x*y < z 
17:20:11 <mroman> x*y < z is more likely to be < z than x <z or y < z 
17:20:19 <mroman> but that's as much as I got so far 
17:21:29 <mroman> the only thing I got other than that is 
17:21:39 <mroman> assuming x < z has P=0.5 and y < z has P=0.5 
17:21:48 <mroman> then x*y < z probably has P=0.5+0.5*0.5 
17:28:04 <mroman> the only thing I can say is that Math.random() has an expected value of 0.5 
17:28:19 <mroman> so Math.random()*Math.random() should have an expected value of 0.25 
17:28:29 <mroman> that way I can at least argue that it's supposed to be more true than false 
17:30:37 <Taneb> Math.random() * Math.random() has a sqrt 0.5 chance of being less than 0.5, which is the expected value of Math.random 
17:30:54 <elliott> for rand()*rand() to be 0 only one of them has to be 0 
17:31:01 <elliott> whereas for it to be 1 both of them have to be  
17:31:04 <elliott> *both of them have to be 1 
17:31:08 <elliott> I don't know whether that's relevant at all. 
17:32:22 <mroman> x*y is always smaller than x and also smaller than y 
17:32:31 <oren> E(rand()*rand()) = 0.25  
17:33:10 <oren> so rand() would be above it 75% of the time 
17:33:58 <oren> caveat: I almost failed the last stats course I took 
17:35:04 -!- oren has quit (Quit: Lost terminal). 
17:37:48 <mroman> which I can empirically confirm 
17:38:59 <elliott> <mroman> x*y is always smaller than x and also smaller than y 
17:39:54 <mroman> but actually Math.random is inclusive 0 and exclusive 1 
17:40:20 <elliott> this question could be answered in a second by anyone who knows any probability theory :( 
17:40:54 <mroman> I only use Math.random() so I can have a program and "empirically" measure the probability 
17:40:59 <mroman> because I don't know how to calculate it yet 
17:42:45 <mroman> I'm interested in P(product(rand(),1,n) < product(rand(),1,k)) where 0 < rand() < 1 AND k >= n 
17:45:09 <mroman> Is there a math channel :D 
17:48:52 <elliott> I understand it's not a very friendly place 
17:50:54 <int-e> it's a bit too crowded 
18:04:17 -!- MoALTz_ has quit (Quit: Leaving). 
18:04:48 -!- MoALTz has joined. 
18:11:27 -!- oren has joined. 
18:12:23 -!- h0rsep0wer has quit (Read error: Connection reset by peer). 
18:12:43 -!- h0rsep0wer has joined. 
18:19:06 -!- Phantom_Hoover has quit (Remote host closed the connection). 
18:25:02 -!- arjanb has joined. 
18:42:17 -!- SopaXorzTaker has quit (Remote host closed the connection). 
18:42:43 <mroman> Register now for more ads. 
18:56:07 -!- MoALTz_ has joined. 
18:58:21 -!- oren has quit (Ping timeout: 244 seconds). 
18:58:51 -!- MoALTz has quit (Ping timeout: 264 seconds). 
19:08:05 -!- oren has joined. 
19:12:36 -!- fumble has joined. 
19:13:27 -!- fumble has left. 
19:13:29 -!- `^_^v has joined. 
19:15:35 <oren> So it appears that the distro of N uniform 0,1 distros' product is |(log(x))^(N-1)/(N-1)|. 
19:16:46 <oren> (According to my integrations and extrapolation 
19:17:44 <oren> Never mind, that's wrong 
19:18:03 <oren> AHA: http://mathworld.wolfram.com/UniformProductDistribution.html 
19:19:29 <oren> |(log(x))^(N-1)/(N-1)!| 
19:25:08 <int-e> oh, density. fine... 
19:31:26 -!- MDude has quit (Ping timeout: 246 seconds). 
19:40:52 -!- shikhin_ has joined. 
19:42:20 <oren> I should have studied harder when I took stats... 
19:42:56 <oren> Well, that applies to virtually every course i've taken, actually 
19:43:37 -!- shikhin has quit (Ping timeout: 245 seconds). 
19:45:28 -!- h0rsep0wer has quit (Quit: Leaving). 
19:46:15 -!- nys has joined. 
19:54:25 -!- oren has quit (Quit: Lost terminal). 
20:01:50 -!- hjulle has joined. 
20:05:20 -!- Patashu has joined. 
20:06:42 -!- oren has joined. 
20:14:53 -!- shikhin_ has changed nick to shikhin. 
20:20:39 -!- S1 has joined. 
20:20:47 -!- TieSoul has changed nick to TieSleep. 
20:21:18 -!- h0rsep0wer has joined. 
20:25:14 -!- lifthrasiir has quit (Ping timeout: 245 seconds). 
20:26:07 -!- Patashu has quit (Ping timeout: 256 seconds). 
20:29:53 -!- h0rsep0wer has quit (Ping timeout: 246 seconds). 
20:31:08 -!- shikhin has quit (Quit: leaving). 
20:31:27 -!- shikhin has joined. 
20:31:48 -!- shikhin has quit (Client Quit). 
20:32:09 -!- shikhin has joined. 
20:33:08 -!- h0rsep0wer has joined. 
20:34:30 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 
20:41:26 -!- hoosieree has joined. 
20:49:57 -!- lifthrasiir has joined. 
20:54:08 -!- chaosagent has joined. 
20:55:25 -!- MDude has joined. 
20:58:37 -!- qlkzy has quit (Ping timeout: 245 seconds). 
21:01:09 -!- Sprocklem has joined. 
21:02:28 -!- qlkzy has joined. 
21:11:01 -!- shikhin has quit (Quit: leaving). 
21:11:17 -!- shikhin has joined. 
21:18:42 -!- Tritonio has joined. 
21:21:54 -!- oren has quit (Ping timeout: 245 seconds). 
22:04:38 -!- S1 has quit (Quit: S1). 
22:17:24 -!- GeekDude has joined. 
22:28:30 -!- Tritonio_ has joined. 
22:31:18 -!- Tritonio has quit (Ping timeout: 276 seconds). 
22:32:02 -!- oren has joined. 
22:33:32 -!- Tritonio_ has changed nick to Tritonio. 
22:45:48 -!- oerjan has joined. 
22:53:10 -!- boily has joined. 
22:53:35 <boily> Taneb: Tanelle. you reminded me I had a blog. 
22:55:21 <oerjan> @tell mroman <mroman> also haskell.org is always sooooo slooooow <-- there was a reddit post on that, assuming you're referring to the wiki part, the problem is that after last year's server crash, some servers are in different data centers that really ought to be close together 
22:56:35 <oerjan> @tell mroman see https://status.haskell.org/ 
22:56:52 <boily> Taneb: yes. got an e-mail today saying you're following me. I had completely forgot that I had some kind of thing that looks like a blog. 
22:58:04 <oerjan> shachaf: ok that was even fewer than i expected 
22:58:28 <shachaf> oerjan: my followers/tweet ratio is p. high hth 
22:58:45 <oerjan> there seems to be a #nationalhugday somewhere 
22:58:53 -!- AndoDaan has joined. 
22:59:10 <boily> http://pfcuttle.tumblr.com/post/3969325727/un-petit-peu-special-pour-un-valeur-donnee-de ← what the hell was I doing back then... anybody can help me recall? 
22:59:59 <oerjan> sorry, it's all french to me hth 
23:00:37 <boily> translated: A little bit special. (For some value of “little”) 
23:00:47 <Taneb> boily, puts me in mind of Marble Hornets 
23:01:24 <boily> ah, marble hornets. I watched a few random ones yesterday night ^^ 
23:01:42 <oerjan> boily: is this your latest revenge for my hemsktmyckethej tdnh also all sound clips should have a time bar so you can see whether you have any chance of bearing the rest of that crap (i didn't) 
23:02:12 -!- Tritonio has quit (Remote host closed the connection). 
23:02:21 <boily> no, still searching; I agree; it's not very long. 
23:02:27 -!- Tritonio has joined. 
23:02:44 <elliott> oerjan: it does have a time bar 
23:03:11 <oerjan> oh so it does.  very sublte. 
23:03:14 <elliott> a line and some shading moves across the player bar 
23:03:45 -!- Tritonio has quit (Remote host closed the connection). 
23:03:58 <oerjan> nope still cannot bear it hth 
23:04:57 <boily> hm. even the 'got is stumped. 
23:06:22 <oerjan> fungot: please be kind and answer boily twh 
23:06:22 <fungot> oerjan: maybe tomorrow i'll host the comments on fnord 
23:06:49 <boily> the Fnord Message Board. the Fnoard. 
23:07:07 <boily> and stop being sentient, you vile fungot. 
23:07:07 <fungot> boily: why not generalize for any cube size? i don't believe any of it. i think. i'm not sure 
23:07:25 <boily> fungot: auditive generalized cubes? 
23:07:25 <fungot> boily: this text is fnord for people like me, wants mrv gone". otoh, he's been using that too 
23:07:37 <boily> fungot: you are not people. 
23:07:37 <fungot> boily: fnord the background and talks. 
23:08:07 <boily> elliott: thanks :) 
23:14:33 -!- AndoDaan_ has joined. 
23:15:21 <oerjan> <elliott> this question could be answered in a second by anyone who knows any probability theory :( <-- oren is essentially right but i think you need to integrate to prove that equation hth 
23:16:08 <oerjan> \int_0^1 \int_0^1 x y dx dy 
23:16:29 -!- AndoDaan has quit (Ping timeout: 245 seconds). 
23:16:48 -!- _AndoDaan_ has joined. 
23:17:46 -!- hjulle has quit (Ping timeout: 265 seconds). 
23:17:56 <oerjan> oh hm that's easy because y is a constant relative to x, so = \int_0^1 y \int_0^1 x dx dy = (\int_0^1 z dz)^2 = (1/2)^2 = 0.25 
23:18:12 * oerjan still remembers _some_ integration, yay 
23:19:08 -!- AndoDaan_ has quit (Ping timeout: 245 seconds). 
23:19:39 <oerjan> which probably means there's also an easy way to think of it without integration 
23:19:44 <shachaf> speaking of integration, what's with forms and pseudoforms 
23:20:07 <oerjan> well actually it's just E(X Y) = E(X) E(Y) when X and Y are independent 
23:20:52 <oerjan> i can say that i'm lucky not to know what pseudoforms are, and have probably never used a form in anger 
23:21:13 -!- _AndoDaan_ has quit (Ping timeout: 256 seconds). 
23:22:18 <oerjan> (never took the differential geometry course, but there were some seminars...) 
23:23:34 -!- Phantom_Hoover has joined. 
23:23:46 <oerjan> so i recall something about dx /\ dy = - dy /\ dx  and de rham something 
23:23:51 -!- Phantom_Hoover has quit (Changing host). 
23:23:51 -!- Phantom_Hoover has joined. 
23:25:03 <oerjan> and this generalizing green's/stokes's/gauss's theorem 
23:25:42 <oerjan> the one integrating around the boundary of a surface 
23:26:00 <oerjan> i think stokes's theorem might also refer _to_ the generalization 
23:26:45 <oerjan> (also integrating on the surface, and those integrals being equal) 
23:27:28 <oerjan> the one on the boundary involved dot product and the one inside cross product with normals iirc 
23:27:28 <shachaf> what's the right way to learn about all this twh 
23:28:15 <oerjan> i dunno i think what i once knew properly about this i learned in the advanced calculus and analytic geometry course 
23:28:40 <oerjan> (but that didn't include the form generalization i think) 
23:28:53 <oerjan> well i think the textbook was Apostol, that rings a bell 
23:29:14 <oerjan> but also i've heard people talking about Spivak 
23:29:27 -!- Lymia has quit (Ping timeout: 264 seconds). 
23:29:31 <oerjan> and also seen the book, nice cartoons 
23:29:58 <oerjan> (spivak would teach the forms) 
23:30:37 <oerjan> i think Spivak is sort of legendary for this 
23:31:10 <oerjan> and of course this was >20 years ago 
23:31:25 -!- `^_^v has quit (Ping timeout: 256 seconds). 
23:32:30 <oerjan> "Spivak is the author of the five-volume A Comprehensive Introduction to Differential Geometry." 
23:32:52 <oerjan> sounds comprehensive all right 
23:33:30 -!- h0rsep0wer has quit (Quit: Leaving). 
23:33:49 <oerjan> "Spivak's book Calculus on Manifolds is also rather infamous as being one of the most difficult undergraduate mathematics textbooks" 
23:34:09 <oerjan> hm i don't actually remember whether it's good or just legendary :P 
23:35:38 <oerjan> and there's Calculus.  not sure which one has the drawings... 
23:37:32 <elliott> http://ssiinnaa.com/wp-content/uploads/2012/09/spivak.differential.geometry.jpeg exclusive picture of me 
23:38:07 <elliott> okay maybe not all of them do... but there's definitely multiple cute spivak covers 
23:38:29 <elliott> http://tensorial.com/math/manifolds/ nice Mathematics Memes 
23:38:36 <oerjan> oh it's a ship of fools 
23:39:29 <oerjan> foo'l you calling a whore 
23:40:43 <oerjan> i think that equation in your link _is_ the generalization of stokes's theorem 
23:41:00 <shachaf> oerjan: I've always seen that one called "Stokes's theorem". 
23:41:02 -!- Frooxius has joined. 
23:41:21 <shachaf> So maybe it's the generalization of some simpler one. 
23:41:26 <oerjan> shachaf: i guess we undergraduates got the cut-down version 
23:41:41 <shachaf> I like it because it looks like an adjunction. 
23:41:54 <shachaf> But I'd like to understand it. 
23:43:36 <oerjan> it probably is, somehow.  everything is. 
23:44:32 -!- mihow has quit (Quit: mihow). 
23:45:46 -!- bb010g has joined. 
23:47:33 <shachaf> oerjan: there was this one picture about this d thing: http://mathoverflow.net/a/10586 
23:51:23 <oerjan> mhm i think i saw something like it in the algebraic topology book 
23:51:40 <oerjan> (which i read way after undergrad) 
23:55:57 <oren> I took Analysis II. Spivak's Calculus on Manifolds was the textbook 
23:56:56 -!- adu has joined. 
23:57:21 <oren> It was hard as hell but I learned a lot 
23:59:14 <oren> Hmm...no wait, it was Analysis on Manifolds 
23:59:57 <oren> if i can find it...