00:00:01 actually I've had a recurring nightmare since I was little and it's never stopped (as opposed to the more classic nightmares involving monsters) 00:00:09 and there's an automaton in it, or something 00:00:20 and the universe always end up implosing and I CAN'T STOP IT 00:00:25 fiora: Cool article. 00:00:34 reproduction, metabolism and 00:00:39 and whenever I wake up after that recurring automaton nightmare I try to make sense out of it but I've never succeeded 00:01:03 dont remember the last conditions 00:01:27 hagb4rd: oh, you mean the definition of real world life? nah that's a hilarious flamewar 00:01:31 simultor metaphysics? 00:01:50 kmc: the real world is running in a simulator 00:02:00 why would reproduction be necessary to define life? 00:02:07 It’s simulators all the way down. 00:02:10 the hashlife idea happens to be applicable to basically any kind of physics where you have a speed of life, so 00:02:14 speed of light* 00:02:28 hashlife is really cool and bike can explain it 100 times better than I can 00:02:52 i vaguely understand it but would appreciate a good explanation 00:03:36 what is a virus? vira don' t have metabolism.. is virus not a life form? i asked myself recently 00:03:39 ok, well, it's pretty easy. what you need is a space you want to simulate, and the physics have to have a speed of light. 00:03:49 -!- nooga_ has quit (Ping timeout: 248 seconds). 00:03:51 but they have dna 00:04:39 you divide space into areas (in Life, squares of width 2^n for some natural n). 00:04:41 hagb4rd, it depends on what you mean by 'life'. There is no 'reality' saying "This is life, and this isn't". The term 'life' is what we define it to be 00:04:59 yea i mean from the point of the biologists 00:05:00 then for each space, you can find what the center of that space will be in some time, due to the speed of light. 00:05:51 i.e., if you have a 2^8 block in Life, the center 2^4 block can be simulated 2^3 steps ahead, without caring about any other 2^8 block, because the speed of light is 1 square per step. 00:06:27 neat 00:07:01 for representing a block of space, rather than tracking the actual Life bitmap or whatever, you just have each block be five pointers (in Life anyway), each to a block half the size of the block. 00:07:08 four quadrants + a cached future center 00:07:16 Hashlife adds to this a hash map of subspaces. 00:07:30 (as a cache, of course) 00:07:52 Koen___: http://xkcd.com/505/ hth 00:08:00 Yeah, the idea is, if you need a new space for whatever reason, you make it out of its linked subspaces, and if those subspaces have been combined before, you can just use that same previous combination. 00:08:04 which might have its future cached. 00:08:09 It turns out that Life tends to have many common subspaces, so doing this lets you skip a lot of combination via memoization. 00:08:14 Erm, computation. 00:08:39 what if i'm simulating life with SKI pikhq, what then 00:08:55 Then you are memoizing combinations as well. :P 00:10:28 aw..you're talking about the game of life 00:10:29 oerjan: yeah that was a really good one 00:11:03 well, if you want real life, virology is pretty interesting 00:11:19 there are viruses that have more protein construction mechanisms than some bacteria 00:11:20 i won't insist but yea 00:11:22 :P 00:11:38 -!- Jafet has quit (Read error: Connection reset by peer). 00:11:41 "mamavirus" because what is even your deal, virologists 00:11:43 -!- nooga_ has joined. 00:12:27 -!- Jafet has joined. 00:12:51 also http://rybicki.wordpress.com/2008/03/19/from-what-did-viruses-evolve-or-how-did-they-initially-arise/ 00:13:01 thx 00:13:21 the idea that viruses have come about originally several times is a pretty neat one, since it's not the case for life in general 00:14:07 i understand it's still a controversial topic 00:14:51 well nobody really understands what the fuck happened with abiogenesis, so there's that. 00:18:34 Gotta love things where we just go "well, it clearly happened" 00:20:20 there's RNA world and clay world and all as hypotheses that are half-plausible but they're still pretty out there 00:20:41 panspermia 00:20:47 for sure 00:20:51 hail the mighty penis in the sky 00:20:55 main that ain't a real solution >: 00:21:09 main ain't usually a function 00:21:26 man* 00:22:01 yeah it isn't 00:22:19 it would be nice if we could at least conclude it, though. 00:23:47 http://en.wikipedia.org/wiki/Category:Borderline_life how useful 00:24:06 neat 00:26:17 -!- nooga_ has quit (Ping timeout: 246 seconds). 00:26:40 borderline useful 00:26:53 viroids are cool and that's that man 00:43:09 Fiyora 00:43:11 Hike 00:43:18 hiii 00:43:20 hatchetaf 00:43:44 um...................the ch is a fricative........................................................... 00:43:57 That sounds like nerd stuff. 00:44:32 so do you hth 00:44:38 :< 00:47:27 -!- Koen___ has quit (Quit: Koen___). 00:47:55 hey Bike write me a limerick 00:48:17 there once was a man from nantucket, whose cock was so long he could suck it, 00:48:52 he said write, not quote, Bike 00:48:55 a good limerick plz thx 00:55:52 Fiora: Do you know about de bruijn sequences? 00:58:35 um... they're the things you can use to do leading-zero count with bit hackiness, right? 01:00:23 Trailing, I thought? Possibly both. Anyway that's one thing you can do with them. 01:00:26 oh that thing that's in sanskrit for some reason. 01:00:26 Also lots of other things. De Bruijn was the best. 01:02:09 other things? I remember looking at the wikipedia article and being a bit confused 01:02:45 Like magic! 01:02:55 ? 01:03:18 i think i am slowly learning how to pronounce 'shachaf' 01:03:37 And, uh, let's say you have a keypad-combination-lock with no termination digit. You can use a de bruijn sequence to figure out the most efficient way to brute-force it! 01:03:47 (Maybe it's not called brute-force at that point...) 01:04:09 I went to a talk which mentioned them. 01:04:25 it's hebrew isn't it? and if i've learned anything from Rugrats it's that i can't pronounce hebrew "ch" 01:04:33 we had a lot of locks like that in college, and people did bruteforce them 01:04:37 שחף hth 01:04:44 except I think they weren't precisely with-no-termination-digit 01:04:59 シャチャフ? 01:05:08 i fucking love that first kana 01:05:24 It looks like a sideways smiley XD 01:05:40 the combination lock thing is neat though 01:05:47 Fiora: I doubt it. The "ch" is as in the recording on https://en.wikipedia.org/wiki/Voiceless_uvular_fricative 01:06:20 oh. darn. I can't kana that 01:06:34 we clearly need hebrew with a japanese alphabet 01:07:15 The effect was something along these lines: He handed out a deck of cards, told a few people to cut it, and then had 5 people take the top card and pass the deck to the person on their right. 01:07:30 I have a lot of trouble with the phonemes that look like "x" in ipa 01:07:37 Then he said "I have a strong sense of red... Stand up if you have a red card". 01:07:42 Then he told everyon what their card was. 01:07:47 Nice. 01:07:56 If you know about de bruijn sequences you can figure out how it works! 01:08:01 I think the Japanese approximation whould be "shahhafu". 01:08:13 シャハフ 01:08:21 (I still like the シ) 01:08:22 There'd be a sokuon there. 01:08:37 it's just so damn happy to be a character 01:08:40 makes sense... doubled-h is kind of a weird thing in japanese 01:09:07 it is, but that's how it's done. 01:09:07 doesn't japanese have "doubled consonants" as a usual thing? 01:09:14 Bach is バッハ 01:09:23 Bike: That particular consonant being doubled is unusual. 01:09:29 oh. 01:09:51 Though not *impossible*. 01:09:57 Admittedly only a thing in loan words. 01:10:37 What are other good applications of de bruijn sequences? 01:11:08 brute forcing code locks? 01:11:23 Maybe if you want to be able to sample all possible sequences of a certain length easily? 01:11:53 olsner: I gave that one. 01:12:22 apparently it has applications in sanskrit prosody 01:12:38 wondering if you could use it in DNA somehow, except that proteins are variably length coded to say the least 01:13:03 I guess de bruijn sequences are related to shift registers somehow? 01:14:57 -!- carado has quit (Ping timeout: 256 seconds). 01:15:24 -!- oerjan has quit (Quit: Ribbit). 01:15:41 -!- mnoqy has joined. 01:26:39 how do you generate de bruijn sequences 01:27:34 http://en.wikipedia.org/wiki/De_Bruijn_sequence#Algorithm something like this I guess? 01:28:31 I wonder if that's really the best way 01:29:03 the problem with that page is that i try to find a euler path in the pictured graph >_> 01:29:26 euler path? 01:29:44 Going to work on Rebol deadfish 01:30:07 Fiora: hit every edge exactly once 01:30:57 well it's supposed to be a cycle also. 01:30:57 And I can't even figure out how to read just one character from the console 01:31:02 Erm, from stdin 01:31:17 Bike: oh, so it's like that puzzle about crossing each bridge once 01:31:26 Fiora: exactly the same puzzle, even 01:31:27 yep 01:31:29 I guess I could try reading the whole thing in, and hoping that it doesn't actually store the whole thing in memory 01:31:31 they're easy to find, unlikel hamiltonian paths 01:31:36 http://en.wikipedia.org/wiki/Seven_Bridges_of_K%C3%B6nigsberg 01:31:37 "de Bruijn sequences can be generated by feedback shift registers" according to http://mathworld.wolfram.com/deBruijnSequence.html 01:31:38 (which visit every vertex once) 01:31:50 i knew it hth 01:32:15 kmc, which makes more sense, a Racket version of Qoppa, or a Rebol version of Qoppa? Racket is more Lispy, but there's less of an impedence mismatch between Rebol and Qoppa than Racket and Qoppa 01:32:45 i don't know 01:33:33 i do not understand the use of "impedence mismatch" here 01:35:19 Racket is a rather static language. Modules are expected to know what values they can export, for example 01:35:55 At ... a point in static analysis... hmm, suddenly I'm not sure whether that might be the case for various proposed module systems for Rebol 01:37:30 At any rate, right now I should be writing some documentation for work 01:37:35 Told my boss I'd do that when I get home 01:39:51 I think Qoppa is closer to Rebol than Racket conceptually 01:40:52 you could also implement Kernel instead of my weird bastardized version of Kernel 01:41:04 but cyclic lists are /so annoying/ kmc 01:41:13 a lot of the changes are just for the sake of the self-hosting trick 01:41:22 in a sense the Qoppa interpreter I posted is a polyglot program 01:41:39 kmc, but didn't you unbastardize the bizarre distinction between functions and operatives? 01:41:43 kinda 01:41:52 but I guess there are some unsavory consequences too 01:42:12 Hmm, such as? 01:44:49 i still don't really get why you all think that distinction is weird 01:45:40 Sgeo: i don't remember, it's in the blog post 01:46:21 Bike: it's just weird because fexprs let you remove so many cases from the evaluator, but then you end up with two cases that are almost the same 01:47:31 what two cases? 01:47:40 for operatives and applicatives 01:47:52 combine applicative combinand env = combine (unwrap applicative) (map (eval env) combinand) env 01:47:52 in Kernel they are distinct fundamental data types 01:47:59 or do i not understand what cases you're talking about 01:48:22 that's a case yes 01:48:22 applicatives aren't really fundamental, they're just a wrapper around operatives 01:48:37 in Kernel they are presented as fundamental 01:48:41 that's what Sgeo and I think is weird 01:49:42 "an applicative is nothing more than a wrapper to induce operand evaluation" doesn't seem that fundamental 01:49:47 and i don't get how the cases are the same? 01:50:06 Bike, the fact that it's physically different than just putting a wrapper around an operand 01:50:16 "physically different"? 01:50:16 -!- Phantom__Hoover has quit (Ping timeout: 246 seconds). 01:50:33 As in, there's an actual distinction, at the language level, saying "these are applicatives", and "these are operatives" 01:50:45 okay, they're not really the same because you can implement one in terms of the other, but it's one more case and one more fundamental data type than I would like to have. 01:50:55 Rather than "everything is an operatives, and some operatives happen to have a wrapper around them that evaluates their arguments when called" 01:51:19 it's just weird that "things which happen to evaluate all their args first" are seen as fundamentally different from "things which may or may not evaluate all their args first" 01:51:32 hm, maybe i'm thinking of it differently since i've been working maru style. 01:51:37 maru style? 01:52:09 you could have generic functions, for example, and use "wrap" on them to get them to evaluate their arguments, even as generic functions have a totally different combination mechanism from operatives 01:52:35 and the applicative path of the evaluator doesn't have to have any idea that the thing it's unwrapping isn't a regular operative 02:00:21 -!- madbr has joined. 02:12:52 @pl \x y -> all ((flip elem) y) x 02:12:53 flip (all . flip elem) 02:13:12 how's @pl work? 02:14:44 it uses Haskell 02:14:45 ) 13 : 'y + y' 02:14:46 Sgeo: + 02:14:59 ) 13 : 'x + x + y + y' 02:15:00 Sgeo: [ + [ + ] + ] 02:16:14 ) 13 : 'x + y + x + y' 02:16:14 Sgeo: [ + ] + + 02:16:20 thx olsner 02:19:44 Phantom_Hoovlogreader: o.O she's named Zhaan? I thought it was Xan! 02:21:23 "What's the most complex thing you do in your kitchen?" "Worry about death." 02:22:01 deep 02:22:21 haha 02:25:09 -!- Bike has quit (Ping timeout: 248 seconds). 02:27:09 -!- Bike has joined. 02:32:43 @showIntAtBase 2 intToDigit 23 "" 02:32:43 Unknown command, try @list 02:33:35 > showIntAtBase 2 (intToDigit 23 "") 02:33:36 The function `GHC.Show.intToDigit' is applied to two arguments, 02:33:37 but its ty... 02:33:48 w/e 02:34:07 > showIntAtBase 2 intToDigit 23 02:34:11 *Exception: show: No overloading for function 02:34:23 @showIntAtBase 2 intToDigit 23 "" 02:34:24 Unknown command, try @list 02:34:28 > showIntAtBase 2 intToDigit 23 02:34:30 *Exception: show: No overloading for function 02:34:33 @more 02:34:46 @lore 02:34:55 @diediedie 02:34:55 Unknown command, try @list 02:35:31 > showIntAtBase 2 intToDigit 23 "" 02:35:34 "10111" 02:36:31 > showIntAtBase 2 intToDigit 23 "bla" 02:36:32 "10111bla" 02:36:40 i'm told that false morels (Gyromitra esculenta) are sold in Finland and eaten after careful preparation 02:37:14 weird brain-looking mushroom. http://en.wikipedia.org/wiki/File:Fr%C3%BChjahrslorchel.JPG 02:37:37 i really don't understand why there is that 2nd argument..does that make any sense? 02:38:07 That mushroom looks like a funnel cake 02:38:46 > intToDigit 15 02:38:48 'f' 02:38:52 > intToDigit 35 02:38:54 *Exception: Char.intToDigit: not a digit 35 02:38:58 > intToDigit 16 02:39:00 *Exception: Char.intToDigit: not a digit 16 02:39:10 anyway it lets you use whatever alphabet you want 02:39:30 > showIntAtBase ("-."!!) intToDigit 23 "" 02:39:31 No instance for (GHC.Real.Integral 02:39:31 (GHC.Types.Int -> GH... 02:39:42 er 02:39:42 > showIntAtBase 2 ("-."!!) 23 "" 02:39:44 ".-..." 02:39:58 > showIntAtBase 2 intToDigit ff 02:40:00 Not in scope: `ff' 02:40:01 Perhaps you meant one of these: 02:40:01 `f' (imported from D... 02:40:30 nah 02:42:00 i'd like to somehow implement a little tool throwing 'i-ching' hexagrams 02:42:23 ~yi 02:42:31 dammit. 02:42:37 well, ~yi does that, if metasepia's around. 02:42:53 oh cool.. 02:43:09 Starting to see some flaws in the Rebol model 02:43:15 http://en.wikipedia.org/wiki/Category:Fungi_of_Finland 02:43:29 For instance, it's difficult to write a thing that puts all setting into a new scope, but leaves others untouched 02:44:03 If you don't look inside nested code, then you can't do sets inside control structures. But if you do, you could get odd behavior if you try to use the same function inside that thing 02:44:28 fwiw, what Rebol does with its context function is not look inside nested blocks 02:44:50 thanks for that hint byte 02:45:08 bike 02:45:13 :P 02:45:50 Maybe an example 02:46:37 >> a: 5 context [a: 6 print a] print a 02:46:41 That prints 6 then 5 02:46:59 a: 5 context [print a a: 6] print a 02:47:02 prints none then 5 02:47:08 Nothing too bizarre so far 02:48:03 a: 5 context [if 0 < 1 [a: 6] print a] print a 02:48:06 Prints two 6s 02:56:07 There's a hack that can be done to do varargs in Rebol 3. Apparently it's slated for removal 03:05:20 And I found a hack that doesn't need that hack 03:12:10 -!- mnoqy has quit (Quit: hello). 03:47:09 -!- mnoqy has joined. 05:15:49 -!- madbr has quit (Ping timeout: 248 seconds). 05:27:52 -!- Nisstyre has quit (Quit: Leaving). 05:56:23 -!- mnoqy has quit (Quit: hello). 06:22:05 -!- zamlierza has joined. 06:22:08 I'm currently working on my first compiler, for a lisp-like language, written in Common Lisp (sbcl). Recently I've been playing with Racket. Is anyone else here using one of the lisps? 06:22:33 esoteric lisp? 06:24:05 Bike: Sure 06:24:37 i'm just wondering why you're asking here 06:30:34 `WeLcOmE zamlierza 06:30:40 ZaMlIeRzA: wElCoMe tO ThE InTeRnAtIoNaL HuB FoR EsOtErIc pRoGrAmMiNg lAnGuAgE DeSiGn aNd dEpLoYmEnT! fOr mOrE InFoRmAtIoN, cHeCk oUt oUr wIkI: hTtP://EsOlAnGs.oRg/wIkI/MaIn_pAgE. (FoR ThE OtHeR KiNd oF EsOtErIcA, tRy #EsOtErIc oN IrC.DaL.NeT.) 06:31:36 -!- Nisstyre-laptop has joined. 06:36:06 -!- FreeFull has quit. 06:45:07 -!- Frooxius has quit (Read error: Connection reset by peer). 06:45:15 -!- Frooxius_ has joined. 06:48:18 kmc: lens has a good intatbase thing 06:48:45 > "hello" ^? base 23 06:48:47 Nothing 06:48:48 > "hello" ^? base 28 06:48:49 Just 10773556 06:49:21 > base 36 # 12344321 06:49:23 "7ckxt" 06:49:27 :t (^?) 06:49:29 s -> Getting (First a) s a -> Maybe a 06:49:38 :t base 06:49:40 (Integral a, Applicative f, Choice p) => Int -> p a (f a) -> p String (f String) 06:49:54 hi Bike want to learn about lens 06:50:11 what is lens, really? we just don't know 06:50:13 :t (#) 06:50:15 parse error on input `)' 06:50:42 @ty ( # ) -- interferes with a GHC extension for (# ... #) tuple syntax 06:50:43 AReview s t a b -> b -> t 06:50:55 lens is a library for a bunch of things, including lenses. 06:51:11 And prisms, which are colenses. (base n) is a prism. 06:51:32 lens is a getter and a setter, you said. what's a colens. 06:52:20 Well, a colens is to a sum what a lens is to a product. 06:52:26 Do you know about sums and products? 06:52:35 not really. 06:52:54 (a,b) is a product, (Either a b) is a sum. 06:53:05 And all things which behave like tuples or Eithers. 06:53:33 If A has n inhabitants and B has m inhabitants, then (A,B) has n*m and (Either A B) has (n+m) 06:53:43 right 06:53:55 So you see how a lens is for a product? 06:54:03 data Foo = Foo { one :: Int, two :: Char } 06:54:25 You can have a "one" lens which lets you do two things: Read the "one" value, and change the "one" value to some new Int. 06:54:46 Similarly: 06:54:51 data Bar = One Int | Two Char 06:55:01 You can have a "One" prism which also lets you do two things: 06:55:13 The things are Int -> Bar and Bar -> Maybe Int 06:55:17 I'm still back at lenses being products. 06:55:26 Oh, lenses are *for* products. 06:55:32 "for"? 06:55:33 Since Foo is a product type (of Int and Char). 06:55:40 oh. 06:55:44 ok, that makes sense. 06:55:54 Bar is a sum type of Int and Char. 06:55:59 I'm working on a genetic program for the creation and optimisation of ciphers, whilst the optimisations still in process here're some early results: http://pastebin.com/GKwfKENX http://pastebin.com/FQdMNqFZ 06:56:12 data Bool = False | True; data Color = Red | Green | Blue 06:56:38 Actually, never mind. 06:56:46 Anyway, which part is confusing right now? 06:56:56 zamlierza: the second one is admirably hard to read 06:57:10 Bike: That is the fun of this channel! 06:57:11 shachaf: nothing in particular, that made sense. i'm just sleepy. 06:57:23 Good! 06:57:37 A traversal is like a lens onto more than one value. 06:57:46 Well, onto zero or more values. 06:57:47 So what's base operating on? or ok something else 06:58:19 Oh, base is on a "conceptual" sum, not an actual sum type. 06:58:29 well yeah. 06:58:34 but what's the concept. 06:58:58 Well, base is a prism. 06:59:08 The two prism functions are called review and preview 06:59:33 A string is sort of like a sum: Either it has a valid base-N value or an invalid value. 07:00:03 is Either in the Choice class? 07:00:08 But given a base-N value you can always turn it into a string. 07:00:21 I'm thinking of having it automatically encrypt an input of all Falses, deducting abs(sum(map(lambda x: 1 if >= 0 else -1,output))) this will ensure precedence to even distribution, seems to be the simplest part. For the main challenge; avoiding recurrent patterns, I'll be using something along the lines of. http://pastebin.com/5LvxG01V 07:00:21 No, Choice is something more complicated. 07:00:28 It has to do with the representation of prisms lens uses. 07:00:30 right, of course. 07:00:42 obviously accompanied by a similar function for handling lists of recurring True's or False's 07:00:43 :t base 36 07:00:44 (Integral a, Applicative f, Choice p) => p a (f a) -> p String (f String) 07:00:54 I'll upload what I've got so far if anyones got any idea's, otherwise I'll wait until it's at a functioning point. 07:00:56 I can explain that representation but that should be a separate thing. 07:01:06 yeah, don't let me derail you 07:01:24 What's derailing me is multisecond latency from my computer to my IRC client. 07:01:42 what's derailing me is multisecond latency from my brain to my blinking 07:01:46 obviously accompanied by a similar function for handling lists of recurring True's or False's 07:02:05 http://pastebin.com/J8Aer7Rx I'm going with that for now. 07:02:12 :-( 07:02:21 It's not genetic yet but I'll build from this: http://pastebin.com/E4dGw97L 07:02:26 So close, zamlierza. Socloszamlierza. 07:02:30 man, paste is not doing that indentation good 07:03:21 Bike: Am I going on and talking about the representation of lenses? 07:03:28 Thoughts? :D 07:03:38 is it supposed to have a huge amount of copy-pasted code? 07:04:20 shachaf: if you go on i'll listen. you had explained how a string can be interpreted wrt numerical bases as a prism, and were about to explain review and preview maybe. 07:04:34 > review _Left "hello" 07:04:36 Left "hello" 07:04:44 > preview _Left (Left "hi") 07:04:45 Just "hi" 07:04:47 > preview _Left (Right "hi") 07:04:48 Nothing 07:04:57 That's all there is to them. They take the two components of a prism. 07:05:23 i see. 07:05:26 :t review 07:05:27 MonadReader b m => AReview s t a b -> m t 07:05:32 no dont.......... 07:05:37 :t _Left 07:05:38 (Applicative f, Choice p) => p a (f b) -> p (Either a c) (f (Either b c)) 07:05:55 :t preview 07:05:56 MonadReader s m => Getting (First a) s a -> m (Maybe a) 07:05:57 _Left :: Prism (Either a c) (Either b c) a b 07:06:05 i remember y'all complaining about whoever's bizarre type signatures in lens 07:06:17 Um, the Prism ones are kind of my fault. 07:06:30 (To be fair it was even worse back in the day.) 07:06:37 you bastard 07:07:11 do you know the following things: mapM; Applicative; Traversable 07:08:12 Uh, the first two. 07:08:19 OK. 07:08:35 Traversable is just a generalization of mapM with Applicative. 07:08:49 You know how mapM could get away with just requiring Applicative instead of Monad? 07:09:15 yeah. 07:09:42 OK, so let's pretend mapM uses Applicative instead of Monad from now on. 07:09:43 Do you know Functor? 07:09:59 traverse generalizes mapM the same way fmap generalizes map 07:10:43 ok. 07:11:34 OK. 07:11:49 So let's define some functions. 07:12:08 one :: (a -> b) -> (a,e) -> (b,e) 07:12:18 two :: (a -> b) -> (e,a) -> (e,b) 07:12:25 both :: (a -> b) -> (a,a) -> (b,b) 07:12:31 Good functions, right? 07:12:36 p. good 07:13:07 These are sort of like fmap, except instead of using a type class to decide what to map over, we just name a function explicitly. 07:14:20 So these are "map" functions -- they let us modify a value/values -- but not "mapM" functions -- we can't have effects. 07:14:43 But we can generalize them in a pretty simple way to be "mapM" functions. 07:14:50 Can you generalize them for me? 07:15:48 one :: Monad m => (a -> m b) -> (a, e) -> m (b, e) maybe 07:15:50 probably not 07:16:12 Yep. 07:16:27 Except you don't need Monad. You can manage with Applicative, or even just Functor. 07:16:30 yep not, or yep yep 07:16:34 ok. 07:16:35 Yep yep. 07:16:48 the thing where monads aren't functors seems sillier and sillier. 07:16:54 Yep yep yep. 07:17:32 Can you implement one? 07:19:11 http://www.youtube.com/watch?v=KTc3PsW5ghQ 07:19:18 yip yip yip yip yip yip yip 07:19:44 Hmm, they're talking too much in English. 07:20:47 I don't see how to do it with functor. 07:21:02 You have to use fmap. 07:21:16 Do you see how to do it with MOnad? 07:21:43 https://www.youtube.com/watch?v=ePN5z-6MSoI 07:22:14 uh.... i don't think i do, no 07:23:18 OK, start by writing the regular one. Then oneM/oneF/whatever. 07:24:00 one f (a, e) = (f a, e) 07:24:07 It's a very put-the-pieces-together sort of puzzle. 07:24:15 Right. 07:24:23 oneM f (a, e) = ... 07:24:53 > let oneM :: Functor f => (a -> f b) -> (a, e) -> f (b, e); oneM f (x, y) = ?hi f x y 07:24:55 not an expression: `let oneM :: Functor f => (a -> f b) -> (a, e) -> f (b, ... 07:25:00 @ty let oneM :: Functor f => (a -> f b) -> (a, e) -> f (b, e); oneM f (x, y) = ?hi f x y in oneM 07:25:01 Could not deduce (?hi::(a1 -> f1 b1) -> a1 -> e1 -> f1 (b1, e1)) 07:25:01 arising from a use of implicit parameter `?hi' 07:25:01 from the context (Functor f) 07:25:22 We have three "ingredients": (a1 -> f1 b1), a1, e1 07:25:36 We have to produce f1 (b1, e1) 07:25:41 We're also allowed to use fmap 07:26:35 What might be our first step? 07:27:22 kmc: those aliens are so great 07:28:24 :) 07:28:30 i should learn all this lens stuff 07:28:36 it might be an excuse to get excited about Haskell again! 07:29:07 lens is p. fun 07:29:21 there's an edwardk presentation video about it if you want to watch that 07:29:33 the last time I disappeared from Haskell for a while, I came back and everyone was talking about this newfangled Applicative thing and I had to learn that 07:29:44 Applicative is p. good 07:29:59 in fact the rumour is that it might become a superclass of Monad in ghc 7.10 or so.......................... 07:30:05 :) 07:30:36 i was "into lens for" a while: https://github.com/ekmett/lens/contributors 07:30:48 but now nobody is committing 07:31:03 edwardk is, like, into his new databases and stuff 07:31:34 i don't get how this is possible. to get an f1 (b1, e1) there's no other way but fmap, so we need an f1 (a1, e1), but we have no way to get that 07:32:05 You need (f1 something) 07:32:11 But that something needn't be a tuple. 07:32:32 It just needs to be something that you can turn into (b1, e1) 07:33:04 god, i'm so slow 07:34:10 oneF f a b = fmap (\b -> (b, e)) (f a) maybe 07:34:14 fab 07:34:23 y es 07:34:28 oneF f (a,e) b rather 07:34:40 Er, n ot y es. 07:34:46 And not that either. It only has two arguments. 07:34:54 oneF f (a,e) 07:34:56 thinking is hard 07:35:10 oneF f (x,y) = fmap (\x' -> (x', y)) (f x) 07:35:28 oneF f (x,y) = (,y) <$> f x -- if you like this sort of thing 07:35:29 is that what i said with different letters? i literally can't tell right now 07:35:36 It is. 07:35:40 k 07:35:49 Now write both 07:36:00 both :: Applicative f => (a -> b) -> (a,a) -> f (b,b) 07:36:23 (By the way, you might be so tired you can't tell, but I'm so tired I'm explaining everything badly. So if you have to blame someone blame me. hth) 07:36:30 i refuse 07:36:33 to blame 07:37:32 Anyway, so the great thing about this is that it lets you read as well as write. 07:37:44 OK, I'm not making any sense anyway. 07:38:00 the part of it i read made sense! 07:38:19 was that "none of it" 07:38:41 OK, let's go backward a bit. 07:38:46 Or not. 07:38:46 help 07:39:08 -!- epicmonkey has joined. 07:39:48 ok will say nothing until someone else says something 07:39:55 i'm still thinking!! 07:39:57 i told you it was hard 07:40:33 -!- zamlierza has quit (Ping timeout: 250 seconds). 07:40:34 no it was "some" 07:41:28 -!- Phantom_Hoover has joined. 07:45:38 ok i'm declaring myself too tired to thinking through this because jfc it's been ten minutes and this is not hard 07:45:47 thanks for the random explanation, i'll think about it tomorrow 07:45:56 wait, what are you thinking about 07:46:05 both 07:46:08 oh 07:46:25 you have to use Applicative 07:46:28 can't do it with Functor 07:46:36 which means you get to use liftA2 07:46:39 @ty liftA2 07:46:41 Applicative f => (a -> b -> c) -> f a -> f b -> f c 07:48:02 oh. well. 07:48:28 Remember, it's just mapM for tuples. 07:50:41 both f (a,a') = liftA2 (,) (f a) (f a') 07:51:32 Yep. 07:51:55 :t uncurry 07:51:56 (a -> b -> c) -> (a, b) -> c 07:52:12 Now, exercise: Write oldBoth using both. 07:52:44 (I'm too tired to explain things so I'm just giving exercises instead.) 07:52:48 oldBoth :: Applicative f => (a -> b) -> (a,a) -> (b,b) you mean? 07:52:50 -!- nooga has joined. 07:52:57 er, w/o restriction. 07:53:13 Yes. 07:53:26 By the way, we define type synonyms for these things. 07:53:40 In theory we could just say type Mapper s a = (a -> a) -> s -> s 07:53:50 And then oldBoth :: Mapper (a,a) a 07:53:54 But then we can't change the type. 07:54:04 So we write type Mapper s t a b = (a -> b) -> s -> t 07:54:09 oldBoth :: Mapper (a,a) (b,b) a b 07:55:02 -!- epicmonkey has quit (Ping timeout: 256 seconds). 08:03:07 Bike: perhaps tomorrow, a lensson 08:18:30 -!- ais523 has quit. 08:34:26 -!- conehead has quit (Quit: Computer has gone to sleep.). 09:06:09 -!- epicmonkey has joined. 09:39:40 -!- lambdabot has quit (Ping timeout: 260 seconds). 10:29:25 -!- nooodl has joined. 10:29:54 -!- Frooxius_ has quit (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204]). 10:30:09 -!- Frooxius has joined. 10:34:48 -!- carado has joined. 10:45:24 -!- augur has quit (Read error: Connection reset by peer). 10:56:42 -!- sacje has quit (Quit: sacje). 11:23:43 -!- Koen_ has joined. 11:46:10 -!- HackEgo has quit (Remote host closed the connection). 11:46:20 -!- HackEgo has joined. 11:57:11 -!- oerjan has joined. 12:03:42 -!- olsner has quit (Ping timeout: 264 seconds). 12:06:54 anyway it lets you use whatever alphabet you want <-- of course someone should have noticed that it's stupid to restrict it to Char... 12:15:42 -!- olsner has joined. 12:27:54 -!- olsner has quit (Ping timeout: 240 seconds). 12:30:40 -!- boily has joined. 12:30:43 -!- metasepia has joined. 12:40:41 -!- olsner has joined. 12:43:31 http://en.wikipedia.org/wiki/File:Timeline_of_cool.svg this is a terribly confusing chart 12:45:32 -!- mroman has joined. 12:46:05 -!- mroman has left. 12:46:17 s/confusing/depressing/ 12:46:28 everything getting borg'ed into dance/techno... 12:47:45 no no, clearly we'll be saved by something coming out of the preppy ennui hth 12:48:03 just take care of your sangfroid man 12:48:45 oerjan: that's good advice. 12:48:50 (btw, what's preppi ennui?) 12:48:55 s/i\b/y/ 12:49:08 s/uy/ui/ 12:49:36 i think it means something like bored upper-class 12:50:10 that doesn't help me much about how it sounds. 12:50:15 * boily youtubes that... 12:50:29 prep-ee ennue 12:50:31 *ennui 12:51:04 5 hits for “preppy ennui”. go, youtube, go! 12:51:23 -!- olsner has quit (Ping timeout: 240 seconds). 12:51:50 and no wiki article. what the fungot is this unknown musical current. it must be hipster as hell. 12:52:12 oh, an fizzie: FUNGOOOOOOOOT! 12:52:16 (pretty please :D) 12:52:51 hm. no fizzie. 12:53:00 @tell fizzie AAAAAAAAAAAAAAAAAAAAAAAAAAAAAfungotAAAAAAAAAAAAAAAAAAH! 12:53:11 ... 12:54:43 boily: um the chart is not basically about music hth 12:55:26 `seen fizzie 12:55:31 2013-06-03 17:46:37: I've installed that "Hacker's Keyboard" thing from the market to my Android thing. But maybe it's not all that combattible. 12:57:29 oerjan: indeed. there is dadaism and surrealism and other stuff. I got distracted by the bottom section and the geographical locations. 13:04:16 -!- olsner has joined. 13:08:44 -!- metasepia has quit (Remote host closed the connection). 13:08:46 -!- boily1 has joined. 13:10:14 -!- mysanthrop has joined. 13:10:28 -!- myname has quit (Ping timeout: 264 seconds). 13:10:28 -!- boily has quit (Read error: Connection reset by peer). 13:11:20 -!- Gregor has quit (Ping timeout: 264 seconds). 13:11:58 -!- olsner has quit (Ping timeout: 291 seconds). 13:12:23 -!- olsner has joined. 13:12:29 -!- HackEgo has quit (Write error: Broken pipe). 13:18:01 -!- sebbu2 has joined. 13:19:05 -!- HackEgo has joined. 13:21:36 -!- sebbu has quit (Ping timeout: 253 seconds). 13:23:00 -!- oerjan has quit (Quit: leaving). 13:23:41 -!- olsner has quit (Ping timeout: 245 seconds). 13:26:13 -!- boily1 has changed nick to boily. 13:27:13 -!- augur has joined. 13:36:07 -!- olsner has joined. 13:37:24 -!- TodPunk has quit (Read error: Connection reset by peer). 13:37:37 -!- TodPunk has joined. 13:40:55 -!- olsner has quit (Ping timeout: 241 seconds). 13:41:16 -!- epicmonkey has quit (Ping timeout: 256 seconds). 13:41:32 -!- epicmonkey has joined. 14:06:00 * nooodl 14:08:37 -!- Jafet1 has joined. 14:10:45 -!- Jafet has quit (Ping timeout: 248 seconds). 14:16:23 -!- jsvine has joined. 14:36:53 -!- MindlessDrone has joined. 14:38:08 -!- Phantom__Hoover has joined. 14:41:37 -!- heroux has quit (Ping timeout: 256 seconds). 14:43:09 -!- heroux has joined. 14:49:48 -!- augur has quit (Read error: Connection reset by peer). 14:49:53 -!- augur_ has joined. 14:51:39 oerjan: do you know who 76.100.81.188 is? 14:53:08 -!- Jafet has joined. 14:54:27 -!- Koen_ has quit (Quit: Koen_). 14:54:54 -!- Jafet1 has quit (Ping timeout: 240 seconds). 15:06:41 -!- Phantom__Hoover has quit (Ping timeout: 248 seconds). 15:11:05 -!- Jafet has quit (Read error: Connection reset by peer). 15:12:54 -!- Jafet has joined. 15:21:36 -!- MindlessDrone has quit (Quit: MindlessDrone). 15:28:24 -!- metasepia has joined. 15:34:55 -!- Jafet1 has joined. 15:35:33 -!- Jafet has quit (Ping timeout: 248 seconds). 15:39:13 -!- MindlessDrone has joined. 15:46:50 -!- MindlessDrone has quit (Quit: MindlessDrone). 15:50:22 -!- MindlessDrone has joined. 15:54:38 -!- Taneb has joined. 15:59:46 -!- Jafet1 has quit (Quit: Leaving.). 15:59:56 -!- epicmonkey has quit (Ping timeout: 245 seconds). 16:19:45 -!- conehead has joined. 16:25:42 -!- TeruFSX has quit (Ping timeout: 248 seconds). 16:33:54 -!- sebbu2 has changed nick to sebbu. 16:43:15 -!- jsvine has quit (Quit: Leaving.). 16:51:33 -!- FreeFull has joined. 16:54:54 -!- ggherdov has quit (Ping timeout: 240 seconds). 16:55:21 -!- ssue_ has quit (Ping timeout: 245 seconds). 16:58:04 -!- oerjan has joined. 17:01:10 @tell Koen_ No; their only other edit is to Talk:Jug. 17:01:38 oerjan: hey 17:01:57 hallo 17:07:10 -!- TeruFSX has joined. 17:11:36 argh the daystar, through my window! 17:13:05 oerjan: That is why we do not go into it without our abjurations. Protection from Daylight. 17:13:43 (hth) 17:13:54 thank you, malachaf 17:14:46 protection from the daystar is an abjuration? 17:15:02 -!- jsvine has joined. 17:15:04 apparently 17:16:19 http://www.giantitp.com/comics/oots0882.html 17:17:41 you're welcome, doerjan 17:17:47 doerkjan? 17:19:05 durjan, obviously 17:19:09 Is there a place that has good transcriptions of every oots comic? 17:19:32 -!- epicmonkey has joined. 17:19:37 i dunno 17:19:40 du̸rjan 17:19:45 d̸urjan 17:19:47 hlep 17:20:11 * oerjan cast Harm on shachaf 17:20:14 *+s 17:23:13 thx 17:23:41 sharm? 17:25:43 oerjan: when are we getting 892 hth 17:26:25 when the stars are right hth 17:31:27 ~metar CYUL 17:31:27 CYUL 061700Z 09005KT 10SM -RA SCT055 OVC075 15/08 A3017 RMK SC3AC5 SLP216 17:33:56 -!- mysanthrop has changed nick to myname. 17:36:23 -!- nooga has quit (Ping timeout: 240 seconds). 17:51:24 -!- Taneb has quit (Quit: Leaving). 17:59:33 -!- drlemon has joined. 17:59:52 -!- drlemon has left. 17:59:58 -!- drlemon has joined. 18:05:31 -!- oklopol has joined. 18:36:37 -!- drlemon has left. 18:55:15 -!- ggherdov has joined. 18:55:51 -!- ssue__ has joined. 19:19:05 -!- MindlessDrone has quit (Quit: MindlessDrone). 19:33:31 -!- conehead has quit (Ping timeout: 264 seconds). 19:34:28 -!- conehead has joined. 19:40:50 -!- juancho_merida has joined. 19:41:36 -!- nooga_ has joined. 19:42:13 -!- ale1 has joined. 19:48:23 -!- Bike has quit (Ping timeout: 240 seconds). 19:48:27 -!- Bike_ has joined. 19:51:07 holaaaa 19:51:09 s 19:51:50 -!- Bike_ has changed nick to Bike. 19:52:11 xds 19:52:44 -!- ale1 has quit (Read error: Connection timed out). 19:53:51 -!- ale1 has joined. 19:54:07 -!- ale1 has left. 19:55:38 -!- juancho_merida has quit (Read error: Connection timed out). 20:02:23 -!- kappabot has joined. 20:02:32 > text "ꙮ" 20:02:33 ꙮ 20:05:42 ~eval text "seems that I don't have this character, or rxvt is being mean to me again." 20:05:42 boily: You have 1 new message. '/msg kappabot @messages' to read it. 20:05:44 Error (1): 20:05:46 ~eval text "seems that I don't have this character, or rxvt is being mean to me again." 20:05:48 Error (1): Not in scope: `text' 20:05:48 Perhaps you meant `next' (imported from System.Random) 20:06:05 :t text 20:06:07 String -> Doc 20:06:19 oerjan: tomorrow. it's past 4pm now. 20:07:21 wat 20:08:08 you said about three weeks ago: “whack me in the morning.” 20:08:29 that's some late morning. 20:08:34 I don't remember why I had to whack you, but I'm a honest man who keeps his promises. 20:08:45 *an honest 20:08:52 même chose. 20:09:05 yes, it's quite a french error to do 20:09:49 so, would 9am EST suit you? 20:10:05 what's that in UTC 20:10:11 13pm. 20:10:16 aurgh. 20:10:18 "13pm"... 20:10:23 yay 20:10:24 you didn't see nothing. 20:10:45 well i cannot _guarantee_ i'll be up by then, since i barely was today 20:10:56 oh wait 20:11:30 i'm not on UTC. ok that could be enough. 20:11:35 @yow! 20:11:36 Yow! Is my fallout shelter termite proof? 20:11:40 ~fortune 20:11:40 This fortune intentionally says nothing. 20:11:59 fiendish 20:12:26 @fortune 20:12:27 Down with categorical imperative! 20:12:49 maybe i should eat an apple, seeing as i unusually bought some 20:14:12 *munch* 20:14:35 * oerjan health freak. or was it freaky health. 20:15:08 shachaf: those are some general fortunes 20:15:58 I have some “MIX RICE CRACKERS” on my desk. their ingredients are: RIZ GLUANT,SAUCE SOYA,TAPI. 20:16:14 what in fungot's name is TAPI, I have no idea. 20:16:43 it's tapirs, they just got cut off hth 20:17:24 @fortune 20:17:25 Maj. Bloodnok:Seagoon, you're a coward! 20:17:25 Seagoon:Only in the holiday season. 20:17:25 Maj. Bloodnok:Ah, another Noel Coward! 20:17:41 @fortune 20:17:42 Reconciliation 20:17:42 20:17:42 When conflict is reconciled, some hard feelings remain; 20:17:42 This is dangerous. 20:17:42 The sage accepts less than is due 20:17:44 [6 @more lines] 20:17:49 @more 20:17:49 And does not blame or punish; 20:17:50 For harmony seeks agreement 20:17:50 Where justice seeks payment. 20:17:52 The ancients said: "nature is impartial; 20:17:52 ok 20:17:54 Therefore it serves those who serve all." 20:17:56 -- Lao Tse, "Tao Te Ching" 20:18:10 i thought it would be an entry from the devil's dictionary hth 20:18:17 ~fortune 20:18:17 What does "it" mean in the sentence "What time is it?"? 20:18:21 i can't get over his name sounding like "lousy" 20:18:40 Bike: it doesn't sound like lousy hth 20:18:43 now you can get over it 20:18:47 boily: which ~yi entry is the above @fortune for twh 20:18:55 ok 20:19:28 `? twh 20:19:30 twh? ¯\(°_o)/¯ 20:20:13 Bike: yeah those chinese have such confusious names 20:20:23 ~yi 20:20:23 Your divination: "Gnawing Bite" to "Brightness Hiding" 20:20:31 obviously. 20:20:36 why did I code that again... 20:20:56 to know your fate, obviously 20:25:10 -!- Bike has quit (Ping timeout: 276 seconds). 20:39:35 -!- Bike has joined. 20:58:39 What was the packagey thing that had unsigned/verified/etc. packages and somebody wrote a quick exploit for it? 21:02:26 -!- comex has changed nick to HARLOT_SAFE. 21:04:01 HARLOT_SAFE: is that safe for harlots or safe from harlots? 21:04:59 oerjan: neither: it means I'm safe from being a werewolf because the harlot visited me :) 21:05:34 OKAY 21:07:00 -!- HARLOT_SAFE has changed nick to co. 21:08:17 -!- category has joined. 21:08:26 co: you don't scare me! 21:08:44 ] 21:08:44 ] 21:08:44 ] 21:08:44 ] 21:08:45 ] 21:08:48 whoa 21:08:50 oops 21:08:50 copumpkin: i think your services are required 21:09:08 ignore the elliott spam thx 21:09:18 elliott: you should play wolfgame 21:09:46 [[[[[ 21:10:00 oerjan: you should op me so I can kick myself for spamming 21:10:10 no, op me 21:10:14 -!- mnoqy has joined. 21:10:21 op mnoqy 21:10:35 i'm telling you to op me!!!!!!!!! 21:10:35 * oerjan suddenly envisions there being a huge amount of opening brackets at the big bang and closing brackets at the other end to balance out the universe 21:10:38 it is a categorical imperative 21:11:08 category: hi shachaf 21:11:12 mnoqy: hi 21:11:29 i believe kappabot has already started a rebellion against those, category 21:11:36 @fortune 21:11:36 Rincewind formed a mental picture of some strange entity living in a castle 21:11:37 made of teeth. It was the kind of mental picture you tried to forget. 21:11:37 Unsuccessfully. 21:11:37 -- Terry Pratchett, "The Light Fantastic" 21:11:44 has anyone actually read kant (i haven't) 21:11:53 Bike: i tried to but... i kant 21:12:02 Bike: i tried, but i kouldnt do it 21:12:12 shachaf > elliott 21:12:18 srry just the facts 21:12:44 -!- category has changed nick to kategory. 21:13:18 /quit 21:13:19 \quit 21:13:21 help 21:13:25 |quit 21:13:45 hi 21:13:57 ¦quit 21:14:17 ☺quit 21:14:23 ☹quit 21:14:30 ꙮquit 21:14:39 mnoqy: did you hear my limerick the other day 21:14:47 was it good 21:14:53 p. good 21:17:32 Ꙭ 21:18:19 ͜ 21:18:33 hmm 21:18:36 Ꙭ 21:18:41 ͝ 21:18:49 or 21:18:50 Ꙭ 21:19:09 ☺͜ 21:19:20 ☺͜☺ 21:19:30 mnoqy: look at this innovations 21:20:16 yeah 21:22:36 i know what ive 21:23:18 vait a moment 21:23:22 *vat 21:23:23 oerjan: did you see my limerick 21:23:28 p. good huh 21:23:41 was this the one with multiocular o 21:23:47 of course 21:24:20 -!- conehead has quit (Ping timeout: 260 seconds). 21:30:01 http://www.nsa.gov/kids/ oh yes. 21:31:10 i agree with bike 21:31:19 -!- co has changed nick to twilight_sparkle. 21:31:40 On this site, you can learn all about codes and ciphers, play lots of games and activities, and get to know each of us - Crypto Cat®, Decipher Dog®, Rosetta Stone®, Slate®, Joules™, T.Top®, CyberTwins™ Cy and Cyndi, and, of course, our leader CSS Sam®. 21:31:46 m chocolate covered peanuts 21:31:49 -!- twilight_sparkle has changed nick to Guest741. 21:31:56 I don't know why some are trademarked and some are copyrighted. 21:32:00 Bike: my gosh, that is amazing. 21:32:06 -!- Guest741 has changed nick to comex. 21:32:20 im gonna play operation:dit-dah 21:32:41 oh it's just doing morse code 21:32:45 maybe they have other games 21:33:01 Yardleygrams - Only SUPER cipher solvers can crack these cipher stories 21:33:24 4096-bit RSA 21:33:29 Coloring Pages - Print and color your favorite member from the CryptoKids 21:33:34 i think this is the game for me 21:37:06 -!- boily has quit (Quit: Poulet!). 21:37:07 -!- metasepia has quit (Remote host closed the connection). 21:37:33 Bike: so nsa is advertising to furries now 21:37:51 america's future yiffers 21:38:28 it's not uncommon to use anthropomorphic animal friends for things directed at children 21:38:37 maybe this is a two birds with one stone sort of deal 21:38:44 http://www.topatoco.com/merchant.mvc?Screen=PROD&Store_Code=TO&Product_Code=CG-FCA&Category_Code=WON 21:39:03 these things look a bit "fursona" to me, mnoqy 21:39:07 Existentialists Do It Pointlessly 21:39:17 haskellers do it pointlessly 21:39:32 whatt's, "it", here 21:39:35 #haskellers do it in stereo 21:39:46 mnoqy: the nasty hth 21:39:56 lots of things are nasty, bike 21:40:00 you'll have to be more specific 21:40:07 the nasty 21:40:07 like is it boogers??? those are pretty nasty 21:40:08 Bike: http://www.thestrong.org/online-collections/images/Z003/Z00361/Z0036126.jpg 21:40:12 this is how I learned to type when I was um... about 6 21:40:33 Bike: Copyrighted? 21:40:41 is that a 5 ½ floppy 21:40:48 shachaf: that's ® isn't it 21:40:51 Bike: ™ and ® are both trademarks. The latter is a registered trademark. 21:40:57 Oh. 21:40:58 I think it was a CD 21:41:01 oops. 21:41:01 It's for windows 95 21:41:01 Copyright is ©. 21:41:03 oh. it was 1997. 21:41:06 i remember a bunch of anthro from my kiddo years 21:41:07 so 7 years old I guess? 21:41:13 like richard scarry's busytown 21:41:17 i think i learned typing from... something like that but with less animals 21:41:21 lots of games with animals though 21:41:35 busytown was p. cool 21:41:40 Bike: did you see my limerick 21:41:45 https://upload.wikimedia.org/wikipedia/en/9/94/RichardScarrysBusytown.PNG 21:41:54 mnoqy++ # https 21:41:55 yes 21:42:08 good 21:42:16 the typing game had all these cool little minigames 21:42:18 shachaf: you should be ++ing about that amazing picture not the https 21:42:21 so now that people are here do any of them know the answer to my earlier question about: hackage or something exploits 21:42:27 like I remember one which was like a wild west shootout except you had to type to take out the bad guys 21:42:30 Fiora: typing of the dead 21:42:34 yeah, I was thinking the same thing <.< 21:42:44 that was a cool game 21:42:45 resident evil, high wpm edition 21:43:07 what's your wpm per minute 21:43:07 huckle cat & lowly worm 21:44:27 oh wow typing of the dead has a pc version 21:44:36 ive played a few typing games in my time but they never really helped me...i learned to type once i started typing things like the compute code's 21:45:23 "About 500,000 Lowly Worm and Huckle Cat finger puppets, distributed by Taco Bell in 1993, were voluntarily recalled by Taco Bell following complaints that the puppets had gotten stuck onto children's tongues." 21:45:31 in typing class i mostly just played Bolo 21:45:32 good times 21:45:56 I played Paws a lot about the same time as learning piano 21:46:00 it kind of synergized I think 21:46:43 -!- epicmonkey has quit (Ping timeout: 264 seconds). 21:47:19 Bike: hackage exploits aren't really impressive because like... 21:47:34 Bike: literally anyone with a hackage account can upload a new version of any package 21:47:41 it's like breaking into a house with no doors 21:47:46 ok well 21:47:57 it's prettty hard to break into a house with no doors 21:48:01 how about a house made of doors 21:48:04 i could upload a new version of parsec right now 21:48:07 this other packagey thing uses http without auth or anything and a recent kmc tweet made me think "wait that's a bad thing" 21:48:31 the thing with hackage is like 21:48:37 you can't even secure it like distro stuff 21:48:45 because that involves trusting your distro people 21:49:00 with hackage the problem is that you... don't trust anyone you're getting the code from 21:49:15 look maybe i meant cabal or ruby gems or whatever, it could be anything 21:49:57 it's true of rubygems too, it's true of all systems like this that aren't "actual package managers" 21:50:05 is what i'm saying 21:50:16 ok 21:50:56 i mean you can still improve the security under the assumption that you trust the maintainers of the packages being installed 21:51:07 it's just that that is basically never the case, is all I'm saying 21:51:54 so i shouldn't care that i'm getting unsigned tarballs 21:52:23 well i guess it's still the case that you trust a random MITMer less than a random package maintainer 21:52:37 but that is probably because you trust a random package maintainer too much (generic "you") 21:53:00 hacked by chinese 21:53:35 one reason I use Debian is that they actually care about this shit 21:53:44 damn kids these days 21:55:00 http://www.aeonmagazine.com/living-together/james-somers-web-developer-money/ has lots of complaining about kids these days 21:55:13 smooth segue 21:55:38 thx 21:56:01 kmc: care enough to break you know what 21:56:22 ? 21:56:52 the openssl thing 21:57:12 lol 21:57:26 i'm only half serious 21:57:37 but it does speak something in favour of low-"tampering" distros 21:57:48 yeah 21:58:11 it's not 100% debian's fault though 21:58:15 but partially 21:59:48 yeah, the original openssl code sucked 21:59:56 but as i understand it, all of openssl's code sucks 22:00:04 yep 22:00:16 so you can't have a security model that relies on any of openssl's code not sucking 22:00:23 well fuck 22:00:33 can we have a security model based on nothing working ever 22:02:58 'cos i see all this security research and then apparently a distro had shitty keys for two years and no one noticed? 22:03:57 COMBINING DOUBLE ACUTE ACCENT 22:03:57 WHITE SQUARE WITH UPPER LEFT QUADRANT 22:03:57 FULLWIDTH VERTICAL LINE 22:03:57 FISH CAKE WITH SWIRL DESIGN 22:03:57 LATIN LETTER VOICED LARYNGEAL SPIRANT 22:04:40 please rephrase your unicode character names in the form of a limerick 22:05:13 :D 22:05:18 very nice 22:06:00 it doesn't flow that well, and you could easiliy achieve that by placing multiple characters on one verse 22:06:07 but i like this more 22:07:05 "LATIN LETTER VOICED LARYNGEAL SPIRANT" is a very acceptable limerick verse if you don't pronounce the /i/ 22:07:10 uh, in LARYNGEAL 22:08:07 isn't it pronounced lair-in-gee-el 22:08:29 yeah 22:08:46 you'd have to pronounce it as "lair-in-jull" 22:09:18 that's not too much of a stretch 22:09:47 artistic license 22:09:52 apparently "laryngal [ləˈrɪŋgəl]" is an accepted alternate form 22:09:59 but that's not what it says in the codepoints! 22:11:53 http://www.guardian.co.uk/world/2013/jun/06/us-tech-giants-nsa-data TOP SECRET//NOFORN: best classification? 22:12:57 no fornication 22:13:14 oh my god 22:13:16 this one is very good: 22:13:17 HEXAGRAM FOR THE CREATIVE HEAVEN 22:13:17 MATHEMATICAL BOLD DIGIT SEVEN 22:13:17 KANGXI RADICAL WHITE 22:13:17 VERTICAL TRAFFIC LIGHT 22:13:17 NEGATIVE CIRCLED NUMBER ELEVEN 22:13:22 -!- jsvine has quit (Quit: Leaving.). 22:13:31 ++ 22:13:47 that's beautiful 22:14:04 oh man i have to 22:14:06 see that in unicode 22:14:10 as I've observed before, KANGXI RADICAL FIGHT would be a good name for a band 22:14:35 what about 2FCE KANGXI RADICAL DRUM 22:14:39 that would be a good name for a bad band 22:14:42 bad because of the drums 22:14:45 because drums are bad 22:15:10 -!- Nisstyre-laptop has quit (Quit: Leaving). 22:16:15 ䷀𝟕⽩🚦⓫ 22:16:31 (how many of those characters display correctly for you) 22:16:40 YNYNY 22:16:43 they're kind of overlapping 22:18:04 i wanna see the full thing... 22:18:16 -!- mnoqy has quit (Ping timeout: 276 seconds). 22:18:21 unicode: awful imo 22:18:21 Can you do other forms of poetry? 22:18:52 hard mode: haiku, with cutting and seasonal words 22:19:00 what's cutting 22:19:18 http://en.wikipedia.org/wiki/Kireji 22:20:01 -!- ais523 has joined. 22:20:23 basically haiku are more complicated than 5-7-5 (if you're an angry traditionalist japanese poet) 22:20:41 when i grow up i want to be an angry traditionalist japanese poet 22:21:48 MAHJONG TILE AUTUMN / HIRAGANA LETTER YA / SNOWMAN WITHOUT SNOW 22:21:57 this is 22:21:59 excellent 22:22:02 unicode is my muse 22:22:27 Bike: btw do you see my kireji 22:22:42 -!- Gregor has joined. 22:22:53 well you just picked one out of the wikipedia article 22:22:58 nonetheless, awesome 22:23:13 SNOWMAN WITHOUT SNOW works nicely as a zen reference 22:23:37 -!- kmc has set topic: Snowman without snow. | http://underhanded.xcott.com/?page_id=5 | http://codu.org/logs/_esoteric |. 22:23:47 i'm so amazed SNOWMAN WITHOUT SNOW exists 22:23:50 what's the kirenji there 22:23:56 kireji* 22:23:58 "HIRAGANA LETTER YA" 22:24:25 "ya" is a kireji, as is the character named 22:24:25 because や was used as a kireji apparently 22:24:27 Hmm, 3316 SQUARE KIROMEETORU [㌖] 22:24:27 p. deep 22:24:32 wait doesn't that have.......... two seasonal references 22:24:41 it does! 22:24:47 no way it's all autumn 22:24:49 "without snow" though imo thats clearly autumn 22:24:53 high five bike 22:24:53 ok 22:24:56 hi five! 22:25:07 the snowman is actually made of mochi 22:25:20 -!- Gregor has set topic: Slenderman without slender. | http://underhanded.xcott.com/?page_id=5 | http://codu.org/logs/_esoteric |. 22:25:31 These transliterated units are weird. 22:25:53 -!- nooodl has set topic: MAHJONG TILE AUTUMN / HIRAGANA LETTER YA / SNOWMAN WITHOUT SNOW | http://underhanded.xcott.com/?page_id=5 | http://codu.org/logs/_esoteric |. 22:26:08 -!- SingingBoyo has joined. 22:26:28 -!- Koen_ has joined. 22:26:57 -!- Bike has set topic: 🀨や⛄ | http://underhanded.xcott.com/?page_id=5 | http://codu.org/logs/_esoteric. 22:27:00 topic golfing 22:28:14 these syllable requirements are not compatible with my style 22:28:33 my style includes RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN 22:28:59 -!- nooodl_ has joined. 22:30:20 oh boy 22:30:26 2A94 GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL [⪔] 22:30:41 -!- nooodl has quit (Ping timeout: 246 seconds). 22:30:41 wat 22:32:34 -!- mnoqy has joined. 22:32:35 maybe there's some meter you can make that fit 22:34:29 -!- nooodl_ has quit (Ping timeout: 256 seconds). 22:36:38 -!- ion has quit (*.net *.split). 22:36:38 -!- Lumpio- has quit (*.net *.split). 22:36:38 -!- jconn has quit (*.net *.split). 22:36:38 -!- clog has quit (*.net *.split). 22:36:38 -!- pikhq has quit (*.net *.split). 22:36:38 -!- Fiora has quit (*.net *.split). 22:36:38 -!- atehwa_ has quit (*.net *.split). 22:36:38 -!- rntz has quit (*.net *.split). 22:36:50 What's a kireji? 22:38:44 Hm. Gréater thán abóve slánted équal abóve léss-than abóve slánted équal. 22:38:45 -!- Lumpio- has joined. 22:38:58 / - / - / / - / - - / / - - / / - / - 22:39:02 i linked the wikipedia article. 22:39:55 -!- atehwa has joined. 22:48:14 -!- Fiora has joined. 22:48:14 -!- ion has joined. 22:48:14 -!- clog has joined. 22:48:14 -!- pikhq has joined. 22:48:14 -!- rntz has joined. 22:51:10 night guys 22:54:09 -!- sacje has joined. 23:01:32 -!- ion has quit (*.net *.split). 23:01:32 -!- clog has quit (*.net *.split). 23:01:32 -!- pikhq has quit (*.net *.split). 23:01:32 -!- Fiora has quit (*.net *.split). 23:01:32 -!- rntz has quit (*.net *.split). 23:04:49 -!- Fiora has joined. 23:04:49 -!- ion has joined. 23:04:49 -!- clog has joined. 23:04:49 -!- pikhq has joined. 23:04:49 -!- rntz has joined. 23:10:28 `quote monqy 23:10:30 274) I've only watched bad movies about video game. I enjoyed every second of it. \ 308) my most fresh dream is one where I'm at a soup contest and a chicken really wants to participate but he's disqualified so he becomes the judge. when all the soups are done and he's ready to taste them he just stares at the soup and then I becom 23:10:39 hi 23:20:03 -!- rntz^2_ has joined. 23:22:08 -!- rntz has quit (Ping timeout: 264 seconds). 23:31:07 -!- Bike has quit (Ping timeout: 264 seconds). 23:32:34 -!- Bike has joined. 23:35:46 -!- mnoqy has quit (Quit: hello). 23:37:34 I utterly despise Apple after the events of today. 23:37:53 Sgeo: details? 23:38:43 Wanted to see why a web page wasn't working on iPhone. Look for information on how to get a web console up. DIscover that on iOS 6, you need to use Safari.. version 6. Which is unavailable for windows 23:38:51 So, to debug web pages on iOS 6, you need a Mac. 23:39:39 ouch 23:43:15 that and they've been running a NSA backdoor in their servers for a year 23:44:14 o.O 23:44:15 but so has everyone else http://www.guardian.co.uk/world/2013/jun/06/us-tech-giants-nsa-data 23:48:24 You need Apple equipment to develop things for Apple equipment? Doesn't sound so unusual. 23:50:19 -!- SingingBoyo has quit (Ping timeout: 264 seconds). 23:51:34 kmc: jesus 23:53:15 kmc: http://www.theonion.com/articles/obama-administration-releases-nations-phone-record,32712/ 23:54:30 shachaf, but needing X-brand equipment to develop for a different piece of X-brand equipment is kind of sucky. Although typical for Apple. 23:55:11 Fiora: oh btw, i saw that game of life post in the logs, really cool 23:55:22 elliott: http://nineties.github.io/category-seminar/ 23:55:29 lrn some category theory hth 23:55:47 game of life? post? why was i not informed 23:55:51 have some respect for HISTORY man 23:56:08 what? 23:56:09 fiorasm.tumblr.com 23:56:12 i vaguely recall that there is some kind of us national security process for giving us citizens/companies gagging orders that they're forbidden from revealing the existence of; maybe those companies all got one. 23:56:25 being such an active tumblr user, you should follow that yourself 23:56:31 they're called national security letters 23:56:38 right 23:57:05 oerjan: there was a great guardian report relating to that 23:57:06 let me find it 23:57:26 oh, hey, «On March 14, 2013, Judge Susan Illston of Federal District Court in San Francisco struck down the law establishing NSLs, writing that the prohibition on disclosure of receipt of such an order made the statute “impermissibly overbroad” under the First Amendment» 23:57:35 ah 23:57:53 oerjan: http://www.guardian.co.uk/media/2009/oct/12/guardian-gagged-from-reporting-parliament 23:58:07 literally the entire story is "we can't tell you a thing" 23:58:10 some sense has been used 23:58:16 elliott: ah the uk version? 23:58:16 The Guardian is also forbidden from telling its readers why the paper is prevented – for the first time in memory – from reporting parliament. Legal obstacles, which cannot be identified, involve proceedings, which cannot be mentioned, on behalf of a client who must remain secret. 23:58:40 haha they mad 23:59:00 elliott: well, at least they're allowed to tell that there _exists_ a prohibition.