00:31:54 -!- Frooxius has quit (Ping timeout: 264 seconds). 01:06:12 'The entire council of the city of Reggio Calabria in southern Italy is dismissed to stop it from being taken over by the mafia, officials say.' 01:27:34 I need to finish DS9 at some point 01:32:32 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:36:25 Does ClojureScript count as a Lisp? 01:36:39 ClojureScript macros are in a different language (Clojure). 01:37:08 Time for argue-about-words-o'clock. 01:38:53 Scheme macros are also in a different language (usually) 01:38:57 I guess Scheme isn't a Lisp... 01:39:27 It depends if the macros are in a different language? 01:39:49 Hmm, what makes a Lisp a Lisp? 01:39:57 I don't know 01:40:08 Sgeo: The main question is how much Paul Graham has written about it. 01:40:22 the term "Lisp" can be endlessly redefined to win the current argument 01:40:25 that's the beauty of it 01:40:52 I guess he doesn't write about Lisp anymoer. 01:42:22 * Sgeo should reread LoperOS person's rant about Clojure 01:42:27 I think I disagree with it 01:43:12 So. For various reasons I got shoved into a "UNIX programming" class. ... Holy mother of shit we have to use *C shell*? 01:43:29 Yes. /bin/csh 01:43:40 Am I going to need to learn COBOL next? 01:43:43 "It promotes no, mandates - the use of undigestable foreign matter in Lisp code: primitives on which you cannot pop the hood to reveal intelligible innards." 01:43:44 Seriously, what the fuck. 01:44:20 Does he believe that the hardware we run on should operate on conses? 01:44:32 probably 01:45:04 easyware 01:45:26 Sgeo: http://www.loper-os.org/?p=55 01:45:47 my encyclopedic knowledge of bad loper os posts finally comes in handy 01:46:46 hi elliott 01:46:50 I thought you quit #esoteric 01:50:44 I do think that Clojure is uncomfortably closer than it should be to Java at times, but I don't think it's really that horrible. 01:50:57 *C shell does not have functions*. 01:51:09 pikhq, any chance that they're called something else? 01:51:09 *They made a language worse than Bourne shell.* 01:51:22 Sgeo: No. The closest it *has* is aliases. 01:51:38 C shell is literally devoid of functions. 01:52:19 "No car crash, however brutal, will ever produce piles of loose protons and neutrons." 01:52:22 i don't think that's true 01:52:29 is there really nothing in a car which can burn hot enough to produce plasma? 01:53:34 Doesn't Joel talk about abstractions 01:53:45 oh dear, this seems to be a complicated question 01:53:50 Sgeo: Joel talks about a lot of shit 01:54:00 There may be some abstractions (e.g. TCP) in which leaks of the abstraction are inevitable 01:55:00 we just need the car to crash with randall munroe's baseball 01:55:22 * Sgeo initially skipped the word "about" in what kmc said 01:55:31 either way, really 01:55:54 magnesium engine block will burn at 3,000 K 01:56:09 nobody can give me a straight answer as to what temperature air turns into plasma 01:56:35 kmc: A billion degrees. 01:56:48 isn't cool 01:58:18 i hear there is cold plasma too 01:59:31 Sgeo: what's special about TCP there? 01:59:57 do you mean the fact that it can't overcome an indefinite period of 100% packet loss? 02:00:02 Yes 02:00:48 csh builtins cannot be pipes. 02:00:52 s/pipes/piped/ 02:01:58 Java methods are not functions in Clojure 02:02:08 pikhq's thing is probably worse 02:03:13 And its errors don't include line numbers. 02:05:08 -!- Sanky has quit (Ping timeout: 245 seconds). 02:05:32 Who designed C shell, and can I beat them? 02:05:55 * Sgeo again sees a comparison with Clojure :/ 02:08:41 -!- ais523 has quit. 02:19:00 Bill Joy. 02:19:05 Okay, I'm happy with beating him. 02:20:16 a joyful beating, check 02:20:56 Oh dear, he's partly to blame for NFS. 02:20:59 Now I have to beat him. 02:21:21 NFS: because file systems are stateless. 02:27:55 Wait, NFS is reviled? 02:29:10 haha Sgeo 02:29:14 such a joker 02:30:36 :/ 02:42:52 19:42 it's like I am stuck misusing the do monad 02:44:00 misusing the do monad, doo dah doo dah 02:44:23 Newbie misunderstandings are quote-worthy now? 02:44:57 since it's cornihilio it's much more likely that the type is right and the 'do' is wrong 02:45:09 Sounds like the people are familiar with this person? 02:45:42 this person has no heart 02:46:18 This person is all heart. 02:46:39 no, that would coromnisio 02:46:50 *+be 02:48:06 Sgeo: NFS is horrific. 03:03:56 -!- hagb4rd has quit (Ping timeout: 255 seconds). 03:07:53 zzo38: Hey, man. 03:08:04 You know who makes the puns around here, right? 03:08:08 !rot13 shachaf 03:08:09 funpuns 03:08:09 !rot13 zzo38 03:08:10 mmb38 03:08:21 -!- mig22 has joined. 03:08:26 mmb51 03:08:29 `welcome mig22 03:08:32 * oerjan just deals out punishment -----### 03:08:33 mig22: 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.) 03:08:45 `rot13 mig22 03:08:48 zvt22 03:09:04 МиГ-22 03:09:10 `rot13 Sgeo 03:09:13 Ftrb 03:09:22 so easy to pronounce 03:09:26 ─────███ 03:09:30 ^rot12 kmc 03:09:37 oops 03:09:41 ^rot13 kmc 03:09:41 xzp 03:09:55 xeegan zpallister 03:10:02 ^rot13 ▚▞▚▞▚▞▚▞▚▞▚▞▚▞▚▞ 03:10:03 ▚▞▚▞▚▞▚▞▚▞▚▞▚▞▚▞ 03:11:08 @yarr 03:11:08 I'll crush ye barnacles! 03:11:11 kmc Does "mc" really stand for "Mc"? 03:11:16 yeah 03:11:29 kmc: That's so lame. 03:11:38 haters gonna hate 03:11:41 Just like you!!!! 03:11:44 snap 03:11:55 -!- zzo38 has left. 03:12:02 ヾ(⌐■_■)ノ♪ 03:12:06 Not good enough for zzo38. 03:19:07 >+<[>-<-]>[<+>-]< 03:27:56 kmc: noob answer here but, i think you mean type checking, and that happens before. if a function gets bound, it becomes a new type, and the next type you feed it needs to be compatible. if a function is fed proper types but pruposely used in the wrong context, that's a failure of semantics. 03:28:43 very good sir 03:28:51 shall i warm up sir's crack pipe 03:29:05 kmc: a function that could take functions could do that 03:29:08 i think sir is cracked enough 03:29:10 kmc: something along the lines of f :: (a->b) -> a 03:29:14 kmc: monads should be suitable for this 03:29:28 are you livetweeting #haskell or what 03:29:33 yes 03:29:40 jesus really 03:29:40 this isn't twitter though kmc 03:29:41 it's irc 03:29:46 shall i warm up sir's crack pipe, as they say 03:29:56 elliott is trying to make you leave the last channel you're still in. :-( 03:30:04 that was all one person if that makes it better 03:31:00 shachaf: how long has this person been here 03:31:09 oh they're just reffering to the monadic context in general now i understand 03:31:11 ps by here i mean #haskell 03:31:28 elliott: A while. 03:31:52 elliott: You're such a geneous. 03:32:36 kmc: Do you know that you still beat me in "number of words said in #haskell"? 03:32:52 3x 03:33:30 elliott beats me too. 03:33:47 shocking. 03:34:02 shachaf: does anyone beat me 03:34:14 elliott: Of course. 03:34:33 who 03:34:35 dons? 03:35:39 I used to write all these specialized monomorphic functions and I couldn't use any free theorems. Then I started writing more general types for my functions and it was all, like, "welcome to parametri city". 03:36:02 elliott: Probably. 03:36:43 Oh, I measured wrong. It's not quite 3x. 03:36:58 dons is almost at 2 million words. 03:39:02 elliott: haveyouread OutsideIn(X) 03:39:19 no 03:44:22 elliott: I prefer the less well-known "double-negation with newline in the middle" translation. 03:44:43 shachaf: Er. What. It's strictly weaker. 03:45:31 elliott: You know how you used to be here every day but now you're only here every 7 days? 03:45:37 It's strictly weeker. 03:45:47 ok you got me 03:46:12 elliott: Do you believe cps :: (a -> b) -> (b -> r) -> a -> r yet? 03:46:31 define believe 03:46:51 You said it should be a -> (a -> r) -> r before. 03:47:56 i don't know 03:48:19 ((b -> r) -> (a -> r)) is a CPSed (a -> b) 03:51:41 * Sgeo decides not to ask a stupid and tangentally-related question 03:54:39 no paypal i do not need a loan to buy 5 tee shirts 03:58:44 -!- TeruFSX has joined. 04:00:04 -!- zzo38 has joined. 04:08:29 1 lakh rupees isn't cool, you know what's cool? 1 crore rupees 04:11:34 I can only assume that kmc is either playing a game or drunk. 04:11:57 neither 04:12:12 well i'm not more playing a game than usual 04:12:17 it's all, like, games, man 04:13:31 * Sgeo fines kmc for one crore crore rupees 04:15:41 why does http://en.wikipedia.org/wiki/South_Asian_numbering_system skip the crore crore row... 04:22:24 kmc: you're , game 04:30:53 besides Sgeo, you know that it's illegal to be drunk on the internet 04:32:01 -!- Sanky has joined. 04:32:09 @type flip (.) 04:32:10 forall a b (f :: * -> *). (Functor f) => f a -> (a -> b) -> f b 04:32:15 @type flip (Prelude..) 04:32:16 forall b c a. (a -> b) -> (b -> c) -> a -> c 04:33:36 :t (>>>).($) 04:33:38 forall a b c. (a -> b) -> (b -> c) -> a -> c 04:37:48 when carnage is insufficient, mr. munroe adds more zeroes. 04:38:22 kmc isn't playing a game more than usual. 04:38:25 Nor drunk more than usual. 04:39:02 I feel like I should learn how type checking/inference works properly. 04:39:52 badly 04:42:48 shachaf: Did you read Typing Haskell in Haskell? 04:47:36 kmc: Nope. 04:47:43 That's probably a good one to read. :-) 04:47:57 Of course GHC's type system is barely Haskell these days. 04:51:58 sure 04:52:23 i wasn't sure if you meant the general idea of type checking/inference, or specifically ghc haskell with all the bells and whistles 04:52:38 implementing type inference for simply typed lambda calculus is fun and not hard 04:53:08 hindley milner is only a bit harder, i think 04:53:28 and then you add type classes and polymorphic mutual recursion and you have haskell 04:53:41 and then you take about 2 mg of LSD and you have GHC Haskell 04:54:06 What do you do to end up with Agda? 04:54:57 Sometimes making these things more general makes them simpler. 04:54:57 well, i know nothing about how inference works in agda, to the degree it exists 04:55:01 yes 04:55:08 as far as checking goes that is true 04:55:34 Agda's value inference is probably better than its type inference... 04:55:50 @quote cmccann agda 04:55:51 cmccann says: someone should implement a dependently-typed unsafeCoerce in Agda, you'd have to provide a proof that the coercion is invalid 04:55:53 @quote cmccann agda 04:55:53 cmccann says: the most common solution to prevent runtime errors in Agda is by not running the program 04:56:33 :3 04:56:59 Colon three. 04:57:05 That's another one of those that I don't get. 04:58:29 There's no fundamental reason not to have "exists" in Haskell, is there? 04:58:37 I heard there's a fundamental reason not to have it in GHC. 05:01:01 which is? 05:02:02 By heard I mean edwardk mentioned something about it being incompatible with the way GHC does type checking at dinner once. 05:02:07 heh 05:02:25 So I don't really know. 05:02:25 "I asked Karp in the elevator and he said it was probably NP-complete" 05:02:54 Pretty much. 05:03:19 It was almost exactly a year ago. He's coming back next week for the same event! 05:03:37 Maybe I'll have the opportunity to ask him again. 05:08:51 zzo38: Where did your CodensityAsk type come from? 05:09:12 I like it. 05:10:30 shachaf: Do you like reflection? 05:10:33 That's a great library, that. 05:10:37 That wonderful person elliott worked on it. 05:10:53 elliott: I don't understand reflection. 05:11:05 It's probably good, though. 05:11:15 What does it do? 05:11:36 shachaf: Actually I just made it up 05:11:52 shachaf: Have you ever wanted to be able to express the type "Integer mod 42" in such a way that the 42 is encoded in the type? 05:11:55 zzo38: Right, but in what context? 05:11:57 So you don't have to write a Num instance for every single number. 05:12:01 elliott: Sure! 05:12:04 That you'd want to modulo it by. 05:12:33 shachaf: Okay, then look at "newtype M s a" onwards in http://hpaste.org/66699. Ignore the reflection implementation, it's just Oleg's low-level hack to accomplish it. 05:12:58 shachaf: Basically you can lift an arbitrary value to a (phony; the actual "type" is nothing and doesn't matter to you) type that you get an instance for. 05:13:04 That instance lets you give a proxy for that type, and get the value back. 05:13:09 So you can write interfaces that depend on values. 05:13:15 shachaf: I was first think of Yoneda with a class constraint, and then to use not a class constraint but rather a value instead. 05:13:21 shachaf: It can also be used to replace Reader like that, but in a way that omits all the monadic plugging. 05:13:28 shachaf: It's like implicit parameters, but without all their weirdnesses. 05:13:36 (And you don't have to implement it in the compiler.) 05:13:40 Hence, 05:13:42 reify :: a -> (forall s. Reifies s a => Proxy s -> r) -> r 05:13:48 class Reifies s a | s -> a where reflect :: proxy s -> a 05:13:49 And then I realize that you can use it to make a MonadPlus from any comonad. 05:14:05 shachaf: Do you understand me now? 05:14:11 elliott: OK. 05:14:26 zzo38: Nope. 05:14:30 elliott: Did you see CodensityAsk? 05:14:43 shachaf: Here's an example of it replacing Reader: http://hpaste.org/66715 05:14:49 Pfft, reflection is way cooler than CodensityAsk. 05:14:50 shachaf is now completely confused and thinks Reifies is a CodensityAsk type 05:15:06 CodensityAsk = best type 05:16:11 oerjan: Oops, isn't Reifies a class instead?? 05:16:21 zzo38: he is _very_ confused. 05:16:25 See, even zzo38 knows the deal about reflection!! 05:16:27 He knows what's up. 05:17:06 zzo38: Can you express CodensityAsk as a CodensityAsk type? 05:17:12 reflection lets you be down with what's up 05:19:05 shachaf: I suppose you can use (CodensityAsk (IdentityT f)) but I don't know if that is what you meant 05:19:22 (But you can do that with anything really) 05:22:44 zzo38: What's CodensityAsk (Cont r)? 05:23:49 shachaf: I don't know, but it is something. 05:24:29 However, notice that you don't need to use a functor there, it can be anything, such as (CodensityAsk Predicate) to make up the infinite search monad. 05:25:01 zzo38: CodensityAsk is "pretty damn awesome", confirms another channel. 05:29:11 zzo38: Is it really related to Codensity, though? 05:29:40 Codensity m a = forall z. (a -> m z) -> m z 05:33:40 shachaf: Well, kind of, but not really. I just didn't know what other name to put. 05:34:06 It is a monad in the same way that Codensity is a monad. 05:34:31 Which is also the same way that Cont is a monad, too. 05:34:32 -!- oerjan has quit (Quit: Good night). 05:42:01 -!- zzo38 has quit (Quit: Good night (again)). 06:10:56 @ask zzo38 Is this the CodensityAsk Monad (>>=)? m >>= f = CA $ \q k -> runCA m q (\x -> runCA (f x) q k) 06:11:01 Consider it noted. 06:20:25 -!- barts has quit (Quit: leaving). 06:24:36 Today I learned that YKK is a company 06:49:29 -!- nooga has joined. 06:49:37 pikhq: what's a good cpu these days 07:08:22 -!- epicmonkey has joined. 07:26:10 -!- epicmonkey has quit (Ping timeout: 246 seconds). 07:31:22 elliott: 68000 07:31:49 Much more powerful than the 6502. 07:32:04 thanks 07:32:11 You’re welcome. 08:01:37 -!- Jafet has joined. 08:02:03 @tell zzo38 Oh, I guess so. 08:02:04 Consider it noted. 08:20:54 -!- TeruFSX has quit (Read error: Connection reset by peer). 08:44:04 -!- epicmonkey has joined. 09:53:01 -!- kinoSi has quit (Read error: Connection reset by peer). 09:53:30 -!- kinoSi has joined. 10:21:05 kmc: http://www.dustingetz.com/2012/10/09/can-haskell-prove-that-a-program-will-not-crash.html 10:22:43 so in effect, an expression of type int -> int, will only crash in the same ways that math can ‘crash’ on pencil and paper. 10:22:49 Which means that if we’re confident that our program isn’t ⊥ (do you really worry about the halting problem in your business application?), if your program passes the type checker, it will not crash. ever. (Unless it runs out of memory, or you unplug it, …) 10:22:51 what a guarantee 10:23:59 i can offer a hard guarantee that if your program won't crash it won't crash 10:24:10 how much more could you ever want or need 10:25:19 http://www.dustingetz.com/2012/10/07/monads-in-python-identity-maybe-error.html 10:26:02 oh no 10:26:13 "business logic is crystal clear. hook it up to a flowchart software or something. 10:26:13 " 10:26:16 heeeeeeeeeeeeeeeeeeeeeeeeeeeeelp 10:27:23 Strange Loop 2012 talk - Monads for normal people in python (slides), monads for normal people in python and clojure 10:30:35 -!- monqy has quit (Quit: hello). 10:38:53 -!- ais523 has joined. 10:40:05 -!- Phantom_Hoover has joined. 10:48:57 -!- ogrom has joined. 11:01:41 -!- copumpkin has quit (Ping timeout: 248 seconds). 11:02:14 -!- copumpkin has joined. 11:04:31 -!- Arc_Koen has joined. 11:04:43 hello 11:05:56 nenholoe 11:06:01 ais523: hi 11:06:38 -!- ais523_ has joined. 11:06:48 -!- ais523 has quit. 11:08:09 "! End of file on the terminal... why?" 11:09:06 hey, has anyone seen itidus lately? 11:18:22 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 11:18:44 good question 11:18:58 maybe he got bored 11:19:19 -!- Phantom_Hoover has joined. 11:30:12 He got called "full of shit always", "spends too much time dragging down the discussion", "making the channel that much worse by being here and [..] clearly never going to change", and took off half an hour later; this was about 156 hours ago. 11:30:42 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds). 11:54:09 Deewiant: sounds like the #esoteric I know 11:55:00 nice looks like oerjan started it 11:55:04 don't see that every day!! 11:55:55 22:47:20: i am more interested in the unsolicited humour than reality when i say there is no operation which satisfies x in the equation (> (x wolfram) (in mathematicians_wolfram_admires)) 11:56:01 Right, there was some stuff before those quotes, too. 11:56:01 that might just be the best opening sentence to an argument ever 11:56:17 22:28:17: apparently wolfram's new kind of science recommends mathematica.. and someone is annoyed by it 11:56:17 22:29:53: i think.. maybe he should see a psychologist 11:56:21 going to miss these gems 11:56:58 22:55:22: what i tried to say is really in bad taste 11:56:59 22:55:30: so im glad its meaningless 11:57:07 i should probably feel bad for laughing at all this a lot 11:57:22 -!- copumpkin has quit (Ping timeout: 252 seconds). 11:57:55 -!- copumpkin has joined. 11:58:07 Deewiant: Well, only two of those were PH rather than the three I expected, that's quite exciting. 11:58:18 maybe #esoteric does change sometimes! 12:01:41 What, he didn't even reply. I want my money back. 12:05:46 -!- ais523_ has changed nick to ais523. 12:06:26 elliott: Mathematica ancedote: writing the 2,3 turing machine functions in mathematica, they were orders of magnitude slower than the equivalent Perl 12:06:34 (and Perl is not the right language to write those in) 12:08:13 ais523: err, you told me this five years ago 12:09:08 ais523: why do I remember you telling me something about Mathematica five years ago 12:09:50 because it's amusing? 12:10:08 Ha. Ha. Ha. 12:10:18 ais523: well I wouldn't go *that* far [LAUGH TRACK] 12:10:25 -!- ais523 has quit. 12:10:34 did I upset him 12:10:36 @tell ais523 i'm sorry 12:10:37 Consider it noted. 12:10:42 -!- ais523 has joined. 12:10:50 @tell ais523 i take it back, i'm not sorry at all 12:10:50 Consider it noted. 12:10:56 -!- boily has joined. 12:11:05 hmm 12:11:06 ais523: You have 3 new messages. '/msg lambdabot @messages' to read them. 12:11:09 @messages 12:11:09 AnotherTest asked 9d 19h 8s ago: On Wikipedia, programming language pages have "info boxes" which show some basic but useful information. Maybe we could do this on the esolangs wiki too? (To give 12:11:10 you an idea of the information that the boxes would contain; I was thinking of: paradigms, creator, year of creation, derived from, influenced by, influenced, specification, reference implementation 12:11:10 etc. 12:11:10 elliott said 32s ago: i'm sorry 12:11:10 elliott said 19s ago: i take it back, i'm not sorry at all 12:11:32 I don't think you need to apologise for whatever you were trying to apologise for 12:11:43 ais523: well I wouldn't go *that* far [LAUGH TRACK] 12:11:43 * ais523 has quit () 12:11:44 did I upset him 12:11:44 @tell ais523 i'm sorry 12:11:44 Consider it noted. 12:11:44 * ais523 (~ais523@unaffiliated/ais523) has joined #esoteric 12:11:46 @tell ais523 i take it back, 12:11:50 i stopped being sorry because it became clear you did not actually get upset! 12:11:52 therefore i don't have to be worry 12:12:44 aha 12:14:52 -!- copumpkin has quit (Ping timeout: 244 seconds). 12:15:27 -!- copumpkin has joined. 12:32:48 -!- Phantom_Hoover has joined. 12:37:13 -!- ais523 has quit (Read error: Connection reset by peer). 12:37:19 -!- ais523_ has joined. 12:37:53 -!- ais523_ has changed nick to ais523. 12:41:14 -!- ogrom has quit (Quit: Left). 12:47:34 -!- Slereah_ has joined. 12:49:34 -!- Slereah has quit (Ping timeout: 246 seconds). 13:10:44 wtf: http://thedailywtf.com/Articles/The-Killing-Job.aspx 13:16:23 -!- ais523 has quit. 13:17:44 I have a week’s worth of stats from my server that’s in the NTP pool. The connection speed has been set as 3 Mbit/s in the pool settings, the average usage is less than 0.5 kB/s. http://heh.fi/collectd/img/ntp-bytes 13:18:22 ion: Haha, you actually have that GPS thing in an NTP pool? 13:18:37 elliott: My server has been in the pool for ages. 13:21:13 ion: Well, I only got told about this server thing a few days ago by someone or other in here. 13:21:17 I am "out of" "the" "loop". 13:24:34 ion: Do you happen to know if there's any particularly easy way to compare my system's idea of the time with your server's? 13:24:38 That'd be exciting!!! 13:24:41 (FSVO exciting.) 13:24:51 I'm synchronised with ntp myself though, so it might be... uninspiring. 13:25:21 elliott: “server ntp1.heh.fi iburst” 13:25:51 ion: I take it that's not a shell command. 13:25:53 elliott: Which servers are you using, btw? {0,1,2,3}.{your area}.pool.ntp.org? 13:25:57 elliott: A ntp.conf line 13:26:09 It's, uh, literally whatever the Arch default is. Let me check. 13:26:20 [012].pool.ntp.org. Thoroughly uninspiring. 13:26:36 I guess there is probably some trickery to give me geographically-appropriate servers for those? 13:27:44 0) Vendors are working against the pool rules by using that by default; they should be {0,1,2,3}.arch.pool.ntp.org. 1) Why {0,1,2}, not {0,1,2,3}? 2) I think it probably has some GeoIP stuff, but i guess it’s best to use {0,1,2,3}.{your area}.pool.ntp.org. 13:29:08 0) Who starts numbering their lists from 0? I'm hereby renumbering 0 as 1. 1) I'd report it as a bug, except, uh... I'm lazy, and I doubt they'd care. 2) God knows, but that's how it is. 3) Right. Modifying configurations is so 2011, but maybe having super accurate time is 2012 enough to counter it out. 13:29:26 I like how http://pool.ntp.org/ has a decent chance of getting you some quaint time server website. 13:29:41 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 13:29:57 hehe 13:30:14 ion: I'm not sure what the vendor thing is about, though. It seems a rather arbitrary distinction. 13:30:49 Should Linux from Scratch recommend you use lfs.pool.ntp.org, even though you're mostly doing things yourself and don't really have any association with LFS? 13:30:56 Admittedly Arch is a bit heavier-weight than that, but still. 13:31:27 * elliott notes that http://www.pool.ntp.org/en/use.html doesn't mention anything about it either :p 13:31:36 I guess http://www.pool.ntp.org/en/vendors.html is it. 13:31:38 Sometimes some vendor’s device/software is faulty in some way and DoSes the pool. That way they can limit the issue until the bug is fixed. 13:31:48 "Time usually just advances." Deep. 13:31:49 lfs should provide instructions for calibrating with a sundial 13:32:06 ion: I think Arch just ships unpatched ntpd with a default configuration file. 13:32:16 They don't patch stuff all that much. 13:32:28 Also by ntpd I think I mean openntpd? 13:32:52 If an LFS/whatever *user* configures their ntpd they’re free to do whatever they want. But vendors coming with some kind of a default configuration should get a subdomain. 13:33:04 Is there much practical use for having network calibrated time, anyway? 13:33:06 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 13:33:06 No, I mean whatever this "ntp" package is. 13:33:28 Jafet: Well, you get a clock that's right. That's pretty valuable. 13:34:13 ion: Right. So where do you draw the line between a user copy-pasting an example configuration file from a website, and a user telling a tool (e.g., package manager pacman) to copy-paste an example configuration file for them? Admittedly it's somewhat more obvious in the case of something big and supported and official like Ubuntu. 13:34:35 So, why is that valuable. 13:35:21 Jafet: Well, time is a thing. 13:35:28 I think all sorts of Official(tm) stuff uses NTP. 13:35:31 Protocols that require roughly the same time on both ends are able to work. Filesystem etc. timestamps will be correct. 13:35:35 "Therefore, air traffic control was one of the first applications for NTP." -- see, that's official. 13:36:02 You won’t be late for work when using your computer’s clock. 13:36:18 That's assuming your office is on the same time! 13:36:54 I think protocols should start by negotiating time, rather than assuming the same time. 13:37:15 There's also the whole thing where it's nice for you, as a person, to know what time it is. 13:37:37 Unless you want every conversation about when to do a certain thing to involve negotiating two different clocks that are 15 minutes off because nobody synchronises their time. 13:37:43 Yeah, add time-dependency to the protocol so the attacker is unable to replay authentication packets… but let her dictate what time it is. 13:37:50 Seems nicer to have just one program (i.e., ntp) do the conversations about agreeing on what a time means. 13:38:41 "Someone with a watch can always tell the time. Someone with two watches is never sure." 13:39:05 Someone with two ntp-synchronized watches? 13:39:23 I think Jafet may be engaged in some leg-pulling. 13:42:53 -!- FreeFull has joined. 13:43:41 -!- Phantom_Hoover has joined. 13:48:29 nortti: :-D 13:50:41 ion: bitches don't know about mah nonce 13:51:26 ion: what? 13:51:48 ah ok 13:53:22 “We can use y to help us obtain an estimate of x, but we cannot necessarily take the information from y at face value because it is corrupted by noise. The measurement is like a politician. We can use the information that it presents to a certain extent, but we cannot afford to grant it our total trust.” :-D 13:54:35 Politicians, unfortunately, don't tend to be gaussian. 13:54:44 -!- copumpkin has joined. 13:55:21 heh 14:06:57 -!- mig22 has quit (Quit: mig22). 14:15:28 -!- sirdancealot has quit (Ping timeout: 246 seconds). 14:26:06 -!- MoALTz has quit (Quit: Leaving). 14:27:04 -!- jiella has joined. 14:33:47 -!- MoALTz has joined. 14:40:08 -!- sirdancealot7 has joined. 14:40:43 -!- kmc_ has joined. 14:40:57 -!- ineiros has joined. 14:41:27 -!- tswett_ has joined. 14:45:46 -!- kmc has quit (*.net *.split). 14:45:50 -!- yiyus has quit (*.net *.split). 14:45:50 -!- ineiros_ has quit (*.net *.split). 14:45:50 -!- tswett has quit (*.net *.split). 14:53:58 -!- yiyus has joined. 14:58:01 -!- sirdancealot7 has quit (Ping timeout: 246 seconds). 14:59:24 -!- sirdancealot7 has joined. 15:01:14 -!- augur has quit (Remote host closed the connection). 15:22:31 -!- MoALTz has quit (Ping timeout: 245 seconds). 15:23:00 -!- MoALTz has joined. 15:26:45 -!- sirdancealot7 has quit (Ping timeout: 248 seconds). 15:46:18 -!- augur has joined. 15:59:40 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 16:08:26 uh 16:08:27 what 16:09:08 struct S x, y; x = y; just blindly mempcys contents from x to y? 16:10:19 in C? yes 16:10:23 what else would it do 16:10:36 in C++ you can define the behavior by overloading operator= 16:10:46 -!- kmc_ has changed nick to kmc. 16:11:15 -!- Phantom_Hoover has joined. 16:11:26 the default in C++ is basically that it does "x.a = y.a; x.b = y.b;" for all the fields 16:11:43 well 16:11:45 which might in turn invoke a user-defined operator= or recursively invoke that default rule 16:11:54 so Plain Old Data in C++ effectively gets memcpy'd too 16:12:22 i never use plain structs 16:12:31 always pointers to structs 16:12:47 I never use pointers to structs 16:12:54 always pointers to pointers to structs 16:12:58 i don't always use structs, but when i do, i use pointers to them 16:13:05 right 16:17:27 -!- elliott has quit (Ping timeout: 240 seconds). 16:29:57 nooga: It's not guaranteed to memcpy. In particular, it need not copy padding. 16:32:29 it movs on x86 16:33:02 if the struct fits into 32 or 64 bits (in x86-64) 16:33:04 i think 16:33:29 i've just read what clang produced for my test program 16:33:48 Yes, well, but the point was that it doesn't need to copy all the bytes. Of course it can, and maybe probably will. 16:34:35 "When a value is stored in an object of structure or union type -- the bytes of the object representation that correspond to any padding bytes take unspecified values.51) ... 51) Thus, for example, structure assignment need not copy any padding bits." 16:40:06 uhum 16:42:44 It will frequently, perhaps always, be more efficient to copy the padding anyway. 16:43:07 (Irrelevant statement GOOOO) 16:43:53 it will always be most efficient to choose the most efficient alternative 16:44:15 Impressive. 16:45:52 actually no, choosing can be costly ... skip directly to *using* the most efficient alternative 16:50:02 -!- Jafet has quit (Ping timeout: 245 seconds). 16:51:04 -!- epicmonkey has quit (Ping timeout: 246 seconds). 16:58:07 -!- ogrom has joined. 16:58:26 -!- zzo38 has joined. 17:05:53 -!- Jafet has joined. 17:12:12 i like this channel 17:16:49 OK 17:16:49 zzo38: You have 2 new messages. '/msg lambdabot @messages' to read them. 17:16:55 Are you sure? 17:16:58 lambdabot ?messages 17:17:03 ?messages 17:17:03 shachaf asked 11h 6m 1s ago: Is this the CodensityAsk Monad (>>=)? m >>= f = CA $ \q k -> runCA m q (\x -> runCA (f x) q k) 17:17:03 shachaf said 9h 14m 58s ago: Oh, I guess so. 17:17:53 Yes, it is almost a kind of Codensity monad. 17:21:52 hmm, is it just me or has the internet been more boring than usual the last few weeks? 17:22:32 -!- Jafet has quit (Ping timeout: 255 seconds). 17:22:33 I'd say it is interestingly boring. 17:23:37 lol: http://thedailywtf.com/Articles/Taking-a-Dump.aspx 17:25:58 ah, that did temporarily restore my faith in the internet 17:27:30 http://fu.x14.eu/#WTF,funny,pics,4chan here You go 17:28:21 nortti: hah 17:33:41 -!- zzo38 has quit (Remote host closed the connection). 17:36:47 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 17:39:49 -!- sirdancealot7 has joined. 17:42:11 -!- ogrom has quit (Quit: Left). 17:43:45 ion: https://groups.google.com/forum/?fromgroups=#!topic/bahaskell/QJi4bU0cFi4 17:46:38 uh 17:47:41 i never did that but I always thought that I can ((unsigned int*)0x54aa4f02) = 100; 17:48:07 sure, you "can" do that 17:48:08 "can"? 17:48:43 it's not legal lvalue according to clang 17:48:54 oh, you're missing a * 17:49:00 wait 17:49:01 right 17:50:28 typo 17:52:39 -!- Phantom_Hoover has joined. 17:56:38 -!- augur has quit (Read error: Connection reset by peer). 17:57:07 -!- augur has joined. 17:58:48 -!- mean has joined. 18:03:19 shachaf: There’s going to be a Google hangout? 18:11:45 ion: I think that's the plan. 18:11:52 It's like recording, except for the recording bit. 18:12:34 I hope it also gets recorded. 18:17:51 You can record the G+ stream! 18:20:09 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 18:20:25 -!- Arc_Koen has quit (Quit: Arc_Koen). 18:38:40 -!- atriq has joined. 18:39:11 @messages? 18:39:11 Sorry, no messages today. 18:39:16 Yay! 18:39:20 ? 18:40:19 Means I don't have to deal with anything 18:41:21 -!- Phantom_Hoover has joined. 18:43:40 @tell atriq Deal with a thing, please. 18:43:40 Consider it noted. 18:43:49 @clear-messages 18:43:50 Messages cleared. 18:43:54 @tell fizzie I REFUSE 18:43:54 Consider it noted. 18:44:01 @clear-messages 18:44:01 Messages cleared. 18:44:06 This was a productive thing to do. 18:44:19 I hope I didn't have any messages in the meanwhile there. 18:45:21 That would have been bad 19:02:35 SmoothLife is a family of rules created by Stephan Rafler. It was designed as a continuous version of Conway's Game of Life - using floating point values instead of integers. http://youtu.be/KJe9H6qS82I 19:02:54 Didn't Phantom_Hoover make something like that? 19:02:56 Wait, that was chess 19:03:03 shachaf: I’m sure the stream will be of much worse quality than what can be recorded on-site. 19:03:25 Yeah, continuous chess. 19:03:44 That's pretty cool. 19:03:49 As an actually playable game, or as ... something to observe 19:04:02 Can I read about SmoothLife rather than watch a video? 19:04:13 http://arxiv.org/abs/1111.1567 19:04:28 Me and oko played a game of continuous chess... once. 19:04:44 Who won? 19:04:52 I think me? 19:05:03 he won the first game because i let him change the rules 19:05:21 Can I assume by flotrary ratiiece of shit right now. 19:05:25 , my computer is being a piece of shit right now. 19:05:25 , my computer is being a piece of shit right now. 19:05:31 Yes 19:05:43 and also i mustn't've worked out the final version of the rules for moving through enemy piece 19:06:27 What I intended to say was, can I assume that by floating point values, you mean arbitrary reals or rationals? 19:07:16 http://arxiv.org/pdf/1111.1567v2.pdf 19:07:21 flotrary ratiiece, what a wonder phrase. 19:09:54 Phantom_Hoover, that paper looks like it was made after Gemini? 19:10:05 ...what of it? 19:11:01 Just that the paper mentions large constructions and changes to the GoL rules made in the search of a non-orthogonal non-diagonal "glider" 19:11:12 (I think the paper is abusing the term "glider", isn't it?) 19:11:23 no 19:11:37 I have a fear that in two thousand years the only source for historians learning about our civilization will be Tumblr 19:11:52 'glider' is often used the same way as 'spaceship' when talking about general cas 19:12:15 Ah 19:12:52 To demonstrate the problem: http://froyuh.tumblr.com/post/33310816271/katherinebloginson-frankenzned 19:13:32 -!- ais523 has joined. 19:13:39 that is a pretty cutting commentary on our civilisation though 19:13:47 also spell civilisation like a briton you twat 19:14:13 I spell how I want to spell: no more, no less. 19:14:34 you're not spelling enough 19:16:13 I believe on an older version of my user page I mentioned I spoke en-GB-oed, in which -ize and -ization are accepted 19:19:07 -!- oerjan has joined. 19:21:04 nice looks like oerjan started it <-- i was _not_ the one to say he made the channel worse. i think. 19:22:22 * oerjan might be gone a few(?) days himself, got to get something done about my bad feet... 19:22:57 Has anyone any itinews? 19:23:13 hmm, the TV is currently talking about one of those questions that makes your head hurt 19:23:22 basically, it's to do with Fairtrade ingredients 19:23:46 he isn't on freenode under his two usual nicks, anyway. (he was last time i checked.) 19:24:01 some companies have apparently been buying both Fairtrade and non-Fairtrade ingredients, and putting the non-Fairtrade ingredients in their Fairtrade products and vice versa 19:24:17 such that they're using the same amount they would have used otherwise 19:24:26 ...right. 19:24:54 the question is, is this unethical in any way? the issue in my head is that the only difference between fairtrade and non-fairtrade is the price the company paid the farmers 19:25:02 and they're receiving the same amount of money any way 19:25:40 reminds me of the green electricity market - current doesn't care where it comes from :) 19:26:29 -!- mean has quit (Read error: No route to host). 19:26:52 -!- oerjan has quit (Quit: Ribbit). 19:33:04 -!- oerjan has joined. 19:34:42 ion: Probably. 19:35:22 ion: You should ask about recording! 19:35:53 :t let m >>= f = \q k -> m q (\x -> (f x) q k) in (>>=) 19:35:54 forall t t1 t2 t3 t4. (t -> (t1 -> t2) -> t3) -> (t1 -> t -> t4 -> t2) -> t -> t4 -> t3 19:35:58 ion: I guess you'd have to join the list. Should I ask? 19:38:29 oh i guess there's a forall on the (t1 -> t2) vs. t4 part 19:38:43 no wait 19:38:47 kallisti, I need to make someone who's trying to be cool by pretending to be a discordian look like an idiot 19:38:54 Advice? 19:39:21 `log newtype CA 19:40:03 No output. 19:40:06 `log newtype CA 19:40:19 2012-10-10.txt:19:39:21: `log newtype CA 19:40:47 `pastelogs zzo38>.*CA 19:40:53 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.25933 19:41:16 darn 19:41:38 `pastelogs zzo38>.*\ 19:41:45 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.906 19:42:26 `pastelogs zzo38 codensityask 19:42:30 er 19:42:32 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30825 19:42:34 `pastelogs zzo38.*codensityask 19:42:41 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.29654 19:44:10 shachaf: If you don’t mind asking, i’d appreciate it. 19:45:19 of course the housemate has to start humming precisely when my brain is _just_ out of reach of grasping this. 19:45:48 * Sgeo has a habit of humming 19:45:59 * oerjan hires a hitman to take out Sgeo 19:46:07 it's for the good of humanity! 19:46:20 -!- epicmonkey has joined. 19:47:17 oh well, it's just the universe's way of telling me not to get anywhere near codensityask. 19:47:20 -!- augur has quit (Read error: Connection reset by peer). 19:47:41 -!- augur has joined. 19:47:55 * oerjan hires a hitman to take out the universe 19:49:32 Challenge accepted. 19:50:16 Quick or slow painful death? 19:50:26 quick. we are not monsters either. 19:50:46 besides, i don't want slow painful death on my karma. 19:50:56 Is CodensityAsk a zzo38 invention? 19:51:04 yes 19:51:12 What's CodensityAsk? 19:51:14 it's in that last paste 19:53:08 -!- augur has quit (Read error: Connection reset by peer). 19:53:31 -!- augur has joined. 19:54:49 -!- augur has quit (Read error: Connection reset by peer). 19:55:14 -!- augur has joined. 19:55:15 I don't see how that's a functor 19:55:53 Unless you don't use the function at all 19:56:02 In which case, it's a ridiculous Proxy 19:57:02 \m/ \m/ 19:57:14 * tswett_ nods solemnly. 19:57:59 zzo38 claims it's a monad always 19:58:13 but sadly my brain cannot get close to it 19:58:57 \m/ \m/ 19:59:03 say it isn't so :( 19:59:33 ^celebrate 19:59:34 \o| |o| |o/ \m/ \m/ |o/ \o/ \o| \m/ \m/ \o| |o| |o/ 19:59:43 OUR PARTY IS RUINED 20:00:47 Who was it who did that anyway? 20:00:55 myndzi 20:08:34 19:38 < atriq> kallisti, I need to make someone who's trying to be cool by pretending to be a discordian look like an idiot 20:08:40 IT'S TOO LATE 20:08:41 no, I am not very good at this 20:08:48 insult their mother? 20:08:50 hm, no.... 20:08:54 I HAVE PROMISED NEVER TO TALK TO HIM EVER AGAIN 20:09:07 my usual razor-sharp wit fails me, now. 20:09:23 -!- tswett_ has changed nick to tswett. 20:09:28 One of my friends was telling me a story today 20:09:31 though a maternal insult is always a reliable choice. 20:09:48 About how, one christmas, she received a DVD and was struggling to open it 20:10:04 So she asked her brother to give her a knife or a pair of scissors 20:10:07 And he replied: 20:10:19 "Don't worry. We can use my razor-sharp wit!" 20:10:24 That's the story 20:12:40 -!- hagb4rd has joined. 20:12:56 kallisti: your mom is a reliable choice 20:26:48 -!- ais523_ has joined. 20:27:38 -!- ais523 has quit (Ping timeout: 245 seconds). 20:27:43 -!- ais523_ has changed nick to ais523. 20:35:29 -!- hagb4rd has quit (Ping timeout: 256 seconds). 20:45:15 -!- boily has quit (Quit: Poulet!). 20:52:18 -!- epicmonkey has quit (Ping timeout: 276 seconds). 21:02:04 -!- Jafet has joined. 21:05:41 -!- atriq has quit (Quit: Leaving). 21:29:15 -!- Nisstyre-laptop has joined. 21:33:30 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 21:34:18 -!- Nisstyre-laptop has quit (Ping timeout: 264 seconds). 21:53:44 -!- kinoSi has quit (Read error: Connection reset by peer). 21:54:10 -!- kinoSi has joined. 21:55:40 -!- hagb4rd has joined. 22:09:46 -!- augur has quit (Remote host closed the connection). 22:22:15 -!- Arc_Koen has joined. 22:23:35 -!- FreeFull has quit (Quit: Sleep). 22:29:38 oerjan: any new thoughts on ais523's non-deterministic brainfuck? 22:32:26 -!- nooga has quit (Ping timeout: 252 seconds). 22:33:00 which one was that again 22:33:33 i guess my current thought is that it was rather forgettable :P 22:33:52 Arc_Koen: 22:33:58 ^ 22:34:02 oops sorry 22:34:26 nothing to be sorry about, i just took a while answering 22:34:37 + > [ ] with [ ] identical to brainfuck and + is randomly + or - and > is randomly > or < 22:38:23 well, nothing new, no. 22:38:43 i think it may be particularly hard to use >< 22:39:10 What's the point? 22:39:30 to see if it's still possible to do anything in it, presumably 22:40:43 -!- augur has joined. 22:44:05 it may be simpler starting with boolean cells (and + always flipping the bit) 22:44:27 http://samuelhughes.com/boof/ 22:44:54 and then maybe use [>] to move to nearest zero cell, digfill-style 22:50:12 i just don't see any way to reliably return to a cell. 22:51:07 well if you're on a cell with all the cells to the right zero and the cell to the left 1 22:51:31 i mean if there is a nontrivial pattern of cell values. 22:51:33 hmmm that doesn't even work if the cell you're in is 1 22:52:09 well if we can find a pattern that makes it possible, then we *only* need to make programs that keep that pattern 22:53:33 anyway, gnight 22:53:39 night 22:55:45 -!- copumpkin has joined. 23:04:07 urrrh why is there no sum or successor function with type char in ocaml 23:06:48 > map succ "I dunno, use haskell >:P" 23:06:49 "J!evoop-!vtf!ibtlfmm!?;Q" 23:07:19 -!- jiella has quit (Quit: Leaving.). 23:08:01 it doesn't have sum though, not that summing unicode codepoints makes sense. 23:08:03 ibtlfmm, huh? 23:08:39 shachaf: you didn't get zzo38's language name before? :) 23:08:53 oerjan: Sure I did. 23:09:20 oerjan: note that < and > all do at least move 23:09:25 so you always know if you're on evens or odds 23:09:35 this may make it possible to maintain two numbers on the stack, somehow 23:11:10 err 23:11:12 two numbers 23:11:14 full stop 23:11:16 on odds and evens of the tape 23:11:23 yeah 23:11:49 Well, not if you use > in a loop... 23:11:51 the problem is that the value of the numbers is pretty fuzzy and hard to determine 23:11:55 shachaf: if you do [>] 23:12:16 then you're moving until you find some blank cell that has no blank cells between it and your current location 23:12:18 if you do [>>] 23:12:24 it's the same except for respecting oddness/evenness 23:12:28 i am not sure there is a reliable way to distinguish more than even vs. odd numbers, zero is a subset of even but can you reliably set some cell to non-zero even? 23:13:02 oerjan: [+] 23:13:04 err 23:13:05 [+]+ 23:13:09 reliably sets it to 1 or -1 23:13:17 non-zero _even_ i said 23:13:51 there is definitely no way to distinguish 1 from -1, by symmetry 23:14:22 (not that i think you meant that) 23:14:41 I'm not convinced you can reliably distinguish 1 from 2 without an infinite loop 23:14:55 on one of the cases 23:15:09 but let's see 23:15:36 something along the lines of [+]++[>] seems promising 23:15:43 except you can't figure out where the pointer is afterwards 23:15:46 and you'd need to put it in a loop 23:15:55 that could easily keep it as 0 23:15:57 yes 23:16:05 the idea is you loop until the [>] runs and moves the pointer 23:16:09 but you can't detect whether it moved or not 23:16:30 you could just do [[+]++[rest of program here]] 23:16:35 but that doesn't repeat 23:16:43 sort of a limited cps 23:16:49 yes 23:16:56 well, it /does/ repeat, if you only have one of them 23:17:06 you could drop out of the main loop to set cells to 2/-2 23:18:22 hm an observation: if a run of non-zero's is even in length, then you _can_ reliably get to the zero at a chosen end 23:18:43 by [>>] or >[>>] 23:19:06 yes 23:19:15 from a known point inside it 23:19:16 no, not at a chosen end 23:19:22 left/right symmetry 23:19:27 oh, I see 23:19:31 by using the length as an indicator 23:19:36 yeha 23:19:38 *ah 23:19:51 err, couldn't you also end up one past the other end? 23:20:00 oh hm 23:20:04 darn 23:42:02 -!- Arc_Koen has quit (Quit: that's dr. turing to you, punk). 23:43:25 i wonder if this is somehow related to an idea i've had - a brainfuck variant where you can only apply + to 0 and - to 1, and any other use of them is undefined behavior 23:44:01 your language seems much easier 23:44:05 it's sort of an intersection of every bf cell size with unbounded tape, but still TC 23:44:17 yeah it has no >< problem 23:44:18 yeah, it's obviously TC 23:44:39 you can emulate boolfuck flip with 2 cells easily 23:46:19 the relation i thought of is just that your variant has those operations as + (or [+]+) and [+] respectively 23:56:51 +[>>]+[>>]+ creates a 10101 pattern and puts you at one end 23:58:01 +[>]+[>]+[>>]+ creates a 11101 pattern 23:59:56 neither [+]+ nor [+] cares about the original value