00:02:10 shachaf: did you know about SMEP? 00:02:51 prevents the CPU from executing user-accessible memory in kernel mode 00:03:34 Yes, you mentioned it in here a few days ago, I think. 00:03:41 -!- augur has quit (Remote host closed the connection). 00:03:52 okay 00:04:04 this will result in kernel exploits being more interesting :) 00:05:15 i think it does not actually provide much security, because userspace NX exploitation is already such a well-developed field 00:07:34 I wonder how much overhead all these things have. 00:07:45 SMEP should have basically no overhead 00:07:54 if you're talking about processor performance 00:08:09 Yes, but things like -fstack-protector do have some. 00:08:12 yes 00:08:18 I mean overall compared to "if we didn't have to worry about security". 00:08:21 i did some measurements for the mosh hardening project 00:08:28 results vary 00:08:32 Alternatively "if we had better ways to deal with security issues than things like -fstack-protector". 00:08:49 (Which we do, of course. But anyway.) 00:08:59 well, yes and no 00:09:01 defense in depth :) 00:09:10 Sure. 00:10:54 i had this argument with ezyang when he suggested that SafeHaskell provides browser-quality sandboxing "for free" 00:11:18 theoretically, sure 00:11:24 * shachaf is very suspicious of things like SafeHaskell. 00:11:30 And SecureECMAScript and all those. 00:11:37 but how much do you trust the GHC runtime system, a 50,000 line 20 year old concurrent C program? 00:11:54 not to mention the implementation of SafeHaskell itself, which is very new 00:15:51 of course we all know that writing secure C code is easy if you are not an idiot 00:16:00 (an idiot is anyone who ever makes a mistake) 00:16:57 that's why i write all my C code using randomly generated identifier names and no whitespace 00:17:06 if you can't understand it, you have no business programming in C to begin with 00:17:10 @fresh 00:17:11 Hahp 00:17:20 Halp 00:17:25 Isn't the JVM supposed to be a secure sandbox, in theory? 00:17:30 At least for usages such as applets? 00:17:35 yes 00:17:38 > (ord 'l' - ord 'h') * 26 00:17:39 104 00:17:41 omg clojure 00:18:05 kmc: Don't disclojure, man. 00:18:08 -_- 00:18:45 -!- Vorpal has quit (Ping timeout: 260 seconds). 00:19:15 And, well, "supposed tp" doesn't always seem to work out :( 00:19:17 Wish it did 00:19:24 *to 00:19:26 sure, in theory JVM is secure, but it might have a bug, and anything which might have a bug is no better than nothing at all 00:19:36 that's why i run all my programs in ring 0 00:19:47 i mean, linux might have a privilege escalation bug, so there is no point to even running any code in userspace 00:19:53 ok troll mode disengage 00:20:07 kmc: The switch is stuck! 00:20:13 * kmc pushes harder 00:20:41 http://www.youtube.com/watch?v=14xcsz43Kuw#t=16s 00:21:27 > "tr"++cycle"ol" 00:21:29 "trolololololololololololololololololololololololololololololololololololol... 00:21:55 i think a trollcycle is a bicycle where the brakes don't work 00:22:08 kmc: That's just a rollcycle 00:22:11 okay 00:22:34 I hope y'all're watching that video!!!!!! 00:22:36 `run java -jar clojure-1.4.0.jar "(str [1 2 3])" 00:22:45 -!- oerjan has quit (Quit: Good night). 00:22:54 zzz 00:22:57 Exception in thread "main" java.io.FileNotFoundException: (str [1 2 3]) (No such file or directory) \.at java.io.FileInputStream.open(Native Method) \.at java.io.FileInputStream.(FileInputStream.java:137) \.at java.io.FileInputStream.(FileInputStream.java:96) \.at clojure.lang.Compiler.loadFile(Compiler.java:6909) \..at clojure.main$load_script.invoke(main.clj:283) \.at 00:23:10 `run ls 00:23:12 I... uh 00:23:15 bin \ canary \ clojure-1.4.0.jar \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs 00:23:28 `run mv clojure-1.4.0.jar /tmp/junk 00:23:32 No output. 00:23:33 -!- augur has joined. 00:23:44 `run mv /tmp/junk/clojure-1.4.0.jar ~ 00:23:47 mv: cannot stat `/tmp/junk/clojure-1.4.0.jar': No such file or directory 00:23:55 :( 00:24:15 `ls 00:24:18 bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs 00:24:27 `ls /tmp/junk 00:24:30 ls: cannot access /tmp/junk: No such file or directory 00:24:33 This channel doesn't need a Clojurebot. 00:24:50 It's a better clojurebot than clojurebot 00:24:55 -!- zzo38 has joined. 00:25:53 I don't entirely get what happened with /tmp/junk 00:26:50 I don't either. 00:41:31 -!- TeruFSX has joined. 01:13:14 -!- copumpkin has quit (Ping timeout: 240 seconds). 01:13:49 -!- copumpkin has joined. 01:18:10 bye 01:18:15 -!- benuphoenix has left. 01:29:50 -!- Phantom_Hoover has quit (Quit: Leaving). 01:36:12 -!- DHeadshot has quit (Read error: Connection reset by peer). 01:36:18 -!- DH____ has joined. 01:39:38 -!- augur has quit (Remote host closed the connection). 01:42:55 -!- augur_ has joined. 01:51:48 -!- Phantom_Hoover has joined. 01:54:28 -!- augur_ has quit (Remote host closed the connection). 01:57:12 -!- augur_ has joined. 02:00:22 -!- augur_ has quit (Remote host closed the connection). 02:22:49 -!- carado has joined. 02:26:03 -!- augur has joined. 02:37:01 -!- Phantom_Hoover has quit (Quit: Leaving). 02:38:46 -!- carado has quit (Quit: Leaving). 02:40:48 -!- segorev has quit (Quit: This computer has gone to sleep). 02:44:45 -!- itidus20 has changed nick to itidus21. 02:57:34 -!- Arc_Koen has joined. 02:58:46 hullo 03:08:40 Do you know the call/cc yin yang? 03:23:02 -!- DH____ has quit (Read error: Connection reset by peer). 03:23:07 -!- DHeadshot has joined. 03:27:12 -!- DHeadshot has quit (Read error: Connection reset by peer). 03:27:17 -!- DH____ has joined. 03:38:18 kmc: getcc :: MonadCont m => m (m a) is a fun Cont thing. 03:41:31 heh 03:43:19 You need fix to implement it, though. 03:43:39 (Since you can use it to make infinite loops, of course.) 03:43:58 I wonder if the delimited continuations library that currently exists for Clojure allows for the continuations to be passed to untransformed code 03:44:02 Because that would be cool 03:44:27 And for some bizarre reason I'm under the impression that it should be theoretically possible 03:44:53 What's the most unclojury topic in the world? 03:45:03 I bet Sgeo could relate it to Clojure. 03:45:37 -!- Arc_Koen has quit (Quit: Arc_Koen). 03:49:46 "In C, a compound literal designates an unnamed object with static or automatic storage duration. In C++, a compound literal designates a temporary object, which only lives until the end of its full-expression. As a result, well-defined C code that takes the address of a subobject of a compound literal can be undefined in C++." 03:49:57 yikes 03:50:26 Oh, that's fun. 03:50:30 (compound literal is something like (struct foo) { 1, 2, 3 } ) 03:50:49 Does that work with arrays? 03:51:01 (int[3]){1,2,3} 03:51:15 yes 03:51:18 Neat. 03:51:19 Didn't C++ used to just compile to C? 03:51:19 according to GCC manual 03:51:38 Sgeo: C++ is a language not an implementation 03:51:51 you're right that some C++ implementations work this way, including the first implementations 03:52:02 'Cfront was the original compiler for C++ (then known as "C with Classes") from around 1983, which converted C++ to C' 03:52:32 Comeau C++ works this way too 03:52:47 GHC worked that way too. 03:53:01 Well, not really. 03:53:14 compound literals weren't in C until C99 03:53:20 presumably if a C++ 03:53:22 er 03:53:51 presumably a C++-to-C compiler translates C++ compound literals to something else in C 03:54:09 oh, but compound literals aren't in C++ either -- supporting them in C++ mode is a GNU extension 03:54:30 will there eventually be a version of C++ based on C99? is C++11 based on C99? 04:03:13 -!- DH____ has quit (Read error: Connection reset by peer). 04:03:58 -!- segorev has joined. 04:11:58 -!- segorev has quit (Quit: Leaving). 04:13:16 -!- ogrom has joined. 04:16:22 kmc, what do you think about emacs? 04:26:16 i know the question was addressed to kmc, but, emacs is a substandard nes emulator 04:26:31 and i have never used it 04:28:37 GNU GRUB 2 is a much better bootloader than Emacs. 04:32:10 When I was in 6th grade, I thought my book saying that some people consider emacs to be almost like an OS meant that I could literally boot into it from the CD. 04:32:22 I was hoping that that would help me fix my inability to boot my computer. 04:33:10 * shachaf waits for the Clojure tie-in. 04:33:35 Clojure is currently my main motivation to learn Emacs... so that's a sort of tie-in. 04:33:54 We got it! 04:34:03 You asked for it! 04:34:09 shachaf professional clairvoyant??? 04:34:29 When i was in 6th grade i hadn’t ever seen a CD in real life. 04:34:45 monqy: not professional :'( 04:34:50 monqy: will you pay me for it????????? 04:34:52 could've fooled me! 04:34:53 yes 04:34:53 (answer: no) 04:34:55 I would give you my money 04:35:02 monqy: do you have a money 04:35:03 if you can turn it into future telling 04:35:05 and you can 04:35:14 I don't have money though 04:35:53 monqy::;what if i giv emo you moa a money? 04:37:14 give money to yourself and then maybe you will be able to tell the future for yourself 04:37:18 what is the future like 04:37:47 in the future i havea as much amoney as the present :'( 04:39:56 in the future there will be flying cars and public holograms 05:12:59 The MMC5 Famicom mapper can use ExRAM as an extra nametable or attribute table, but when used in this mode, it is write-only, and if the PPU is not rendering, it will write zero instead of the value you are trying to write. Do you know what logic causes this to happen? 05:27:38 -!- kinoSi has quit (Read error: Connection reset by peer). 05:28:06 -!- kinoSi has joined. 05:31:42 -!- TeruFSX has quit (Ping timeout: 244 seconds). 05:51:46 What does a RAM chip normally do if some of the address lines are not connected? 05:52:55 -!- ztirf has joined. 05:55:46 -!- ztirf has quit (Client Quit). 06:05:58 -!- zzo38 has quit (Remote host closed the connection). 06:53:24 -!- Slereah has quit (*.net *.split). 06:53:24 -!- lahwran has quit (*.net *.split). 06:53:24 -!- constant has quit (*.net *.split). 06:53:25 -!- Sanqui has quit (*.net *.split). 06:53:25 -!- comex has quit (Read error: Operation timed out). 06:53:40 -!- atriq has joined. 06:56:07 -!- comex has joined. 07:04:39 Is newtype CList a = CList ((a -> CList a -> a) -> a) a Functor? 07:04:46 -!- nvt has quit (Ping timeout: 256 seconds). 07:05:33 atriq: Doesn't look like a Functor, since it's invariant (?). 07:06:03 It's meant to be a homogenous church list 07:06:36 Typed Church lists are generally homogeneous, aren't they? 07:06:43 @ty foldr 07:06:45 forall a b. (a -> b -> b) -> b -> [a] -> b 07:06:46 Perhaps 07:06:57 -!- Jafet has joined. 07:06:59 type ChurchList a = forall b. (a -> b -> b) -> b -> b 07:07:42 Or rather, an infinite church list, apparently 07:08:04 (a -> b -> b) -> b? 07:08:15 (a -> CList a -> a) -> a 07:08:24 I've just woken up 07:08:34 I shouldn't read edwardk when I'm half asleep 07:08:40 Are you trying for a Scott list instead of a Church list? 07:08:40 And I shouldn't follow my dreams 07:08:43 s/list/stream/g 07:08:46 I don't know? 07:08:48 Maybe? 07:09:19 Or "Boehm-Berarducci", as Oleg apparently pointed out? 07:09:38 Er, no. 07:09:42 http://comments.gmane.org/gmane.comp.lang.haskell.cafe/100508 07:09:44 That's ChurchList. 07:10:12 -!- Slereah has joined. 07:10:12 -!- Sanqui has joined. 07:10:12 -!- lahwran has joined. 07:10:12 -!- constant has joined. 07:13:18 My attempts to do a church list without making a new type result in infinite types 07:13:58 You're probably trying for a Scott list instead of a Churchy list. 07:14:24 Churchy is foldr. 07:14:40 Hmm 07:14:43 Such that clist (:) [] == actualList 07:14:53 fix (pair 1 . unsafeCoerce) seems to work 07:15:13 No, it's not pairs. 07:15:17 * shachaf will stop now. 07:15:20 Okay 07:15:26 I'm not doing a Church list 07:15:37 I'm doing something which until now I thought was called a church list 07:15:50 OK -- you need recursive types for a recursive Scott encoding. 07:22:15 Hmm 07:25:58 Thank you, shachaf 07:26:02 You've been a real help 07:26:47 ? 07:27:14 With my SECOND HASKELL OBFUSCATION 07:30:48 :t \h t c n -> c h (t c n) 07:30:49 forall t t1 t2 t3. t -> ((t -> t2 -> t3) -> t1 -> t2) -> (t -> t2 -> t3) -> t1 -> t3 07:31:03 :t ap (const ap) (ap (const (ap (const ap))) (ap (const (ap (const const))) (ap (const (ap id)) const))) 07:31:04 forall b a b1 b2. b -> ((b -> a -> b1) -> b2 -> a) -> (b -> a -> b1) -> b2 -> b1 07:33:27 -!- nvt has joined. 07:44:40 -!- nooga has joined. 07:44:58 Hmm 07:45:05 I'm gonna need unsafeCoerce anyway 07:46:07 Woo! Core dump! 07:57:21 what did you do and why did you do it 07:57:53 more questions: why didn't you not do it 07:58:10 guilt and shame: you could have avoided it 07:58:31 monqy: Could I have avoided guilt and shame? 07:58:43 are you guilty of something shameful 07:59:00 monqy, I used to many unsafeCoerces, for fun, because MY MIND COMMANDED TO ME, yes and I did 07:59:19 monqy: I don't know. :-( 07:59:28 shachaf: you may or may not have already avoided it 08:02:58 Good point monqy. 08:03:04 Good poinqy. 08:03:10 -!- mig22 has joined. 08:04:13 > Identity 1 >> Identity 'a' 08:04:14 No instance for (GHC.Show.Show 08:04:14 (Data.Functor.Identity.I... 08:04:21 > runIdentity (Identity 1 >> Identity 'a') 08:04:22 'a' 08:04:31 > const id 1 'a' 08:04:32 'a' 08:10:21 -!- MoALTz has joined. 08:15:38 -!- ais523 has quit. 08:35:40 -!- oerjan has joined. 08:38:29 00:25:53: I don't entirely get what happened with /tmp/junk 08:38:29 00:26:50: I don't either. 08:39:32 i am guessing that it disappeared when HackEgo's chroot was wiped out; only the HackEgo directory is kept in the repository. 08:39:41 `ls /tmp 08:39:53 No output. 08:40:10 `ls / 08:40:14 bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr \ var 08:40:28 `run echo test >/tmp/test123 08:40:31 No output. 08:40:35 `ls /tmp 08:40:39 No output. 08:40:47 `run echo test >/tmp/test123; ls /tmp 08:40:51 test123 08:41:03 `pwd 08:41:06 ​/hackenv 08:41:21 everything you want kept needs to be put in there 08:42:26 `run echo test >/blah 08:42:30 bash: /blah: Permission denied 08:42:53 `ls /var 08:42:56 irclogs 08:52:09 Is newtype CList a = CList ((a -> CList a -> a) -> a) a Functor? 08:53:07 that scott thing aside, i think that should be newtype CList a = CList (forall b. (a -> CList a -> b) -> b) 08:53:28 in which case it might be a functor 08:55:37 fmap f (CList l) = CList $ \p -> l (\a as -> p (f a) (fmap f as)) or so 08:56:47 not sure if that lambda needs to be extracted to get an explicit type annotation 08:57:37 probably not, since that's similar to legal stuff with runST 09:12:25 -!- atriq has quit (Remote host closed the connection). 09:13:53 kmc: Your FAQ is at the top of the Google results for «haskell faq» now! 09:27:24 -!- Phantom_Hoover has joined. 09:39:35 -!- monqy has quit (Quit: hello). 10:11:55 -!- carado has joined. 10:23:05 -!- AnotherTest has joined. 10:23:12 Hello 10:26:21 g'da 10:26:23 y 10:44:57 > (0 :+ 1) ** (0 :+ 1) 10:44:58 0.20787957635076193 :+ 0.0 10:58:32 -!- xzy has joined. 10:58:56 `welcome xzy 10:59:00 xzy: 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.) 11:00:13 although it's very quiet this time of week/day 11:17:14 -!- augur has quit (Remote host closed the connection). 11:24:59 -!- asiekierka_ has joined. 11:25:00 hello 11:25:40 oerjan: A time of week/day that's not a weekday. 11:27:35 well basically _both_ the time of week and time of day are about pessimal now 11:32:39 I'm pretty sure I had a week-wrapped graph too, but http://xn--nxa.zem.fi/~fis/test7h.png says 9-10am Finnish time (it's now about 14:32) is more pessimal. 11:32:56 Not that this is much better. 11:33:10 (That's also slightly old.) 11:33:30 well ok that's worse 11:34:04 Okay, http://xn--nxa.zem.fi/~fis/test12.png seems to suggest the difference is smaller; that's IIRC a newer plot. 11:34:19 (Newer, not new.) 11:34:37 -!- augur has joined. 11:35:23 -!- augur has quit (Remote host closed the connection). 11:35:31 -!- mig22 has quit (Quit: mig22). 11:35:36 it had cpressey and alise in it :P 11:36:04 The one before had ehird and AnMaster, so... 11:42:57 -!- Nisstyre has quit (Ping timeout: 245 seconds). 11:49:40 > 0 ** 0 11:49:42 1.0 11:49:46 ? 11:50:01 Why doesn't that give an error? 11:50:07 > 0 ^ 0 11:50:08 1 11:50:34 > 0 ^^ 0 11:50:35 1.0 11:50:47 >0 ´pow´ 0 11:50:54 oh pow doesn't exist? 11:51:15 no, and if it did, that wouldn't be the right syntax 11:51:42 sorry my haskell knowledge is virtually zero 11:51:57 > 0^^0 11:51:58 it has the three operators above 11:51:58 1.0 11:52:04 so why is that 1? 11:52:14 It should be undefined or something? 11:52:35 because it is more useful for it to be 1. 11:52:48 > isNaN 0/0 11:52:49 No instance for (GHC.Real.Fractional GHC.Bool.Bool) 11:52:49 arising from a use o... 11:53:02 > isNaN (0 / 0) 11:53:03 True 11:53:22 > isNaN 0^0 11:53:23 No instance for (GHC.Num.Num GHC.Bool.Bool) 11:53:23 arising from a use of `GHC.R... 11:53:26 ugh 11:53:35 > isNaN (0^0) 11:53:36 False 11:53:56 Why is it more useful for 0^0 = 1? 11:54:21 for ^ and ^^, presumably it makes no sense to waste time checking the first argument for equality to 0 11:54:37 for **, you have to ask the IEEE floating point standard 11:55:03 also for ^ , because it makes polynomials work naturally 11:57:21 > [sum [a*x^n | (a,n) <- zip [0..] [1,2,3]] | x <- [0..5]] 11:57:22 [0,3,20,63,144,275] 11:58:28 -!- Nisstyre has joined. 12:03:52 When I round infinity, this happens: 12:03:53 > round (1/0) 12:03:54 179769313486231590772930519078902473361797697894230657273430081157732675805... 12:04:02 ? 12:04:24 @ty round (1/0) 12:04:25 forall b. (Integral b) => b 12:05:00 > length . show $ round (1/0) 12:05:02 309 12:05:08 Why is infinity integral anyway? 12:05:17 it isn't 12:05:24 Then why is there no type error? 12:05:26 round always gives an integral result 12:05:29 :t round 12:05:30 forall a b. (RealFrac a, Integral b) => a -> b 12:05:36 > isInfinity (1/0) 12:05:37 Not in scope: `isInfinity' 12:05:50 > isInfinite (1/0) 12:05:51 True 12:06:19 i recall that round(1/0) thing from before... 12:06:19 :t isInfinite 12:06:20 forall a. (RealFloat a) => a -> Bool 12:06:24 > 10^309 12:06:25 100000000000000000000000000000000000000000000000000000000000000000000000000... 12:06:34 > 10^309 :: Double 12:06:35 Infinity 12:06:39 > 10^308 :: Double 12:06:40 1.0000000000000006e308 12:06:45 :t 10^309 12:06:46 forall t. (Num t) => t 12:07:03 :t 1**1 12:07:05 forall t. (Floating t) => t 12:07:10 so fininity is a RealFloat? 12:07:14 > 1.79769e308 :: Double 12:07:14 *infinity 12:07:15 1.79769e308 12:07:20 > 1.7977e308 :: Double 12:07:21 Infinity 12:07:44 it's basically converting the largest possible Double to Integer 12:07:49 > fininity 12:07:50 Not in scope: `fininity' 12:08:04 > sin(1/0) 12:08:05 NaN 12:08:06 well that works 12:08:24 @google fininity 12:08:25 http://www.spellingcenter.com/fininity 12:08:26 Title: fininity. Suggestions for fininity provided by Spelling Center of the the Free O ... 12:08:29 > even (1/0) 12:08:31 Ambiguous type variable `t' in the constraints: 12:08:31 `GHC.Real.Fractional t' 12:08:31 ... 12:08:36 the round thing is probably an accident 12:09:27 > floatDigits (1/0) 12:09:28 53 12:09:37 That must be an accident too? 12:10:32 @google finninity 12:10:33 http://twitter.com/pyyvaara/statuses/200636046323617795 12:10:33 Title: Twitter / Pyyvaara: Just met a Finn! She was jamming ... 12:10:37 > decodeFloat (1/0) 12:10:38 (4503599627370496,972) 12:10:51 > decodeFloat (2/0) 12:10:52 (4503599627370496,972) 12:11:05 > floatDigits (undefined :: Double) -- no accident 12:11:06 53 12:11:14 > 4503599627370496 ^972 12:11:15 182012343000035853826900847249801744536541097171706064167428854069310344820... 12:11:29 > isInfinite (4503599627370496 ^972) 12:11:30 True 12:11:44 > isInfinite (4503599627370495 ^972) 12:11:45 True 12:11:59 > isInfinite (10^309) 12:12:00 True 12:12:07 BIT OVERKILL THERE 12:12:15 > isInfinite (decodeFloat (1/0 - 1 ) ) 12:12:16 No instance for (GHC.Float.RealFloat 12:12:16 (GHC.Integer.Type.... 12:12:30 isInfinite isn't definite for integrals 12:12:33 *defined 12:12:55 or tuples, for that matter 12:13:13 let inf = decodeFloat (1/0 - 1 ) in isInfinite (first inf ^ second inf) 12:13:25 > let inf = decodeFloat (1/0 - 1 ) in isInfinite (first inf ^ second inf) 12:13:26 No instance for (Control.Arrow.Arrow (,)) 12:13:26 arising from a use of `Control... 12:13:29 :( 12:13:33 you realize that's not what decodeFloat does, right? 12:13:42 oh wait 12:14:19 If decodeFloat x yields (m,n), then x is equal in value to m*b^^n, where b is the floating-point radix, [...] 12:14:52 > 4503599627370495 * 2^972 12:14:53 179769313486231550856124328384506240234343437157459335924404872448581845754... 12:15:46 > exponent (0/1) 12:15:47 0 12:16:16 > exponent ( 1 ^10000) 12:16:17 1 12:16:32 > exponent ( 4503599627370495 * 2^972 ) 12:16:33 1024 12:16:35 Oh I see 12:16:46 That's nice 12:17:29 > 4503599627370495 * 2^972 :: Double 12:17:30 1.7976931348623155e308 12:19:29 -!- bastien_ has joined. 12:22:34 -!- oerjan has quit (Quit: Later). 12:25:38 -!- bastien_ has left ("Leaving"). 12:28:21 -!- FireFly has quit (Ping timeout: 245 seconds). 12:34:58 -!- nys has joined. 12:38:30 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 12:45:30 -!- ztirf has joined. 12:53:28 -!- hagb4rd has quit (Ping timeout: 245 seconds). 13:04:17 -!- FireFly has joined. 13:13:35 -!- epicmonkey has joined. 13:28:08 -!- kinoSi has quit (Read error: Connection reset by peer). 13:28:36 -!- kinoSi has joined. 13:39:03 -!- ogrom has quit (Quit: Left). 13:47:32 -!- hagb4rd has joined. 13:48:57 -!- ztirf has quit (Ping timeout: 252 seconds). 14:08:25 > 6.67e-11 * ((5000 * 6000) / 1000^2) 14:08:26 2.001e-9 14:23:14 -!- FireFly has quit (Ping timeout: 240 seconds). 14:42:47 -!- Effilry has joined. 14:45:35 -!- Effilry has quit (Changing host). 14:45:35 -!- Effilry has joined. 14:45:45 -!- Effilry has changed nick to FireFly. 14:53:39 -!- Jafet has quit (Quit: Leaving.). 14:53:55 -!- FireFly has quit (Ping timeout: 246 seconds). 15:00:31 -!- TeruFSX has joined. 15:10:46 -!- FireFly has joined. 15:11:29 -!- asiekierka_ has quit (Ping timeout: 260 seconds). 15:27:41 -!- ogrom has joined. 15:32:40 -!- xiaoding has joined. 15:32:59 -!- xiaoding has left. 15:38:48 -!- xiaoding has joined. 15:39:15 -!- xiaoding has left. 15:45:26 -!- xiaoding has joined. 15:46:48 -!- xiaoding has left. 15:48:07 -!- FireFly has quit (Changing host). 15:48:07 -!- FireFly has joined. 16:18:00 -!- Phantom_Hoover has joined. 16:38:18 shachaf: did you know about gcc -finstrument-functions 16:38:46 -!- ogrom has quit (Quit: Left). 17:09:27 -!- chicken1 has changed nick to chickenzilla. 17:23:43 -!- hagb4rd has quit (Ping timeout: 246 seconds). 17:33:50 -!- SHUPFS has joined. 18:14:21 -!- Vorpal has joined. 18:23:22 -!- ogrom has joined. 18:28:22 -!- atriq has joined. 18:28:49 Can anyone recommend some software for using a desktop recorder thingy as a webcam? 18:32:25 -!- AnotherTest has quit (Quit: Leaving.). 18:44:33 I can't say that I recommend such software, atriq 18:44:41 kmc: Nope. 18:44:56 -!- Nisstyre-laptop has quit (Remote host closed the connection). 18:47:22 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 18:51:12 -!- Phantom_Hoover has joined. 18:52:47 -!- ogrom has quit (Quit: Left). 19:09:39 shachaf: do you know of a tool which is like strace or ltrace but traces regular userspace function calls? 19:09:47 it should be possible to build such a thing with Valgrind or Pin 19:10:01 but i have not yet found a premade strace-like solution 19:11:18 kmc: As in every call(/jump) instruction? 19:11:55 basically 19:12:13 probably only calls 19:12:30 But, like, tail calls, man! 19:12:34 true 19:12:35 Anyway, nothing comes to mind. 19:12:53 maybe you would log calls and jumps, but ignore them when the target is in the middle of a function 19:12:57 gdb might be able to do it by single-stepping? 19:13:04 (defined according to the placement of symbols in .text) 19:13:10 yeah, that will be hellaciously slow though 19:13:15 plus again, not a ready-made solution 19:13:30 Yep. 19:13:49 even a breakpoint at every function entry will be very slow 19:14:06 To be fair, valgrind is also very slow. 19:14:23 strace would be very slow if it did its stracey thing at every function call, too. 19:14:56 depends what you mean by the "stracey thing" 19:15:10 it involves context switching to the strace process, and then some additional ptrace system calls 19:15:22 none of which should be necessary for userspace call tracing 19:15:34 or for system call tracing for that matter -- but system calls are slow either way 19:15:49 Yes, but they're the equivalent of what gdb would do. :-) 19:15:55 * shachaf is aware that's not a very good argument. 19:19:05 is valgrind actually that slow even with the null tool? 19:19:20 the default memcheck tool is slow because it has to do a bunch of memory accounting 19:20:46 "Callgrind will not be able to collect any information, including calls, but it will have at most a slowdown of around 4, which is the minimum Valgrind overhead" 19:22:19 hm 19:23:15 i am on this train of thought because i realized that I find strace to be much more useful than GDB, as a debugging tool 19:25:30 -!- atriq has quit (Quit: Leaving). 19:32:45 -!- atriq has joined. 19:34:22 -!- oerjan has joined. 19:34:41 -!- epicmonkey has quit (Ping timeout: 260 seconds). 19:51:18 -!- xzy has left ("Leaving"). 20:02:30 https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-ash3/557161_435025123200414_1140631525_n.jpg 20:02:33 Do I count as sane? 20:03:44 insane, and very very hungry. stay away from that guy. 20:03:56 kmc: Depends on the type of debugging. 20:06:33 It's at a different abstraction level, and the kernel-userspace boundary happens to be really nice for "what is this program really doing, in the end?" 20:06:45 yeah 20:07:12 if i attach userspace tracing to some random program, i won't know what the functions are anyway 20:07:36 but also, i like that strace immediately gives you some probably useful output, which you can then post-process in ad-hoc ways, search in vim, etc 20:07:57 you don't particularly have to decide what 'experiment' you're going to run 20:08:14 Yes. 20:08:55 by the way I just tested how slow 'ls' gets if you put a breakpoint on every function 20:09:02 it took almost 2 minutes to list a small directory 20:09:45 What sbout gdb in recotd mofe? 20:09:51 record mode 20:09:57 what's that 20:10:19 The reverse-debugging thing. 20:10:39 Doesn't it have all the same information? 20:11:09 the function call history? 20:11:10 yeah, i guess so 20:11:13 i have no idea how it works 20:14:19 -!- monqy has joined. 20:14:51 -!- JaBoJa has joined. 20:24:17 -!- zzo38 has joined. 20:31:13 Is there such thing as discrete logic hardware optimizer? 20:41:56 -!- MoALTz has quit (Ping timeout: 248 seconds). 20:42:53 -!- Arc_Koen has joined. 20:43:13 hello 20:43:18 hi 20:43:21 Hey 20:45:21 I managed to make the call/cc yin yang with Haskell, yesterday. 20:45:40 Hurrah! 20:48:08 surprisngly many people don't seem to notice away message 20:49:02 shocking! 20:53:06 my friend semt me messages for 10 hours while I was /away IRL 20:57:51 -!- JaBoJa has quit (Read error: Connection reset by peer). 20:58:39 -!- JaBoJa has joined. 20:59:05 -!- JaBoJa has quit (Read error: Connection reset by peer). 21:00:05 -!- JaBoJa has joined. 21:04:09 -!- JaBoJa has quit (Read error: Connection reset by peer). 21:04:14 -!- atriq has quit (Ping timeout: 240 seconds). 21:05:19 -!- JaBoJa has joined. 21:07:57 -!- nooga has quit (Ping timeout: 246 seconds). 21:13:40 a 10x programmer isn't cool 21:13:45 you know what's cool? a 10,000x programmer 21:14:36 -!- nooga has joined. 21:17:24 -!- sivoais has quit (Ping timeout: 246 seconds). 21:17:25 -!- JaBoJa has quit (Read error: Connection reset by peer). 21:18:30 -!- JaBoJa has joined. 21:18:30 -!- JaBoJa has quit (Read error: Connection reset by peer). 21:19:53 -!- nooga has quit (Ping timeout: 268 seconds). 21:23:21 -!- sivoais has joined. 21:34:45 * coppro rages at the GIL 21:36:22 threading the python? 21:44:44 yup 22:04:55 or more accurately 22:04:55 would be 22:04:59 if the GIL weren't going to screw me over 22:06:08 :) life with python 22:46:05 -!- FreeFull has quit. 22:48:16 -!- ais523 has joined. 22:57:17 grrr 23:00:24 my town organizes a game that ends tomorrow where you have to find a way to write 2012 as the result of a calculation using only consecutive numbers 1, 2, 3, ... in growing order (starting with 1) and operations +, -, *, /, ^, sqrt, factorial, and parentheses 23:00:50 and they provide an example of such a calculation, with result 2011. 23:01:36 the example uses only 1, 2, 3, 4, 5, so it trivially gives a solution for 2012 in 7 (using the same calculation, -6 + 7) 23:01:59 finding a solution in 6 is easy - actually there seem to be a lot of them 23:02:51 but I couldn't find one in 5... so since it's the last day I decided to make a program to compute all possible calculations; for 6 it found many solutions, but for 5 it terminated without any. 23:05:34 in case of a tie for the shortest answer, they will randomly select one of the tying players... finding in 6 was way to easy to avoid that :( 23:06:38 so basically if you can write 2012 as some of those operations using each number from 1 to 5 only once, you'll win? 23:06:54 yep 23:07:02 only once, and in the right order 23:07:49 I found ((1+2)!)!*3-(4+6!/5) in one minute but the 6 comes before the 5 so it doesn't work 23:07:54 oh, in the right order 23:07:58 interesting 23:08:47 the question is somehow ambiguous though - for instance they list "- (subtraction)" as a valid operation but not "unary negation", yet I'm not sure they'd refuse a solution starting with -1 23:09:32 also it all works with integers, and they don't say if ": (division)" is integer division or real division 23:10:23 I'd assume real 23:10:56 that's also what I assumed 23:11:05 I can get 2015 :( 23:11:11 hehe 23:11:19 I can give you the 2011 example to help 23:11:33 if you do find a solution in 5 though, please don't tell me 23:11:56 (at least not until tomorrow) 23:11:56 i know what i'd do if they'd included logarithms too :P 23:12:24 ((1+2)!)! +(3!)^4-5 = 2011 23:25:00 Is it possible to make circuits described using discrete logic to be compiled into a native code which can emulate this circuit? 23:29:02 ais523: i guess you know the answer to that 23:34:51 -!- hagb4rd has joined. 23:47:24 coppro: all my solutions start from 2016 = 6! + 6^4, with 6 being either 6 or 2*3 or 3! or (1+2)! etc., and the other numbers making - 4. 23:50:39 -!- Vorpal has quit (Ping timeout: 244 seconds).