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...