00:02:59 Bicyclidine: it doesn't say they have to be _of_ you hth 00:03:17 well i don't have any other man nudes 00:03:28 except like, rotten.com stuff 00:05:11 -!- tswett has joined. 00:05:11 -!- tswett has quit (Changing host). 00:05:12 -!- tswett has joined. 00:05:47 OKAY 00:06:33 -!- Sprocklem has quit (Quit: Bye). 00:11:58 -!- Melvar` has joined. 00:14:41 -!- Melvar has quit (Ping timeout: 264 seconds). 00:15:25 -!- Melvar`` has joined. 00:15:32 -!- Melvar`` has changed nick to Melvar. 00:17:23 -!- Melvar` has quit (Ping timeout: 255 seconds). 00:17:25 -!- copumpkin has joined. 00:17:41 just got an error message with a 20 kB gcc command line in it 00:22:52 -!- adu has joined. 00:22:59 Ooops ... not using dynamic linking, and a base library compiled with split objects is going to hurt linking time a lot, especially the latter. 00:23:18 * int-e feels stupid. 00:23:39 Just got an error message with a 2TB hard drive in it 00:25:59 Just got an error message that was uphill both way, and it was snowing. 00:26:21 hm so lambdabot would be better off _without_ split objects? 00:26:32 or mueval 00:27:03 maybe you could run mueval in a sandbox 00:27:07 I believe so. I'll benchmark before I change the setup though. 00:27:31 I can just recompile ghc whichever way I prefer. 00:27:46 -!- Melvar` has joined. 00:28:21 (sandboxes won't help with the base library anyway) 00:28:46 int-e: idea: have mueval import everything and get it linked in, and then use one of the process state freezing things. 00:28:57 then you can just thaw the process for each evaluation. would that work? 00:28:59 I wonder if you can make a fork of ghci that forks after linking everything 00:29:17 elliott: I don't know. It's quite plausible. 00:29:18 well i just meant that you might want lambdabot itself to use split objects even if mueval doesn't. just thinking wildly here. 00:29:22 The parent ghci becomes while(...) fork() 00:29:30 imo it should coredump 00:29:53 -!- Melvar has quit (Ping timeout: 252 seconds). 00:30:08 All of these approaches will require some RTS tweaking, to set up the threads (and pipes between them) again on restart. 00:30:20 coredump to ramdisk 00:30:31 int-e: there's some process freezing stuff in linux nowadays that might be able to do it transparently 00:30:32 Isn't forkProcess enough? 00:30:37 Jafet: if you do that you might as well just port @run to use the repl library 00:30:38 -!- nisstyre has joined. 00:30:59 Jafet: in the presence of threads and pipes? no. 00:31:17 -!- Melvar`` has joined. 00:31:26 int-e: http://criu.org/Main_Page 00:31:29 "repl: IRC friendly REPL library." woah 00:32:58 -!- Melvar` has quit (Ping timeout: 240 seconds). 00:35:11 elliott: bookmarked 00:36:10 "mount: ntfs_pread failed: Input/output error" time to get a new disk 00:36:43 before you do, does dmesg show hardware read errors? 00:37:47 Yes. (Oddly, I was looking at /var/log/dmesg, which does not. I guess they're in syslog.) 00:38:10 "Current pending sector count: 1430" 00:38:22 -!- Melvar has joined. 00:38:37 time to get a new disk 00:39:53 -!- Melvar`` has quit (Ping timeout: 264 seconds). 00:42:51 semantic fascination: matlab foo{[]}, that is extracting no indices of the cell array foo, is not just an empty array, but in fact the absence of value 00:42:55 -!- Melvar has quit (Ping timeout: 252 seconds). 00:43:23 disp(foo{[]}) => error not enough arguments, disp(foo{[]}, 3) => 3 00:43:37 and disp(4,3) => error too many arguments. 00:43:56 -!- Melvar has joined. 00:49:13 -!- Melvar` has joined. 00:51:17 -!- Melvar has quit (Ping timeout: 264 seconds). 00:51:17 -!- tromp has quit (Ping timeout: 264 seconds). 00:53:50 -!- Melvar` has quit (Ping timeout: 255 seconds). 00:56:25 -!- Bicyclidine has quit (Ping timeout: 252 seconds). 01:00:26 -!- adu has quit (Quit: adu). 01:01:40 -!- Melvar` has joined. 01:03:28 -!- boily has quit (Quit: INCONSPICUOUOUOUS CHICKEN). 01:03:33 -!- metasepia has quit (Remote host closed the connection). 01:07:29 -!- tswett has quit (Quit: tswett). 01:08:42 :t (<**>) 01:08:43 Applicative f => f a -> f (a -> b) -> f b 01:08:59 flip (<*>) or something else? 01:09:08 @src (<**>) 01:09:08 (<**>) = liftA2 (flip ($)) 01:11:44 something else 01:12:37 -!- adu has joined. 01:15:29 elliott: impressive runtime differences: http://sprunge.us/OeCM 01:16:11 int-e: wow, yeah. 01:16:13 oerjan: you showed an interest in that topic, too 01:16:22 int-e: that should make lambdabot much more usable 01:16:44 it was great giving things to a hacked-up-repl-based @run and getting responses instantly though :) 01:21:12 -!- newsham has quit (Ping timeout: 245 seconds). 01:21:31 -!- newsham has joined. 01:22:44 Sgeo: it performs the actions in the opposite order of what flip (<*>) does 01:23:46 https://www.youtube.com/watch?v=BKorP55Aqvg 01:29:30 @run flip runState 0 $ (<**>) get (modify (+1) >> gets (+)) 01:29:31 (1,1) 01:29:44 @run flip runState 0 $ (flip (<*>)) get (modify (+1) >> gets (+)) 01:29:46 (2,1) 01:31:34 @run [1,2,3] <**> [pred, id, succ] 01:31:35 [0,1,2,1,2,3,2,3,4] 01:31:42 elliott: Hmm, with mueval the picture is different. This needs further investigation 01:31:47 @run flip (<*>) [1,2,3] [pred, id, succ] 01:31:48 [0,1,2,1,2,3,2,3,4] 01:31:56 hm that didn't help 01:32:10 oh right 01:32:16 @run flip (<*>) [1,2,4] [pred, id, succ] 01:32:18 [0,1,3,1,2,4,2,3,5] 01:32:23 @run flip (<*>) [1,2,4] [pred, id, succ] 01:32:24 [0,1,3,1,2,4,2,3,5] 01:32:36 oops :P 01:32:49 @run [1,2,4] <**> [pred, id, succ] 01:32:50 can't find file: L.hs 01:33:11 ಠ_ಠ 01:33:11 ¯|¯⌠ 01:33:12 |\| 01:33:14 @run [1,2,4] <**> [pred, id, succ] 01:33:15 [0,1,2,1,2,3,3,4,5] 01:33:20 there you go 01:34:45 elliott: http://sprunge.us/BKRW 01:35:31 the difference seems a bit large for it to not be doing *something* differently there... 01:35:43 indeed. 01:36:04 Anyway, it's ... early. I'll regret that tomorrow. Good night! 01:36:10 maybe it's skipping over shared libs it doesn't want to load or something 01:36:13 -!- Melvar`` has joined. 01:36:18 heh 01:36:38 (CEST, you can do the math) 01:37:11 -!- Melvar` has quit (Ping timeout: 252 seconds). 01:57:18 -!- Melvar`` has quit (Ping timeout: 240 seconds). 01:57:33 -!- adu has quit (Quit: adu). 01:58:38 -!- Melvar`` has joined. 01:58:47 can i use your bot for math? 01:58:55 @help 01:58:55 help . Ask for help for . Try 'list' for all commands 01:58:59 @list 01:58:59 What module? Try @listmodules for some ideas. 01:59:16 @run 1+2+3 01:59:17 6 01:59:21 ty 01:59:36 @run 333.0 / 2 01:59:38 166.5 02:00:21 @run 500 * (1/3) 02:00:23 166.66666666666666 02:05:04 @run 167 + 233 02:05:06 400 02:05:27 @run let fib = 0 : 1 : zipWith (+) fib (tail fib) in fib 02:05:29 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,... 02:06:29 @run let fib = 0 : 1 : zipWith (+) fib (tail fib) in zipWith (/) fib (tail fib) 02:06:30 [0.0,1.0,0.5,0.6666666666666666,0.6,0.625,0.6153846153846154,0.6190476190476... 02:06:57 i will never understand haskell ._. 02:07:06 it's just map 02:07:10 * oerjan cackles evilly 02:07:26 the original esolang 02:07:41 no, that's INTERCAL hth 02:07:42 @run zipWith (+) [3, 7, 982.9] [2,11,4] 02:07:43 [5.0,18.0,986.9] 02:08:26 @run 1.5e10 02:08:27 1.5e10 02:08:46 @run flip (zipWith (/)) <*> tail $ fix $ scanl (+) 1 . (0:) 02:08:47 [1.0,2.0,1.5,1.6666666666666667,1.6,1.625,1.6153846153846154,1.6190476190476... 02:09:16 -!- adu has joined. 02:09:33 -!- tswett has joined. 02:09:33 -!- tswett has quit (Changing host). 02:09:33 -!- tswett has joined. 02:09:39 hi all 02:09:49 hi adu 02:10:43 @run 400-384 02:10:44 Jafet: i was trying to go lightly on fowl by not giving the scanl version 02:10:44 16 02:11:05 nah just throw more $ in there 02:12:15 hm a rare case where you need two $'s instead of . and $ 02:12:42 @run do print "hello world" 02:12:43 02:12:45 the more functions you use the better a programmer you are 02:12:58 more lines* 02:13:05 not in haskell 02:13:10 -!- Melvar`` has quit (Ping timeout: 265 seconds). 02:13:30 @run tail <**> zipWith (/) $ fix $ scanl (+) 1 . (0:) 02:13:31 [1.0,0.5,0.6666666666666666,0.6,0.625,0.6153846153846154,0.6190476190476191,... 02:13:49 hm oh right 02:13:49 oh yeah more fix is good too. fix everything 02:13:52 @run do args <- getFullArgs; print args 02:13:53 Not in scope: ‘getFullArgs’ 02:14:13 <**> doesn't help over flip (<*>) with reader monads 02:14:37 adu: lambdabot doesn't do IO actions. 02:14:43 oerjan: :/ 02:16:53 @run system "rm -rf ~" 02:16:54 Not in scope: ‘system’ 02:19:10 -!- quintopia has quit (Remote host closed the connection). 02:20:09 Jafet: bad, bad 02:21:17 -!- quintopia has joined. 02:22:28 `run rm –rf . # this would work though 02:22:28 rm: cannot remove `–rf': No such file or directory \ rm: cannot remove `.': Is a directory 02:22:49 wat 02:22:51 is that... an emdash 02:22:56 endash* 02:23:01 thx 02:23:11 `unidecode – 02:23:12 ​[U+2013 EN DASH] 02:23:33 `run rm -rf . # FIXED THAT FOR YOU 02:23:34 rm: cannot remove directory: `.' 02:23:40 lol 02:24:27 `? HackEgo 02:24:28 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 02:25:02 `which rm 02:25:02 ​/bin/rm 02:25:14 * oerjan cackles evilly 02:26:32 `run rm -rf * # these errors are so tiresome. 02:26:40 No output. 02:26:47 much better. 02:26:53 rip 02:27:19 `? rip 02:27:24 rip? ¯\(°​_o)/¯ 02:27:28 `pwd 02:27:29 ​/hackenv 02:27:30 good point 02:27:53 `ls 02:27:54 98076 \ a \ app.sh \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dog \ etc \ factor \ fb \ fb.c \ head \ hello \ hello.c \ ibin \ index.html \ interps \ lib \ paste \ pref \ prefs \ quines \ quotes \ share \ src \ test \ Test \ Test.hi \ Test.hs \ UNPA \ Wierd \ wisdom \ wisdom.pdf 02:28:05 elliott: spoilsport 02:28:17 Unicode magic around the *, I guess? 02:28:36 no. 02:28:51 oh. 02:29:01 righ. starts with c ends with an ary. 02:29:10 *right 02:29:27 Hmm, I never knew that rm would refuse to delete .. 02:29:46 It is something you aren't expecting. :) 02:30:03 Jafet: i think it's refusing to delete directories above the current one? 02:30:41 It refuses to delete .. as well. 02:31:03 .. is surely a directory above the current one. 02:31:03 `file canary 02:31:04 canary: ASCII text 02:31:13 oh no 02:31:17 we are doomed 02:31:25 no one light the gas 02:31:53 make a little birdhouse in your soul 02:32:06 @run 0 02:32:08 0 02:32:12 @run showIntAtBase 18 (" abcdehilmnoprstuw"!!) 112992306848503458453611540092012927058485521833875357047724355402465282824863736272726650730740 "" 02:32:14 "lambdabot should learn how to capture standard output and tell us what it is" 02:32:28 `which ghci 02:32:29 No output. 02:32:49 Jafet: alas the ghc install didn't get transfered to HackEgo's new host 02:33:47 insert joke about Gregor being evil here. 02:34:05 -!- tertu has joined. 02:34:26 oerjan: not eval? 02:34:51 oh i remember that. 02:34:58 yes, definitely eval. 02:38:15 `uname -a 02:38:16 Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux 02:39:56 -!- Melvar`` has joined. 02:42:44 `run cat canary 02:42:44 chirp 02:44:55 `:(){ :|:& };: 02:44:56 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: :(){: not found 02:45:28 you need run to do shell stuff 02:45:30 You should test scripts on your own system before running them on hackego. 02:45:43 `run :(){ :|:& };: # like this 02:45:44 No output. 02:45:49 exciting! 02:45:52 ah 02:46:16 i'd expected a somewhat slower response. 02:46:37 `ulimit -a 02:46:38 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ulimit: not found 02:46:40 me too, but oh well 02:47:00 `run ulimit -a 02:47:01 core file size (blocks, -c) 0 \ data seg size (kbytes, -d) unlimited \ scheduling priority (-e) 0 \ file size (blocks, -f) 10240 \ pending signals (-i) 1950 \ max locked memory (kbytes, -l) 0 \ max memory size (kbytes, -m) unlimited \ open files (-n) 102 02:47:19 `run ulimit -u 02:47:20 128 02:50:17 http://www.libressl.org/ well at least i don't have the font installed 02:50:42 wow, it actually uses instead of some css weirdness 02:51:27 "Donate now to stop the Comic Sans and Blink Tags." 02:51:30 -!- password2 has joined. 02:51:40 We're dealing with professionals here. 02:53:34 -!- tswett has quit (Quit: tswett). 02:53:50 i read 'flensed' as 'flehmen', but it turns out what 'flensed' actually means is also grody 02:53:58 Bike: it uses + CSS weirdness 02:54:09 don't ruin the magic, sgeo. 02:57:03 Hmm, that is pretty magical 03:01:43 [wiki] [[Hsamsniarb]] M http://esolangs.org/w/index.php?diff=39396&oldid=39395 * Oerjan * (+18) formatting 03:18:28 awesome 03:18:51 blink { -webkit-animation: blink 1s; -webkit-animation-iteration-count: infinite; } 03:24:07 http://nooooooooooooooo.com/ 03:25:53 I wonder how many no*\.com are registered. 03:26:29 http://nooooooooo.com next shorter one that isn't parked 03:30:49 no.com is owned by google.no. 03:41:08 -!- Bicyclidine has joined. 03:44:57 -!- shikhout has joined. 03:47:44 -!- shikhin has quit (Ping timeout: 252 seconds). 03:47:45 -!- shikhout has changed nick to shikhin. 03:48:57 -!- Sorella has quit (Quit: It is tiem!). 04:01:03 -!- tromp has joined. 04:12:05 What's the deal with bsalegal.org 04:12:19 There's obviously a server serving at that domain, they're pretending there isn't? 04:12:45 Or pointing to a server that's expecting a different Host: maybe? 04:13:10 that's cute 04:14:12 The Boy Scouts of America used to have... some website, with a similar name. The www version worked, without www it looked like it was a parked domain 04:31:44 -!- Melvar has joined. 04:32:18 -!- Melvar`` has quit (Ping timeout: 240 seconds). 04:48:51 -!- tromp has quit (Remote host closed the connection). 04:56:26 -!- tertu has quit (Quit: Leaving). 05:00:49 Sgeo: It's http://www.borkgroup.com/ that you get with no Host: header. 05:03:29 Also in re LibreSSL, huh, no "marquee-style: alternate; marquee-play-count: infinite; marquee-speed: fast;"? 05:11:41 -!- password2 has quit (Ping timeout: 264 seconds). 05:13:51 -!- douglass_ has quit (Quit: leaving). 05:13:53 fizzie: should someone tell them that their server is weirdly configured? 05:14:31 maybe it's your client that's weirdly configured, ever thought about that huh 05:29:11 -!- nisstyre has quit (Quit: WeeChat 0.4.3). 05:34:02 -!- Bicyclidine has quit (Ping timeout: 240 seconds). 05:36:19 Serving a "nothing to see here" page for an unknown host isn't such a weird thing to do. 05:36:50 Cf. http://nothingtoseehere.esolangs.org/ 05:37:18 (I keep thinking to perhaps switch away from the wildcard DNS entry.) 05:37:34 Of course if there should be something at that domain, that's another thing. 05:39:22 -!- Bicyclidine has joined. 05:40:00 fizzie: but why would unknown hosts be accessible without deliberate tampering with Host header? 05:40:24 Wildcard DNS entry? But bsalegal doesn't... seem like a subdomain of borkgroup 05:41:34 The wildcard comment was re esolangs.org. 05:43:32 It could be a domain for some sort of legal campaign they've forgotten about. 05:43:46 Of course it could also be they'd want to have some page there but have messed it up. 05:44:33 I was expecting something related to the Business Software Alliance. 05:45:12 Which apparently these days is just "Software Alliance" even though they've kept the BSA acronym. 05:45:58 The BSA Software Alliance 05:46:56 `coins 05:46:58 numcoin tackcoin bran+coin aircoin bookcoin gibbecoin flaticoin bitescrumpyxcoin fercoin runtercall0coin rejuncilibettentaineraquenctingcoin locodecoin exalamercoin takacoin alecoin stuffingpuzancoin aurestacardbarand.nexcoin []coin snaycoin emmensivcoin 05:47:35 That alecoin keeps popping up. 05:48:09 []coin, pronounced "squarecoin". 05:48:47 not sure how square would feel about that 05:50:18 ▢coin 05:53:58 ⧈coin 06:02:24 -!- MoALTz has quit (Quit: Leaving). 06:28:30 Where are the conspiracy theorists claliming that ZeoSync was silenced? 06:29:32 haha smale? what the fuck? 06:30:06 i don't know why you'd hire smale for a compression company, though 06:31:06 -!- Bicyclidine has quit (Quit: stupid computer. brb). 06:36:24 -!- Bike_ has joined. 06:36:59 -!- Bike_ has changed nick to Bicyclidine. 06:38:27 it's pretty great how weird smale is with computers. he explains p=np in terms of algebraic geometry 06:46:35 -!- oerjan has quit (Quit: smalahove). 07:19:26 -!- MindlessDrone has joined. 07:27:34 -!- adu has quit (Quit: adu). 07:29:58 -!- Bicyclidine has quit (Ping timeout: 240 seconds). 07:37:18 -!- FreeFull has quit. 07:44:20 -!- Tritonio has joined. 07:52:14 -!- tromp has joined. 07:56:29 -!- tromp has quit (Ping timeout: 252 seconds). 08:10:51 -!- conehead has quit (Quit: Computer has gone to sleep). 08:25:07 -!- Patashu has joined. 08:39:39 -!- augur has quit (Quit: Leaving...). 08:51:21 -!- augur has joined. 08:52:48 -!- Patashu_ has joined. 08:52:49 -!- Patashu has quit (Disconnected by services). 09:06:30 -!- slereah has joined. 09:06:34 hey hey hey 09:19:54 -!- nooodl has joined. 09:31:22 -!- xpte has quit (Quit: Connection closed for inactivity). 09:36:44 -!- password2 has joined. 09:37:24 -!- password2 has quit (Max SendQ exceeded). 09:45:09 -!- shikhout has joined. 09:47:47 -!- shikhin has quit (Ping timeout: 252 seconds). 09:47:51 -!- shikhout has changed nick to shikhin. 09:53:44 -!- password2 has joined. 10:24:13 -!- boily has joined. 10:37:56 -!- Frooxius has quit (Quit: *bubbles away*). 10:38:10 -!- Frooxius has joined. 10:40:34 -!- nooodl has quit (Quit: Ik ga weg). 11:05:07 -!- boily has quit (Quit: MÖRK CHICKEN). 11:48:16 -!- nucular has joined. 11:48:16 -!- nucular has quit (Changing host). 11:48:16 -!- nucular has joined. 11:52:59 -!- sure has joined. 12:31:00 -!- Sgeo has quit (Read error: Connection reset by peer). 12:41:47 -!- AnotherTest has joined. 12:53:44 . o O ( I should use that snapshotting stuff to beat Lost Vikings ) 12:54:06 From sigbovik? 12:54:47 int-e: wrong channel. try on #tasvideos 12:55:27 http://criu.org/Main_Page 12:56:59 int-e: what do you mean? doesn't LV have a passkey system? 12:58:47 quintopia: The levels get quite long towards the end. 12:59:23 ah 12:59:34 -!- shikhin has quit (Ping timeout: 252 seconds). 13:01:34 I've reached the 4RN4 one, and was surprised that the first exist was so easy to reach ... not realizing it was just the first of several (at least 3 but that's as far as I got) 13:10:18 int-e: oh, you're doing the last two (and most difficult) levels now? good luck 13:10:34 I only beat the last level twice 13:10:48 lost vikings has a nice difficulty progressoin 13:28:04 -!- FreeFull has joined. 13:30:16 Man now I have to work in logspace 13:30:19 That is some shit 13:30:20 But 13:30:27 Perfect opportunity to work in 13:30:29 Inline assembly! 13:30:48 -!- Patashu_ has quit (Ping timeout: 265 seconds). 13:30:51 Gota redefine all those bloody basic operations 13:35:26 You have to work in L? 13:38:01 use an approximation 13:40:20 NEVER 13:40:42 The thing I'm doing drops orders of magnitudes like crazy 13:40:49 So I underflow badly 13:42:38 Ooh. Not L then. 13:43:45 Well I am replacing all my values by their logs 13:43:52 Whatever that is called 13:43:58 https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L <-- L 13:44:20 I'd say "work with logarithms" but maybe there is some better terminology. 13:44:50 http://machineintelligence.tumblr.com/post/4998477107/the-log-sum-exp-trick 13:44:56 That guy says log space 13:45:36 slereah: How will you add numbers? 13:45:37 I think log space is less confusing than logspace. Never mind, we got it in the end. 13:46:02 FreeFull: as rarely as possible 13:46:14 FreeFull : With bullshit 13:46:20 floating point breaks down at 2^-1023, while representing numbers smaller than -1023 is no problem at all. 13:46:25 Are you doing a lot of multiplications? 13:46:50 int-e : What I do drops by one order of magnitude per cycle 13:47:04 (the use of "undeflow" clarified the picture for me) 13:47:17 Why not rescale them per cycle? 13:47:28 Jafet: why do that when you can use logarithms? 13:48:33 besides it's entirely plausible that the biggest number and the smallest non-zero one are more than a factor of 2^2048 apart. 13:48:48 Logarithms make multiplication and exponentiation easier, but you lose precision 13:50:12 at least you lose precision gradually. a bit like having a variable width exponent field in the floating point number. (the only shame is that the actual exponent field is way too large in that representation). 13:51:02 of course you also gain precision for values close to 1. 13:51:06 Well in my case if I stick with the regular formula, things underflow and I end up dividing by 0 13:51:37 If it doesn't work out, I will just WRITE MY OWN NUMBERS 13:51:57 Like a real and some exponent 13:53:00 But I don't think I'll need to go this far 13:53:00 "I hear you like floating point, so I made a floating point representation using floating point numbers" :)) 13:53:20 I mean really the problem isn't precision 13:53:23 It's just the exponent 13:53:31 right, it's range 13:53:31 So I'm not too worried 13:54:01 what range do you need? 13:54:20 Well I drop about one order of magnitude per thing in my array 13:54:26 So 1 to 10^-N 13:54:29 about 13:54:44 Current array is a thousand things 13:55:35 Which loses something like log_2(10)*log(N) bits of precision, and you have 53 bits of that to start with (assuming IEEE 754 doubles) 13:56:04 never mind that underflows lose all precision quite catastrophically :) 13:58:06 long double has 15 exponent bits, which is good to 10^5000. 13:58:14 something is not right in my analysis. I want log_2(log(10^N)) = log_2(log(10)*N) = log_2(log(10)) + log(N) 13:58:39 Yeah, but what will happen when I will do a 5000 long thing D: 13:58:48 I'll go with the logs for now, see what happens 13:58:59 ... log_2(N) 13:59:19 anyway, that's what I meant by "gradual" decrease. 14:00:16 Huh, __float128 doesn't increase the exponent size. 14:00:20 Well here's the evolution of my original function : http://pastebin.com/SxfxcEvj 14:00:42 It lost all precision in about 460 iterations 14:00:57 Well, if you're doing logs, all you need is the exponent 14:01:01 Going up to 10^-323 14:01:04 I suppose fixed point would do 14:01:33 I dont think picking a bigger precision will help that much 14:01:38 Plus it might be a bit memory heavy 14:02:15 Picking a type that has a hardware implementation can help. 14:02:38 Speaking of, does log(0) = -inf in general? 14:02:44 Or does it depend on the implementation 14:02:52 (in math.h) 14:03:21 Although... won't help that much I s'ppose 14:03:35 Since log(0) + log(1) won't give the correct value 14:04:47 C is as useful as always: "A range error may occur if the argument is zero." 14:05:29 I'm better off doing that http://bozeman.genome.washington.edu/compbio/mbt599_2006/hmm_scaling_revised.pdf 14:07:30 http://pubs.opengroup.org/onlinepubs/009695399/functions/log.html is a bit more specific; there is a macro that can be tested to figure out how the code will actually behave. 14:08:44 Hmm, C99 apparently has that one as well. (math_errhandling) 14:09:27 Why not just set zeroes to INT_MIN 14:09:39 [wiki] [[Ignition]] M http://esolangs.org/w/index.php?diff=39397&oldid=39330 * Luxen * (+27) IRC room for discussion 14:13:39 slereah: libmpfr allows exponents up to about 2**30 14:13:51 that might be enough for you 14:16:34 b_jonas: why are you so opposed to using logarithms? 14:16:41 You loghater! 14:16:43 int-e: I'm not opposed 15:02:05 -!- edwardk has joined. 15:05:46 -!- Melvar` has joined. 15:08:05 -!- Melvar has quit (Ping timeout: 264 seconds). 15:08:12 -!- Melvar` has changed nick to Melvar. 15:14:05 -!- idris-ircslave has joined. 15:15:40 @run foldl1 (\a b -> (a,b)) [1,2,3] 15:15:41 Occurs check: cannot construct the infinite type: t ~ (t, t1) 15:15:42 Relevant bindings include 15:15:42 b :: (t, t1) (bound at :1:12) 15:15:42 a :: (t, t1) (bound at :1:10)Occurs check: cannot construct t... 15:15:42 Relevant bindings include 15:16:11 Some version of Haskell should allow infinite types 15:16:14 hm well 15:16:22 > foldl1 (\a b -> (a,b)) [1,2,3] 15:16:22 When elaborating an application of constructor __infer: 15:16:23 No such variable foldl1 15:16:23 Occurs check: cannot construct the infinite type: t ~ (t, t1) 15:16:23 Relevant bindings include 15:16:23 b :: (t, t1) (bound at :1:12) 15:16:23 a :: (t, t1) (bound at :1:10)Occurs check: cannot construct t... 15:16:24 Relevant bindings include 15:16:39 Would that work in idris? 15:30:15 It's kinda weird that the CPU can deal with log(0) but not the standard library 15:30:25 Since it does ln(0+) = -inf 15:33:04 elliott: ok, mueval is no longer *much* slower than ghci; the trick is to remove all -static from its .cabal file and enable dynamic executables in the cabal config. fun... 15:34:28 @run log 0 15:34:29 -Infinity 15:34:38 -!- Tritonio has quit (Ping timeout: 240 seconds). 15:36:12 int-e: oh, needing dynamic executables makes sense 15:37:46 So now I have to plan an in-situ upgrade, or wait for ghc 7.8.3 ... oh well. 15:39:48 -!- sure has quit (Ping timeout: 252 seconds). 15:59:05 elliott: http://sprunge.us/BcNW ... note also the "maxresident" values. This should help a lot! 16:03:45 -!- slereah has quit (Remote host closed the connection). 16:10:34 int-e: just use it as an excuse to switch to HEAD 16:13:52 I'm not that crazy. 16:16:23 not yet. 16:23:17 -!- password2 has quit (Quit: Leaving). 16:23:41 -!- password2 has joined. 16:24:22 -!- conehead has joined. 16:27:17 -!- shikhin has joined. 16:42:33 -!- Sprocklem has joined. 16:42:33 -!- Sprocklem has quit (Changing host). 16:42:33 -!- Sprocklem has joined. 16:50:03 -!- Phantom_Hoover has joined. 16:50:34 -!- shikhin has quit (Ping timeout: 240 seconds). 17:00:47 -!- Slereah_ has changed nick to Slereah. 17:14:00 -!- MoALTz has joined. 17:19:25 -!- nucular has quit (Quit: Excess Food). 17:22:50 -!- trout has changed nick to function. 17:25:22 -!- fowl has quit (Remote host closed the connection). 17:29:46 -!- function has changed nick to constant. 17:44:04 -!- xpte has joined. 17:59:23 -!- password2 has quit (Ping timeout: 252 seconds). 18:01:22 -!- Sellyme has quit (Excess Flood). 18:02:58 -!- Sellyme has joined. 18:04:58 -!- password2 has joined. 18:06:44 -!- nucular has joined. 18:06:44 -!- nucular has quit (Changing host). 18:06:44 -!- nucular has joined. 18:11:04 -!- Sellyme has quit (Excess Flood). 18:11:28 -!- Sellyme has joined. 18:13:09 -!- yorick has joined. 18:17:53 -!- Sellyme has quit (Excess Flood). 18:19:59 -!- Sellyme has joined. 18:29:30 ^style fungot 18:29:30 Selected style: fungot (What I've said myself) 18:29:42 fungot: how do you make your way when your way is making you? 18:29:42 kmc: ( ( ( a()**)a*:a*)(a()**)a*:a*)((x1)(x2)(x3)) ...out of time! don't let that binds the variables 18:31:22 OUTATIME 18:31:32 ovaltine? 18:31:39 whoa 18:31:55 i thought that was kmclyrics but it's from that play thing, isn't it 18:32:42 yes 18:32:44 which is like lyrics 18:33:12 well, a common characteristic of kmclyrics is that i don't recognize them 18:40:03 also sometimes they are the names of songs rather than the words from the song 18:57:19 -!- nooodl has joined. 19:07:04 -!- douglass_ has joined. 19:09:54 holy shit finally a decent what if: http://what-if.xkcd.com/92/ 19:11:05 -!- password2 has quit (Ping timeout: 264 seconds). 19:12:09 If I have a graph and want to find the smallest tree that spans some subset of its nodes, is there a nice algorithm for that? 19:12:47 isn't that just the minimum spanning tree of the relevant subgraph 19:13:26 kmc, how do I find the relevant subgraph? 19:13:57 I thought you had a particular subgraph in mind 19:14:05 No, a subset of the nodes 19:14:12 if you mean "any subgraph" then the smallest tree has size zero and spans a subset of the nodes of size zero 19:14:16 -!- augur has quit (Remote host closed the connection). 19:14:51 I want a tree that contains at least, say, these three nodes, from a graph of, say, 30 19:15:10 okay 19:15:51 Smallest in terms of numbers of nodes? 19:15:54 er, number* 19:16:04 Yes, the graph is unweighted 19:16:23 i don't know about that problem 19:16:29 perhaps you can transform it into an instance of the usual MST problem 19:17:21 construct a new graph containing just the nodes in your set, where the edges are weighted by the minimum length path between those two nodes in the original graph 19:17:25 but I think that's not quite right 19:17:40 because it doesn't account for the fact that you can use a single intermediate node in multiple paths 19:27:56 -!- MoALTz has quit (Quit: Leaving). 19:37:05 -!- impomatic has quit (Ping timeout: 276 seconds). 19:47:01 kmc, note that for unweighted graphs all spanning trees are minimal 19:47:23 because the number of edges is just 1 less than the number of nodes 19:47:30 good point 19:50:04 Taneb, also the tree you're looking for isn't unique, which i think makes designing an algorithm that bit more fiddly 20:01:07 MST isn't unique either, is it? 20:01:14 (of a weighted graph) 20:01:16 No 20:04:44 -!- augur has joined. 20:27:51 -!- nooodl_ has joined. 20:30:56 -!- nooodl has quit (Ping timeout: 252 seconds). 20:31:23 -!- fowl has joined. 20:32:56 Taneb, maybe you could do it by reducing spanning trees? 20:33:10 it'd be fairly inefficient but better than nothing, i guess 20:33:24 Phantom_Hoover, I doubt that'd give the optimum solution... 20:33:59 Taneb, well i'm thinking you could iterate over /all/ spanning trees, but s/fairly/very/ in that case 20:34:19 -!- MindlessDrone has quit (Quit: MindlessDrone). 20:39:28 -!- nycs has joined. 20:42:05 -!- conehead has quit (Ping timeout: 276 seconds). 20:42:05 -!- `^_^v has quit (Ping timeout: 276 seconds). 20:42:05 -!- drlemon_ has quit (Ping timeout: 276 seconds). 20:46:02 @tell tswett p_n runs Turing machine number n and outputs 1 if it halts; q_0 never halts and all other q_n output 1. then the mapping from p_n to identically behaving q_n is not computable 20:46:02 Consider it noted. 20:48:19 kmc, hmm, i don't see what's remarkable about that 20:48:46 remarkable? it's just something tswett asked 20:49:04 it's just an answer to: 20:49:05 14:19 < tswett> So, there are two programs, P and Q. P outputs an infinite list of programs: p_1, p_2, p_3, .... Q also outputs an infinite list of programs. 20:49:08 14:20 < tswett> For every program that P outputs, Q outputs a program that behaves the same way, and vice versa. 20:49:11 14:20 < tswett> Must there exist a program that, given a number n, finds a number m such that Q_m behaves the same way as P_n? 20:49:33 ah 20:49:36 -!- augur has quit (Remote host closed the connection). 20:50:53 -!- Sprocklem has quit (Quit: leaving). 20:51:17 that question is classic haltingbait though 20:51:27 lol 20:51:32 what does that mean 20:52:43 it involves the question of whether two generalised programs behave the same way 20:53:06 yeah I was immediately pretty sure the answer was "no" 20:53:12 but it took me a minute to come up with a proof 20:53:58 Is deciding whether two regular expressions describe the same language? 20:54:02 *decidable 20:54:10 *it 20:54:17 now what if you require that all the p_i and q_i halt on every input 20:54:21 Taneb: believe so 20:54:35 how could we play regex golf otherwise 20:55:55 it's DFA equivalence so that's not too bad right 20:56:34 -!- augur has joined. 20:57:14 http://www.cs.ox.ac.uk/people/luke.ong/personal/teaching/moc/decide.pdf pg 5 and 6 20:57:41 -!- contrapumpkin has joined. 20:58:10 simple. 20:59:28 -!- nucular has quit (Quit: Switching to phone...). 21:01:11 http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/src/crypto/bn/bn_lib.c.diff?r1=1.18;r2=1.19 what the hell is openssl 21:01:13 I guess I have a module next year which covers this kind of thing 21:01:21 -!- Patashu has joined. 21:01:22 -!- copumpkin has quit (Ping timeout: 252 seconds). 21:03:26 openssl isn't real 21:03:48 Taneb: i bet modules are functors somehow 21:03:53 Bike: sounds like a bug in ultrix cc 21:04:02 ahhh, so that's this big vulnerability i've been hearing about 21:04:06 didn't realise it was that big though 21:04:09 lol 21:04:13 seems like it. 21:04:45 relatedly i'd like to say again that matlab's 'str2num' function is a wrapper around eval 21:05:28 Bike, ... 21:05:37 -!- edwardk has quit (Ping timeout: 240 seconds). 21:06:47 Bike, nobody uses matlab for security-dependent stuff though... right... please? 21:06:54 god i hope not 21:12:15 -!- AnotherTest has quit (Ping timeout: 252 seconds). 21:13:18 -!- Sellyme has quit (Excess Flood). 21:13:24 -!- Patashu_ has joined. 21:13:24 -!- Patashu has quit (Disconnected by services). 21:13:28 everything is security-dependent 21:13:38 Hold on 21:13:57 There are people writing security-dependent stuff in languages OTHER than matlab!? 21:14:58 -!- Sellyme has joined. 21:15:01 Bike, i used matlab yesterday, i was pretty taken aback just to discover the identity matrix is eye(n) 21:15:20 there's also a function NaN(n), if you need an n×n matrix of NaNs 21:16:04 but what if i only want the nans along the main diagonal! 21:16:17 and magic(n) for when you need a magic square 21:17:02 Phantom_Hoover: diag(NaN(1,n)) hth 21:17:38 pity, NaN*eye(n) would be so much better 21:18:01 i suppose that works too 21:18:22 um, probably. 21:19:10 0*NaN is NaN, right 21:19:20 yeah, they're IEEE\ 21:19:54 i hadn't really messed with NaNs before yesterday but i figure they still scalar multiply with matrices 21:24:20 all you need to know about NaN is that it's objectivist kryptonite 21:24:38 k 21:27:22 -!- Patashu_ has quit (Ping timeout: 265 seconds). 21:29:31 -!- nisstyre has joined. 21:33:15 -!- yorick has quit (Remote host closed the connection). 21:37:18 http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/src/crypto/bn/bn_mont.c.diff?r1=1.17;r2=1.18 openssl is definitely not real 21:39:02 Bike, NEITHER AM I 21:39:12 woah 21:39:40 Also some of my friends are trying to get me to try to figure out what a bloated PHP app is doing 21:39:47 Because I'm the least sane programmer they know 21:42:55 -!- oerjan has joined. 21:43:02 Hello oerjan 21:43:20 evening Taneb 21:43:35 -!- Sellyme has quit (Excess Flood). 21:45:08 PHP is scary 21:45:29 -!- Sellyme has joined. 21:46:31 Actually, to be frank, I find most programming language scary. 21:46:41 And any programming language for sufficiently large projects. 21:49:06 otoh, brainfuck is simple and elegant. 21:52:52 Ooh. Not L then. <-- DISAPPOINT 21:53:28 i'd have liked to see Slereah having to implement division in L 21:54:14 "This file is pretty much the most important file in [project name]" 21:54:16 otoh that algorithm is probably painfully slow. 21:54:21 "It basically everything." 21:55:02 Taneb: someone isn't doing things modularly?= 21:55:05 *-= 21:55:37 oerjan, the only non-comment line is "require __DIR__.'/../Controllers/root.php';" 21:56:22 that sounds like it's root.php which everything, then? 21:56:42 Seems like it 21:59:42 -!- conehead has joined. 22:03:15 -!- Sellyme has quit (Excess Flood). 22:05:07 I think I've found an actual mistake in this thingy 22:05:29 -!- Sellyme has joined. 22:06:12 oh no not the thingy 22:06:53 Taneb, the mistake is, it's in php 22:07:00 Phantom_Hoover, well, yeah 22:07:03 That's obvious 22:07:10 I of course meant a sub-mistake 22:08:07 http://media-cache-ec0.pinimg.com/736x/07/c9/72/07c972d1bf1882a4b561c633e91252f5.jpg 22:08:33 -!- Sellyme has quit (Excess Flood). 22:08:58 -!- Sellyme has joined. 22:12:10 And now I've sent a pull request that changes one character 22:17:27 lol nice 22:18:33 (they had written date_default_timezone_get instead of date_default_timezone_set) 22:20:10 why would you want an 's' there? why do you hate 'g'? 22:20:54 olsner, they had given the function the parameter 'europe/london' 22:21:04 And documented it "Set the Default Timezone." 22:21:27 hmm, surely that's only the default timezone if you happen to live in london 22:22:22 That's another problem for another day 22:22:31 -!- Sgeo has joined. 22:22:35 And this whole shebang is running in York which is in the London timezone 22:23:30 Taneb: https://en.wikipedia.org/wiki/Steiner_tree_problem#Generalization_of_minimum_Steiner_tree 22:24:00 oerjan, thanks a lot 22:25:58 you're welcome 22:26:33 (it was mentioned in the minimum spanning tree article) 22:30:48 http://www.wired.com/2014/04/lost-lunar-photos-recovered-by-great-feats-of-hackerdom-developed-at-a-mcdonalds/ 22:36:28 21:39:40: Also some of my friends are trying to get me to try to figure out what a bloated PHP app is doing 22:36:31 21:39:47: Because I'm the least sane programmer they know 22:36:44 is this like insanity wrapping around a circle 22:36:59 I think it's you finishing logreading 22:37:04 that too 22:37:25 hmm. can one punch extra holes into sparse files? 22:37:30 http://media-cache-ec0.pinimg.com/736x/07/c9/72/07c972d1bf1882a4b561c633e91252f5.jpg 22:37:40 this reminds me of the story behind cow tools 22:37:48 like, if you program esolangs too much, you suddenly wrap around to thinking php is a good one 22:38:39 Phantom_Hoover: pretty sure that was in the same book (which i've got downstairs in the basement locker somewhere) 22:39:24 got it as birthday present back in 1996 in seattle. 22:41:23 Ah, the answer is yes: fallocate with FALLOC_FL_PUNCH_HOLE does that. 22:41:41 hm locker is the wrong word for a room that big 22:42:03 just storage, maybe 22:42:15 or just "basement" even 22:43:00 olsner: i wanted not to imply the whole basement is mine, this is a common area 22:43:15 -!- Sorella has joined. 22:43:37 i supposedly have an assigned parking space down there too, if i had a car 22:44:11 Help I don't know PHP and I am no longer sure that is a good thing 22:44:23 you should get a car, don't let that parking space sit unused 22:44:32 `addquote Help I don't know PHP and I am no longer sure that is a good thing 22:44:34 1186) Help I don't know PHP and I am no longer sure that is a good thing 22:44:40 olsner: no. 22:44:50 Taneb: it is a good thing! really! 22:46:17 WHY IS THIS FILE 1000 LINES LONG 22:46:29 IT'S A UTILITY CLASS 22:46:51 sounds useful. 22:47:08 pretty huge program 22:49:59 -!- augur has quit (Remote host closed the connection). 22:56:08 -!- boily has joined. 22:56:51 `quote 22:56:52 19) so i can only conclude that it is flawed, or the world is utterly bonkers 22:57:24 `quote 20 22:57:25 20) IN EINEM ALTERNATIVEN UNIVERSUM (WO DIE NAZIS WON): So kann ich nur schliessen, dass es falsch ist, oder die Welt ist vollig BONKERS. Gegrusset seist du der Fuhrer Hitler! 22:57:50 ah, I thought I recognized it 22:57:51 huh 22:58:02 -!- edwardk has joined. 22:58:03 BONKERS! 22:58:13 PHP is making me sad, I'm going to head to bed 22:58:18 the nazis were big on BUNKERS 22:58:21 -!- augur has joined. 22:58:46 Taneb: dream of haskell. it is good for the mind! 22:59:04 `quote great old ones 22:59:05 1160) Last night I had a dream that someone wrote such bad Haskell code he accidentally summoned the Great Old Ones and I had to fix the Haskell code and save the day 22:59:29 -!- augur has quit (Remote host closed the connection). 22:59:34 @quote summon 22:59:34 Philippa says: incidentally, if you think about this you're probably starting to image control flow that looks like it's a glyph for summoning cthulhu - and then realising that it's 3d and consists of 'towers'. Make sense? 22:59:50 @quote summon 22:59:50 Philippa says: incidentally, if you think about this you're probably starting to image control flow that looks like it's a glyph for summoning cthulhu - and then realising that it's 3d and consists of 'towers'. Make sense? 23:00:13 Taneb: IT WAS NO DREAM HTH 23:00:28 :C 23:00:39 `quote rave + 23:00:39 697) I swear my dreams are becoming increasingly rave + computer science oriented 23:00:56 `quote story about prohib 23:00:57 No output. 23:01:03 `quote story about the prohib 23:01:04 939) I'm a story about the prohibition of chocolate 23:01:11 God, I say weird things 23:01:17 `quote Taneb 23:01:18 386) Turned out he got recursion, he just didn't get the return statement \ 392) Cut to February War were declared A galaxy in turmoil Anyway, Febuary '10 \ 393) I can't afford one of those! A grandchild, not a laser printer \ 399) There's that saying that the definition of insani 23:01:29 Anyway, goodnight! 23:07:51 -!- nooodl_ has quit (Quit: Ik ga weg). 23:10:38 @tell Taneb you should follow my lead. I am a sane person. 23:10:38 Consider it noted. 23:13:57 If type families are open functions of types to types, and functions are closed functions from values to values, where are my open functions from values to values and closed functions from types to types? 23:17:24 -!- impomatic has joined. 23:17:40 hidwardk 23:19:10 Hmm, I guess for type families, the behavior of failing to compile for arguments outside its domain is less bad than functions bottoming out for arguments outside their domain 23:20:51 -!- mauris has joined. 23:24:01 -!- nisstyre has quit (Quit: WeeChat 0.4.3). 23:28:00 Sgeo: closed type families are being implemented. not sure if they were in the latest release yet. 23:30:16 "Dammit people stop putting FALSE on your resume it just confuses our poor recruiter" 23:30:25 apparently my friend's company got one of these 23:31:04 yeah stick with underload 23:32:12 I want to write a valid program in one language which is also a valid program in another language when base64-decoded 23:34:38 Maybe recruit better recruiters 23:35:53 -!- vravn has quit (Excess Flood). 23:36:04 kmc: empty program hth 23:36:30 "isKnownAtCompileTime(exp) 23:36:30 Implementing this function amounts to solving the halting problem." 23:36:32 * Sgeo sighs 23:36:48 FireFly: a meta-circular recruiter recruitment program! 23:36:52 So, what, exactly, would be wrong with a isKnownToBeKnownAtCompileTime(exp) that may return false negatives/ 23:38:13 -!- vravn has joined. 23:45:37 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 23:48:06 -!- mauris has quit (Quit: mauris). 23:51:17 -!- augur has joined.