00:02:59 <oerjan> Bicyclidine: it doesn't say they have to be _of_ you hth
00:05:11 -!- tswett has joined.
00:05:11 -!- tswett has quit (Changing host).
00:05:12 -!- tswett has joined.
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 <kmc> just got an error message with a 20 kB gcc command line in it
00:22:52 -!- adu has joined.
00:22:59 <int-e> 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:39 <Jafet> Just got an error message with a 2TB hard drive in it
00:25:59 <boily> Just got an error message that was uphill both way, and it was snowing.
00:26:21 <oerjan> hm so lambdabot would be better off _without_ split objects?
00:27:03 <oerjan> maybe you could run mueval in a sandbox
00:27:07 <int-e> I believe so. I'll benchmark before I change the setup though.
00:27:31 <int-e> I can just recompile ghc whichever way I prefer.
00:27:46 -!- Melvar` has joined.
00:28:21 <int-e> (sandboxes won't help with the base library anyway)
00:28:46 <elliott> 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 <elliott> then you can just thaw the process for each evaluation. would that work?
00:28:59 <Jafet> I wonder if you can make a fork of ghci that forks after linking everything
00:29:17 <int-e> elliott: I don't know. It's quite plausible.
00:29:18 <oerjan> 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 <Jafet> The parent ghci becomes while(...) fork()
00:29:30 <kmc> imo it should coredump
00:29:53 -!- Melvar has quit (Ping timeout: 252 seconds).
00:30:08 <int-e> All of these approaches will require some RTS tweaking, to set up the threads (and pipes between them) again on restart.
00:30:20 <Jafet> coredump to ramdisk
00:30:31 <elliott> int-e: there's some process freezing stuff in linux nowadays that might be able to do it transparently
00:30:32 <Jafet> Isn't forkProcess enough?
00:30:37 <elliott> 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 <int-e> Jafet: in the presence of threads and pipes? no.
00:31:17 -!- Melvar`` has joined.
00:31:26 <elliott> int-e: http://criu.org/Main_Page
00:31:29 <Jafet> "repl: IRC friendly REPL library." woah
00:32:58 -!- Melvar` has quit (Ping timeout: 240 seconds).
00:35:11 <int-e> elliott: bookmarked
00:36:10 <Jafet> "mount: ntfs_pread failed: Input/output error" time to get a new disk
00:36:43 <int-e> before you do, does dmesg show hardware read errors?
00:37:47 <Jafet> Yes. (Oddly, I was looking at /var/log/dmesg, which does not. I guess they're in syslog.)
00:38:10 <Jafet> "Current pending sector count: 1430"
00:38:22 -!- Melvar has joined.
00:38:37 <int-e> time to get a new disk
00:39:53 -!- Melvar`` has quit (Ping timeout: 264 seconds).
00:42:51 <Bicyclidine> 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 <Bicyclidine> disp(foo{[]}) => error not enough arguments, disp(foo{[]}, 3) => 3
00:43:37 <Bicyclidine> 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:43 <lambdabot> Applicative f => f a -> f (a -> b) -> f b
01:08:59 <Sgeo> flip (<*>) or something else?
01:12:37 -!- adu has joined.
01:15:29 <int-e> elliott: impressive runtime differences: http://sprunge.us/OeCM
01:16:13 <int-e> oerjan: you showed an interest in that topic, too
01:16:22 <elliott> int-e: that should make lambdabot much more usable
01:16:44 <elliott> 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 <oerjan> Sgeo: it performs the actions in the opposite order of what flip (<*>) does
01:23:46 <Sgeo> https://www.youtube.com/watch?v=BKorP55Aqvg
01:29:30 <oerjan> @run flip runState 0 $ (<**>) get (modify (+1) >> gets (+))
01:29:44 <oerjan> @run flip runState 0 $ (flip (<*>)) get (modify (+1) >> gets (+))
01:31:34 <oerjan> @run [1,2,3] <**> [pred, id, succ]
01:31:42 <int-e> elliott: Hmm, with mueval the picture is different. This needs further investigation
01:31:47 <oerjan> @run flip (<*>) [1,2,3] [pred, id, succ]
01:32:16 <oerjan> @run flip (<*>) [1,2,4] [pred, id, succ]
01:32:23 <oerjan> @run flip (<*>) [1,2,4] [pred, id, succ]
01:32:49 <oerjan> @run [1,2,4] <**> [pred, id, succ]
01:33:14 <oerjan> @run [1,2,4] <**> [pred, id, succ]
01:34:45 <int-e> elliott: http://sprunge.us/BKRW
01:35:31 <elliott> the difference seems a bit large for it to not be doing *something* differently there...
01:36:04 <int-e> Anyway, it's ... early. I'll regret that tomorrow. Good night!
01:36:10 <elliott> maybe it's skipping over shared libs it doesn't want to load or something
01:36:13 -!- Melvar`` has joined.
01:36:38 <int-e> (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 <fowl> can i use your bot for math?
01:58:55 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
01:58:59 <lambdabot> What module? Try @listmodules for some ideas.
01:59:36 <fowl> @run 333.0 / 2
02:00:21 <fowl> @run 500 * (1/3)
02:05:04 <fowl> @run 167 + 233
02:05:27 <oerjan> @run let fib = 0 : 1 : zipWith (+) fib (tail fib) in fib
02:05:29 <lambdabot> [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 <Bike> @run let fib = 0 : 1 : zipWith (+) fib (tail fib) in zipWith (/) fib (tail fib)
02:06:30 <lambdabot> [0.0,1.0,0.5,0.6666666666666666,0.6,0.625,0.6153846153846154,0.6190476190476...
02:06:57 <fowl> i will never understand haskell ._.
02:07:26 <fowl> the original esolang
02:07:41 <oerjan> no, that's INTERCAL hth
02:07:42 <Bike> @run zipWith (+) [3, 7, 982.9] [2,11,4]
02:08:46 <Jafet> @run flip (zipWith (/)) <*> tail $ fix $ scanl (+) 1 . (0:)
02:08:47 <lambdabot> [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:10:44 <oerjan> Jafet: i was trying to go lightly on fowl by not giving the scanl version
02:11:05 <Bike> nah just throw more $ in there
02:12:15 <oerjan> hm a rare case where you need two $'s instead of . and $
02:12:42 <adu> @run do print "hello world"
02:12:45 <Bike> the more functions you use the better a programmer you are
02:13:05 <Bike> not in haskell
02:13:10 -!- Melvar`` has quit (Ping timeout: 265 seconds).
02:13:30 <oerjan> @run tail <**> zipWith (/) $ fix $ scanl (+) 1 . (0:)
02:13:31 <lambdabot> [1.0,0.5,0.6666666666666666,0.6,0.625,0.6153846153846154,0.6190476190476191,...
02:13:49 <Bike> oh yeah more fix is good too. fix everything
02:13:52 <adu> @run do args <- getFullArgs; print args
02:14:13 <oerjan> <**> doesn't help over flip (<*>) with reader monads
02:14:37 <oerjan> adu: lambdabot doesn't do IO actions.
02:14:43 <adu> oerjan: :/
02:16:53 <Jafet> @run system "rm -rf ~"
02:19:10 -!- quintopia has quit (Remote host closed the connection).
02:20:09 <adu> Jafet: bad, bad
02:21:17 -!- quintopia has joined.
02:22:28 <Jafet> `run rm –rf . # this would work though
02:22:28 <HackEgo> rm: cannot remove `–rf': No such file or directory \ rm: cannot remove `.': Is a directory
02:22:51 <Bike> is that... an emdash
02:23:33 <oerjan> `run rm -rf . # FIXED THAT FOR YOU
02:23:34 <HackEgo> rm: cannot remove directory: `.'
02:24:28 <HackEgo> 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:26:32 <oerjan> `run rm -rf * # these errors are so tiresome.
02:27:54 <HackEgo> 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:17 <elliott> Unicode magic around the *, I guess?
02:29:01 <elliott> righ. starts with c ends with an ary.
02:29:27 <Jafet> Hmm, I never knew that rm would refuse to delete ..
02:29:46 <pikhq> It is something you aren't expecting. :)
02:30:03 <oerjan> Jafet: i think it's refusing to delete directories above the current one?
02:30:41 <Jafet> It refuses to delete .. as well.
02:31:03 <oerjan> .. is surely a directory above the current one.
02:31:53 <kmc> make a little birdhouse in your soul
02:32:12 <adu> @run showIntAtBase 18 (" abcdehilmnoprstuw"!!) 112992306848503458453611540092012927058485521833875357047724355402465282824863736272726650730740 ""
02:32:14 <lambdabot> "lambdabot should learn how to capture standard output and tell us what it is"
02:32:49 <oerjan> Jafet: alas the ghc install didn't get transfered to HackEgo's new host
02:33:47 <oerjan> insert joke about Gregor being evil here.
02:34:05 -!- tertu has joined.
02:38:16 <HackEgo> 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:44:55 <fowl> `:(){ :|:& };:
02:44:56 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: :(){: not found
02:45:28 <Bike> you need run to do shell stuff
02:45:30 <Jafet> You should test scripts on your own system before running them on hackego.
02:45:43 <Bike> `run :(){ :|:& };: # like this
02:46:16 <oerjan> i'd expected a somewhat slower response.
02:46:38 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ulimit: not found
02:46:40 <Bike> me too, but oh well
02:47:01 <HackEgo> 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:50:17 <Bike> http://www.libressl.org/ well at least i don't have the font installed
02:50:42 <Bike> wow, it actually uses <blink> instead of some css weirdness
02:51:27 <Jafet> "Donate now to stop the Comic Sans and Blink Tags."
02:51:30 -!- password2 has joined.
02:51:40 <Jafet> We're dealing with professionals here.
02:53:34 -!- tswett has quit (Quit: tswett).
02:53:50 <Bike> i read 'flensed' as 'flehmen', but it turns out what 'flensed' actually means is also grody
02:53:58 <Sgeo> Bike: it uses <blink> + CSS weirdness
02:54:09 <Bike> don't ruin the magic, sgeo.
02:57:03 <Jafet> Hmm, that is pretty magical
03:01:43 <HackEgo> [wiki] [[Hsamsniarb]] M http://esolangs.org/w/index.php?diff=39396&oldid=39395 * Oerjan * (+18) formatting
03:18:51 <kmc> blink { -webkit-animation: blink 1s; -webkit-animation-iteration-count: infinite; }
03:25:53 <Jafet> I wonder how many no*\.com are registered.
03:26:29 <Jafet> http://nooooooooo.com next shorter one that isn't parked
03:30:49 <Jafet> 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 <Sgeo> What's the deal with bsalegal.org
04:12:19 <Sgeo> There's obviously a server serving at that domain, they're pretending there isn't?
04:12:45 <Sgeo> Or pointing to a server that's expecting a different Host: maybe?
04:14:12 <Sgeo> 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 <fizzie> Sgeo: It's http://www.borkgroup.com/ that you get with no Host: header.
05:03:29 <fizzie> 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 <Sgeo> fizzie: should someone tell them that their server is weirdly configured?
05:14:31 <Bicyclidine> 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 <fizzie> Serving a "nothing to see here" page for an unknown host isn't such a weird thing to do.
05:36:50 <fizzie> Cf. http://nothingtoseehere.esolangs.org/
05:37:18 <fizzie> (I keep thinking to perhaps switch away from the wildcard DNS entry.)
05:37:34 <fizzie> Of course if there should be something at that domain, that's another thing.
05:39:22 -!- Bicyclidine has joined.
05:40:00 <Sgeo> fizzie: but why would unknown hosts be accessible without deliberate tampering with Host header?
05:40:24 <Sgeo> Wildcard DNS entry? But bsalegal doesn't... seem like a subdomain of borkgroup
05:41:34 <fizzie> The wildcard comment was re esolangs.org.
05:43:32 <fizzie> It could be a domain for some sort of legal campaign they've forgotten about.
05:43:46 <fizzie> Of course it could also be they'd want to have some page there but have messed it up.
05:44:33 <fizzie> I was expecting something related to the Business Software Alliance.
05:45:12 <fizzie> Which apparently these days is just "Software Alliance" even though they've kept the BSA acronym.
05:45:58 <Jafet> The BSA Software Alliance
05:46:58 <HackEgo> 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 <fizzie> That alecoin keeps popping up.
05:48:09 <fizzie> []coin, pronounced "squarecoin".
05:48:47 <lexande> not sure how square would feel about that
06:02:24 -!- MoALTz has quit (Quit: Leaving).
06:28:30 <Sgeo> Where are the conspiracy theorists claliming that ZeoSync was silenced?
06:30:06 <Bicyclidine> 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 <Bicyclidine> 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: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 <int-e> . o O ( I should use that snapshotting stuff to beat Lost Vikings )
12:54:47 <b_jonas> int-e: wrong channel. try on #tasvideos
12:55:27 <int-e> http://criu.org/Main_Page
12:56:59 <quintopia> int-e: what do you mean? doesn't LV have a passkey system?
12:58:47 <int-e> quintopia: The levels get quite long towards the end.
12:59:34 -!- shikhin has quit (Ping timeout: 252 seconds).
13:01:34 <int-e> 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 <b_jonas> int-e: oh, you're doing the last two (and most difficult) levels now? good luck
13:10:34 <b_jonas> I only beat the last level twice
13:10:48 <b_jonas> lost vikings has a nice difficulty progressoin
13:28:04 -!- FreeFull has joined.
13:30:16 <slereah> Man now I have to work in logspace
13:30:27 <slereah> Perfect opportunity to work in
13:30:48 -!- Patashu_ has quit (Ping timeout: 265 seconds).
13:30:51 <slereah> Gota redefine all those bloody basic operations
13:35:26 <Jafet> You have to work in L?
13:40:42 <slereah> The thing I'm doing drops orders of magnitudes like crazy
13:43:45 <slereah> Well I am replacing all my values by their logs
13:43:58 <int-e> https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L <-- L
13:44:20 <int-e> I'd say "work with logarithms" but maybe there is some better terminology.
13:44:50 <slereah> http://machineintelligence.tumblr.com/post/4998477107/the-log-sum-exp-trick
13:45:36 <FreeFull> slereah: How will you add numbers?
13:45:37 <int-e> I think log space is less confusing than logspace. Never mind, we got it in the end.
13:46:02 <Jafet> FreeFull: as rarely as possible
13:46:20 <int-e> floating point breaks down at 2^-1023, while representing numbers smaller than -1023 is no problem at all.
13:46:25 <FreeFull> Are you doing a lot of multiplications?
13:46:50 <slereah> int-e : What I do drops by one order of magnitude per cycle
13:47:04 <int-e> (the use of "undeflow" clarified the picture for me)
13:47:17 <Jafet> Why not rescale them per cycle?
13:47:28 <int-e> Jafet: why do that when you can use logarithms?
13:48:33 <int-e> 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 <FreeFull> Logarithms make multiplication and exponentiation easier, but you lose precision
13:50:12 <int-e> 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 <int-e> of course you also gain precision for values close to 1.
13:51:06 <slereah> Well in my case if I stick with the regular formula, things underflow and I end up dividing by 0
13:51:37 <slereah> If it doesn't work out, I will just WRITE MY OWN NUMBERS
13:51:57 <slereah> Like a real and some exponent
13:53:00 <slereah> But I don't think I'll need to go this far
13:53:00 <int-e> "I hear you like floating point, so I made a floating point representation using floating point numbers" :))
13:53:20 <slereah> I mean really the problem isn't precision
13:54:20 <slereah> Well I drop about one order of magnitude per thing in my array
13:54:44 <slereah> Current array is a thousand things
13:55:35 <int-e> 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 <int-e> never mind that underflows lose all precision quite catastrophically :)
13:58:06 <Jafet> long double has 15 exponent bits, which is good to 10^5000.
13:58:14 <int-e> 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 <slereah> Yeah, but what will happen when I will do a 5000 long thing D:
13:58:48 <slereah> I'll go with the logs for now, see what happens
13:59:19 <int-e> anyway, that's what I meant by "gradual" decrease.
14:00:16 <Jafet> Huh, __float128 doesn't increase the exponent size.
14:00:20 <slereah> Well here's the evolution of my original function : http://pastebin.com/SxfxcEvj
14:00:42 <slereah> It lost all precision in about 460 iterations
14:00:57 <FreeFull> Well, if you're doing logs, all you need is the exponent
14:01:04 <FreeFull> I suppose fixed point would do
14:01:33 <slereah> I dont think picking a bigger precision will help that much
14:01:38 <slereah> Plus it might be a bit memory heavy
14:02:15 <Jafet> Picking a type that has a hardware implementation can help.
14:02:38 <slereah> Speaking of, does log(0) = -inf in general?
14:02:44 <slereah> Or does it depend on the implementation
14:03:21 <slereah> Although... won't help that much I s'ppose
14:03:35 <slereah> Since log(0) + log(1) won't give the correct value
14:04:47 <int-e> C is as useful as always: "A range error may occur if the argument is zero."
14:05:29 <slereah> I'm better off doing that http://bozeman.genome.washington.edu/compbio/mbt599_2006/hmm_scaling_revised.pdf
14:07:30 <int-e> 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 <int-e> Hmm, C99 apparently has that one as well. (math_errhandling)
14:09:27 <Jafet> Why not just set zeroes to INT_MIN
14:09:39 <HackEgo> [wiki] [[Ignition]] M http://esolangs.org/w/index.php?diff=39397&oldid=39330 * Luxen * (+27) IRC room for discussion
14:13:39 <b_jonas> slereah: libmpfr allows exponents up to about 2**30
14:13:51 <b_jonas> that might be enough for you
14:16:34 <int-e> b_jonas: why are you so opposed to using logarithms?
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 <mroman> @run foldl1 (\a b -> (a,b)) [1,2,3]
15:15:41 <lambdabot> Occurs check: cannot construct the infinite type: t ~ (t, t1)
15:15:42 <lambdabot> b :: (t, t1) (bound at <interactive>:1:12)
15:15:42 <lambdabot> a :: (t, t1) (bound at <interactive>:1:10)Occurs check: cannot construct t...
15:16:11 <mroman> Some version of Haskell should allow infinite types
15:16:22 <mroman> > foldl1 (\a b -> (a,b)) [1,2,3]
15:16:22 <idris-ircslave> When elaborating an application of constructor __infer:
15:16:23 <lambdabot> Occurs check: cannot construct the infinite type: t ~ (t, t1)
15:16:23 <lambdabot> b :: (t, t1) (bound at <interactive>:1:12)
15:16:23 <lambdabot> a :: (t, t1) (bound at <interactive>:1:10)Occurs check: cannot construct t...
15:16:39 <mroman> Would that work in idris?
15:30:15 <slereah> It's kinda weird that the CPU can deal with log(0) but not the standard library
15:30:25 <slereah> Since it does ln(0+) = -inf
15:33:04 <int-e> 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:38 -!- Tritonio has quit (Ping timeout: 240 seconds).
15:36:12 <elliott> int-e: oh, needing dynamic executables makes sense
15:37:46 <int-e> 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 <int-e> 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 <elliott> int-e: just use it as an excuse to switch to HEAD
16:13:52 <int-e> I'm not that crazy.
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 <kmc> ^style fungot
18:29:30 <fungot> Selected style: fungot (What I've said myself)
18:29:42 <kmc> fungot: how do you make your way when your way is making you?
18:29:42 <fungot> kmc: ( ( ( a()**)a*:a*)(a()**)a*:a*)((x1)(x2)(x3)) ...out of time! don't let that binds the variables
18:31:55 <shachaf> i thought that was kmclyrics but it's from that play thing, isn't it
18:32:44 <kmc> which is like lyrics
18:33:12 <shachaf> well, a common characteristic of kmclyrics is that i don't recognize them
18:40:03 <kmc> 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 <Phantom_Hoover> 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 <Taneb> 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 <kmc> isn't that just the minimum spanning tree of the relevant subgraph
19:13:26 <Taneb> kmc, how do I find the relevant subgraph?
19:13:57 <kmc> I thought you had a particular subgraph in mind
19:14:05 <Taneb> No, a subset of the nodes
19:14:12 <kmc> 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 <Taneb> I want a tree that contains at least, say, these three nodes, from a graph of, say, 30
19:15:51 <FireFly> Smallest in terms of numbers of nodes?
19:16:04 <Taneb> Yes, the graph is unweighted
19:16:23 <kmc> i don't know about that problem
19:16:29 <kmc> perhaps you can transform it into an instance of the usual MST problem
19:17:21 <kmc> 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 <kmc> but I think that's not quite right
19:17:40 <kmc> 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 <Phantom_Hoover> kmc, note that for unweighted graphs all spanning trees are minimal
19:47:23 <Phantom_Hoover> because the number of edges is just 1 less than the number of nodes
19:47:30 <kmc> good point
19:50:04 <Phantom_Hoover> 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 <FireFly> MST isn't unique either, is it?
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 <Phantom_Hoover> Taneb, maybe you could do it by reducing spanning trees?
20:33:10 <Phantom_Hoover> it'd be fairly inefficient but better than nothing, i guess
20:33:24 <Taneb> Phantom_Hoover, I doubt that'd give the optimum solution...
20:33:59 <Phantom_Hoover> 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 <kmc> @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:48:46 <Bike> remarkable? it's just something tswett asked
20:49:04 <kmc> it's just an answer to:
20:49:05 <kmc> 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 <kmc> 14:20 < tswett> For every program that P outputs, Q outputs a program that behaves the same way, and vice versa.
20:49:11 <kmc> 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:36 -!- augur has quit (Remote host closed the connection).
20:50:53 -!- Sprocklem has quit (Quit: leaving).
20:51:32 <kmc> what does that mean
20:52:43 <Phantom_Hoover> it involves the question of whether two generalised programs behave the same way
20:53:06 <kmc> yeah I was immediately pretty sure the answer was "no"
20:53:12 <kmc> but it took me a minute to come up with a proof
20:53:58 <Taneb> Is deciding whether two regular expressions describe the same language?
20:54:17 <kmc> now what if you require that all the p_i and q_i halt on every input
20:54:21 <kmc> Taneb: believe so
20:54:35 <Bike> how could we play regex golf otherwise
20:55:55 <Bike> it's DFA equivalence so that's not too bad right
20:56:34 -!- augur has joined.
20:57:14 <kmc> 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:59:28 -!- nucular has quit (Quit: Switching to phone...).
21:01:11 <Bike> 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 <Taneb> 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 <kmc> openssl isn't real
21:03:48 <shachaf> Taneb: i bet modules are functors somehow
21:03:53 <kmc> Bike: sounds like a bug in ultrix cc
21:04:02 <Phantom_Hoover> ahhh, so that's this big vulnerability i've been hearing about
21:04:13 <Bike> seems like it.
21:04:45 <Bike> relatedly i'd like to say again that matlab's 'str2num' function is a wrapper around eval
21:05:37 -!- edwardk has quit (Ping timeout: 240 seconds).
21:06:47 <Phantom_Hoover> Bike, nobody uses matlab for security-dependent stuff though... right... please?
21:06:54 <Bike> 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 <elliott> everything is security-dependent
21:13:57 <Taneb> There are people writing security-dependent stuff in languages OTHER than matlab!?
21:14:58 -!- Sellyme has joined.
21:15:01 <Phantom_Hoover> Bike, i used matlab yesterday, i was pretty taken aback just to discover the identity matrix is eye(n)
21:15:20 <Bike> there's also a function NaN(n), if you need an n×n matrix of NaNs
21:16:04 <Phantom_Hoover> but what if i only want the nans along the main diagonal!
21:16:17 <Bike> and magic(n) for when you need a magic square
21:17:02 <Bike> Phantom_Hoover: diag(NaN(1,n)) hth
21:18:01 <Bike> i suppose that works too
21:19:20 <Bike> yeah, they're IEEE\
21:19:54 <Bike> i hadn't really messed with NaNs before yesterday but i figure they still scalar multiply with matrices
21:24:20 <Phantom_Hoover> all you need to know about NaN is that it's objectivist kryptonite
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 <Bike> 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 <Taneb> Bike, NEITHER AM I
21:39:40 <Taneb> 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 <Taneb> Because I'm the least sane programmer they know
21:42:55 -!- oerjan has joined.
21:43:35 -!- Sellyme has quit (Excess Flood).
21:45:29 -!- Sellyme has joined.
21:46:31 <Taneb> Actually, to be frank, I find most programming language scary.
21:46:41 <Taneb> And any programming language for sufficiently large projects.
21:49:06 <oerjan> otoh, brainfuck is simple and elegant.
21:52:52 <oerjan> <int-e> Ooh. Not L then. <-- DISAPPOINT
21:53:28 <oerjan> i'd have liked to see Slereah having to implement division in L
21:54:14 <Taneb> "This file is pretty much the most important file in [project name]"
21:54:16 <oerjan> otoh that algorithm is probably painfully slow.
21:54:21 <Taneb> "It basically everything."
21:55:02 <oerjan> Taneb: someone isn't doing things modularly?=
21:55:37 <Taneb> oerjan, the only non-comment line is "require __DIR__.'/../Controllers/root.php';"
21:56:22 <oerjan> that sounds like it's root.php which everything, then?
21:59:42 -!- conehead has joined.
22:03:15 -!- Sellyme has quit (Excess Flood).
22:05:07 <Taneb> I think I've found an actual mistake in this thingy
22:05:29 -!- Sellyme has joined.
22:07:00 <Taneb> Phantom_Hoover, well, yeah
22:07:10 <Taneb> I of course meant a sub-mistake
22:08:07 <oerjan> 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 <Taneb> And now I've sent a pull request that changes one character
22:18:33 <Taneb> (they had written date_default_timezone_get instead of date_default_timezone_set)
22:20:10 <olsner> why would you want an 's' there? why do you hate 'g'?
22:20:54 <Taneb> olsner, they had given the function the parameter 'europe/london'
22:21:04 <Taneb> And documented it "Set the Default Timezone."
22:21:27 <olsner> hmm, surely that's only the default timezone if you happen to live in london
22:22:22 <Taneb> That's another problem for another day
22:22:31 -!- Sgeo has joined.
22:22:35 <Taneb> And this whole shebang is running in York which is in the London timezone
22:23:30 <oerjan> Taneb: https://en.wikipedia.org/wiki/Steiner_tree_problem#Generalization_of_minimum_Steiner_tree
22:24:00 <Taneb> oerjan, thanks a lot
22:26:33 <oerjan> (it was mentioned in the minimum spanning tree article)
22:30:48 <ion> http://www.wired.com/2014/04/lost-lunar-photos-recovered-by-great-feats-of-hackerdom-developed-at-a-mcdonalds/
22:36:28 <oerjan> 21:39:40:<Taneb> 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 <oerjan> 21:39:47:<Taneb> Because I'm the least sane programmer they know
22:36:44 <oerjan> is this like insanity wrapping around a circle
22:36:59 <Taneb> I think it's you finishing logreading
22:37:25 <int-e> hmm. can one punch extra holes into sparse files?
22:37:30 <Phantom_Hoover> <oerjan> http://media-cache-ec0.pinimg.com/736x/07/c9/72/07c972d1bf1882a4b561c633e91252f5.jpg
22:37:48 <oerjan> like, if you program esolangs too much, you suddenly wrap around to thinking php is a good one
22:38:39 <oerjan> Phantom_Hoover: pretty sure that was in the same book (which i've got downstairs in the basement locker somewhere)
22:39:24 <oerjan> got it as birthday present back in 1996 in seattle.
22:41:23 <int-e> Ah, the answer is yes: fallocate with FALLOC_FL_PUNCH_HOLE does that.
22:41:41 <oerjan> hm locker is the wrong word for a room that big
22:42:15 <olsner> or just "basement" even
22:43:00 <oerjan> 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 <oerjan> i supposedly have an assigned parking space down there too, if i had a car
22:44:11 <Taneb> Help I don't know PHP and I am no longer sure that is a good thing
22:44:23 <olsner> you should get a car, don't let that parking space sit unused
22:44:32 <oerjan> `addquote <Taneb> Help I don't know PHP and I am no longer sure that is a good thing
22:44:34 <HackEgo> 1186) <Taneb> Help I don't know PHP and I am no longer sure that is a good thing
22:44:50 <olsner> Taneb: it is a good thing! really!
22:46:17 <Taneb> WHY IS THIS FILE 1000 LINES LONG
22:46:29 <Taneb> IT'S A UTILITY CLASS
22:49:59 -!- augur has quit (Remote host closed the connection).
22:56:08 -!- boily has joined.
22:56:52 <HackEgo> 19) <ehird> so i can only conclude that it is flawed, or the world is utterly bonkers
22:57:25 <HackEgo> 20) IN EINEM ALTERNATIVEN UNIVERSUM (WO DIE NAZIS WON): <ehird> So kann ich nur schliessen, dass es falsch ist, oder die Welt ist vollig BONKERS. Gegrusset seist du der Fuhrer Hitler!
22:57:50 <olsner> ah, I thought I recognized it
22:58:02 -!- edwardk has joined.
22:58:13 <Taneb> PHP is making me sad, I'm going to head to bed
22:58:18 <oerjan> the nazis were big on BUNKERS
22:58:21 -!- augur has joined.
22:58:46 <boily> Taneb: dream of haskell. it is good for the mind!
22:59:04 <Taneb> `quote great old ones
22:59:05 <HackEgo> 1160) <Taneb> 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 <lambdabot> 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 <lambdabot> 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 <oerjan> Taneb: IT WAS NO DREAM HTH
23:00:39 <HackEgo> 697) <Taneb> I swear my dreams are becoming increasingly rave + computer science oriented
23:00:56 <Taneb> `quote story about prohib
23:01:03 <Taneb> `quote story about the prohib
23:01:04 <HackEgo> 939) <Taneb> I'm a story about the prohibition of chocolate
23:01:11 <Taneb> God, I say weird things
23:01:18 <HackEgo> 386) <Taneb> Turned out he got recursion, he just didn't get the return statement \ 392) <Taneb> Cut to February <Taneb> War were declared <Taneb> A galaxy in turmoil <Taneb> Anyway, Febuary '10 \ 393) <Taneb> I can't afford one of those! <Taneb> A grandchild, not a laser printer \ 399) <fizzie> There's that saying that the definition of insani
23:01:29 <Taneb> Anyway, goodnight!
23:07:51 -!- nooodl_ has quit (Quit: Ik ga weg).
23:10:38 <boily> @tell Taneb you should follow my lead. I am a sane person.
23:13:57 <Sgeo> 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:19:10 <Sgeo> 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 <oerjan> Sgeo: closed type families are being implemented. not sure if they were in the latest release yet.
23:30:16 <kmc> "Dammit people stop putting FALSE on your resume it just confuses our poor recruiter"
23:30:25 <kmc> apparently my friend's company got one of these
23:31:04 <oerjan> yeah stick with underload
23:32:12 <kmc> 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 <FireFly> Maybe recruit better recruiters
23:35:53 -!- vravn has quit (Excess Flood).
23:36:04 <mauris> kmc: empty program hth
23:36:30 <Sgeo> "isKnownAtCompileTime(exp)
23:36:30 <Sgeo> Implementing this function amounts to solving the halting problem."
23:36:48 <boily> FireFly: a meta-circular recruiter recruitment program!
23:36:52 <Sgeo> 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.