00:00:04 NO MORE BURMA SHAVE says him. 00:00:13 pikhq: Thank you forever. 00:00:24 I notice a question mark in there 00:00:45 Oh, why must our country die, I see 00:00:48 pikhq: How did you do "must the of it"? :P 00:01:02 must, did, whatever 00:01:08 * oerjan sees only question marks, of course 00:01:10 aliseiphone: "The needing of" 00:01:20 pikhq: XD 00:01:56 Did you translate it as affadavit or affidavit? :P 00:02:19 ... Affidavit is what I transcribed. 00:02:34 YOU'RE FIRED 00:02:52 Would it make you feel better to know that that was inherently a neologism? 00:02:56 I SAID AFFADAVIT. FANCY YOURSELF A POET? SHEESH! 00:03:08 You're FIRED FIRED FIRED. 00:03:12 pikhq: XD 00:03:37 afufidawitu 00:03:48 Ok, one of the closures can stay. 00:04:03 Sgeo: BUT THE OTHER ONE IS DEAD MEAT 00:04:04 It was more "Afidebitto". 00:04:05 pikhq: Now a true translator would make "must the of it" and "affadavit" rhyme. Somehow. 00:04:21 aliseiphone: Japanese poetry doesn't rhyme. 00:04:26 "have the of it" almost does it 00:04:32 I was wrong about the nesting level 00:04:39 There a closure in a closure, that's it 00:04:42 pikhq: Innovation! 00:04:44 Those closures are dead. 00:04:51 Though: "Hitsuyou no/afidebitto" almost does. 00:05:05 cpressey: It rhymes in English; not Japanese. 00:05:06 afufidawitu? 00:05:06 * Phantom_Hoover wonders why Casey & Andy made him depressed. 00:05:12 are you for real? 00:05:30 * cpressey wonders who the smeg Casey & Andy are and why they've been mentioned three times in here today 00:05:31 oerjan you suck at japanification of words. 00:05:39 Hello, my name is Afidebitto Kuaku. 00:05:48 augur: i'm just imitating what pikhq uses to do :D 00:06:02 oerjan: Poorly as hell. :P 00:06:12 cpressey: webcomic mad scientists 00:06:13 augur: Whooooshu~ 00:06:23 oerjan: "Ahuxit`eh`ixtuto". :) 00:06:25 whoooshu kung fu 00:06:35 pikhq: stop it, noone here speaks maltese. 00:06:36 "eh" 00:06:50 pikhq: oh i forgot the x thing 00:07:23 oerjan: ty but that answers only the first half of my wonderment 00:07:41 oerjan: How else to encode small vs. large kana? 00:07:57 pikhq: font size 00:08:04 aliseiphone: *shudder* 00:08:06 cpressey: well the previous time i saw it was a joke about norwegians afaict 00:08:08 aliseiphone: Or case? 00:08:09 imma go walk around outside for a bit 00:08:15 Great idea or GREATEST IDEA? 00:08:26 pikhq: BOLD. 00:08:53 cpressey: if it was Phantom_Hoover each time, presumably he's been reading the archive 00:08:59 is the x prefix or suffix? 00:08:59 aliseiphone: ahuit`eh`ituto? 00:09:06 aliseiphone: Prefix. 00:09:13 pikhq: +c channel 00:09:20 Darnit. 00:09:31 *ahu*i*t`eh`i*tu*to*? 00:09:33 :P 00:09:39 I burnt through it in under a day, and now there's a HOLE where my soul should be. 00:09:46 Perhaps I should sleep. 00:09:48 'Night. 00:10:25 Phantom_Hoover: go lie on the couch and dream of being king of sweden 00:10:48 ahu”it’eh’i”tuto 00:11:04 I made it worse pikhq. 00:11:11 Hahahah. 00:12:20 ahu-it—eh—i-Tito 00:12:24 *tuto 00:12:51 ... For the dakuten?!? 00:13:00 (which, BTW, looks like ゙) 00:13:22 ahu’it„eh„i’tuto 00:13:30 Phantom_Hoover: That'll learn ya. 00:13:31 pikhq: Yes. Any questions? 00:13:41 aliseiphone: Now what say you about the handakuten? 00:13:44 ゚ 00:13:54 Lessee. Example word... 00:14:19 pikhq: Superscript that ho. 00:14:24 六百, roxtuh^ixyaku. 00:14:32 In Hepburn, that's "roppyaku". 00:14:33 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 00:14:54 handakuten are so handy 00:15:02 ro.tuh'i.yaku 00:15:16 ro'tuh.i'yaku 00:15:16 Mmm. 00:15:25 handakuten => handy :) 00:15:30 oerjan: More like half-y. "han" is "half". 00:15:57 and dy is the other half 00:16:07 * oerjan runs 00:16:35 oh, han-dakuten? I thought you were talking about hand-akuten 00:16:59 What, the hand-evil-mark? 00:17:07 XD 00:17:22 ("aku" is evil and "ten" is mark) 00:17:31 olsner: your hearing is not quite acute, i take 00:17:47 that's a grave accusation 00:18:09 Night. 00:18:53 What does dakuten mean btw pikhq? 00:19:05 olsner: hey i mentioned nothing about your being undead 00:19:10 oops 00:19:42 aliseiphone: Voiced marked. 00:19:45 Erm, mark. 00:19:48 Thanks. 00:20:01 Bye. 00:20:05 -!- aliseiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info). 00:35:40 -!- Mathnerd314 has joined. 00:42:18 Manually testing everything is fun! 00:43:03 Never testing anything is fun! 00:44:01 But enjoying the fruits of your labor is also testing 00:44:19 Are you saying the most fun to be had is when you write code that you never see do anything? 00:47:43 http://codu.org/projects/ suggests so. 00:48:51 Three projects called "My Project" 00:50:59 Two aren't mine and one is too stupid to deserve a name. 00:51:05 must be an xkcd reference 00:53:08 All 00:53:10 -!- cpressey has quit (Quit: Leaving.). 00:53:34 how inclusive of you 00:54:14 -!- coppro has joined. 01:01:52 -!- calamari has joined. 01:02:07 hi 01:03:11 -!- Gregor-W has quit (Quit: Page closed). 01:03:54 re: hackiki... I had a bot that allowed access to a root shell .. channel users kept destroying it for no reason, saying it was not useful for anything else 01:05:09 Hey, HackEgo... 01:05:10 so I imagine your hackiki might suffer a similar fate due to immaturity.. don't waste your time :) 01:05:23 `who 01:05:25 No output. 01:05:29 ... 01:05:41 `run echo $USER 01:05:43 No output. 01:05:50 `run echo Any outpiut? 01:05:52 `ls 01:05:52 Any outpiut? 01:05:52 `run echo Hello? 01:05:54 babies \ bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ qw.pl \ share \ tmpdir.20778 \ wunderbar_emporium 01:06:05 Hello? 01:06:05 >_> 01:06:07 `run `whoami` 01:06:08 No output. 01:06:14 `run whoami 01:06:16 No output. 01:06:19 `cat babies 01:06:20 No output. 01:06:21 `run echo `whoami` 01:06:24 No output. 01:06:27 bibble 01:06:30 `run echo `ls` 01:06:31 `ls babies 01:06:31 babies bin cube2.base64 cube2.jpg hack_gregor hello.txt help.txt huh netcat-0.7.1 netcat-0.7.1.tar.gz out.txt paste poetry.txt quotes qw.pl share tmpdir.21044 wunderbar_emporium 01:06:33 babies.db 01:06:51 Okay, so clearly, can't demonstrate it. 01:06:53 But. 01:06:58 calamari: HackEgo is root. 01:07:04 `run echo `who` 01:07:06 No output. 01:07:09 bibble 01:07:23 `ls / 01:07:24 pikhq, and? 01:07:25 bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr 01:07:29 `ls /home 01:07:31 hackbot 01:08:00 pikhq, are you saying the people on #esoteric have grown up? or was it more of a way that people were disrespecting me? 01:08:23 because it was rather lame 01:08:54 'run rm -rf / 01:09:12 I think Hackiki is designed to be recoverable 01:09:17 so was mine 01:09:33 I recovered it like 10 times then gave up due to the idiocy of people 01:09:50 they kept saying they had to hack it.. but they were already root so it was completely stupid 01:09:54 calamari: More just that they're idiots. :P 01:10:10 Maybe they wanted to break it out of its jail 01:10:15 Hack your system 01:11:14 unlikely.. it was running inside a qemu vm 01:11:23 Did they know that? 01:11:32 yep 01:11:42 and they knew they were root 01:12:03 Maybe they knew of some weird qemu exploit 01:12:19 I think they said something like that it wasn't useful because they could just run things on their own machine and the only use for my bot was to find clever ways of hacking it 01:13:00 I'll have to review my logs 01:25:58 -!- calamari has quit (Quit: Leaving). 01:26:44 -!- calamari has joined. 01:40:06 -!- Wamanuz has quit (Remote host closed the connection). 01:43:30 -!- derdon has joined. 01:49:10 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:51:24 -!- cheater99 has joined. 01:58:47 -!- calamari has quit (Quit: Bye). 01:58:54 -!- calamari has joined. 02:07:38 why is a befunge script restricted to 80x25 commands? 02:07:41 http://tunes.org/~nef/logs/esoteric/08.04.19 02:07:50 why is there a restriction at all? 02:08:45 derdon: Befunge-98 is not restricted 02:09:08 so the main culprit was ehird 02:09:11 hehe 02:09:21 coppro: oh. I thought befunge-93 was the latest version (I clicked on the links in the wikipedia rticle) 02:09:40 oh no, that's the _oldest_ 02:09:45 afaik 02:10:06 only those two are used any nowadays, anyway 02:10:09 -!- augur has quit (Remote host closed the connection). 02:10:19 -!- augur has joined. 02:10:31 hm 02:10:47 cpressey isn't on or we'd yell at 'im for you :P 02:10:56 BOTOH, 80x25 is very much for an esoteric language :D 02:11:30 also, 80x25 is the "standard" unix terminal size 02:12:02 so it was probably intended to be displayed visually in a terminal window 02:12:43 oerjan: 270x71 <- this is my terminal size 02:12:47 (or on a literal terminal, i remember those) 02:13:31 derdon: this was back in '93, remember? i think our university still had standard size physical vt terminals by then 02:13:32 well, I'm gonna learn 93 cuz it looks easier to understand 02:13:58 It's also much easier to implement. 02:14:03 fungot: no respect for '98, eh? 02:14:03 oerjan: i think it costs money 02:14:15 no, fungot, i'm pretty sure it doesn't 02:14:15 oerjan: if you want. i was more angry than any of these return true its true? 02:15:48 fungot: maybe 02:15:49 oerjan: should be less vague. how would i go about telling my wife that i'm secretly shagging the plumber?' sense, but not good. 02:16:03 TMI 02:16:15 ^style 02:16:15 Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 02:17:28 okay.. so here is a challenge: given 2 buttons, what is an easily memorable way to enter the digits 0-9, requiring 3 or less button presses, but also handling additional button presses in a way that the user can understand? 02:18:14 erm you realize 3 presses of 2 buttons gives you only 8 options? 02:18:25 no it gives 15 02:18:47 build a binary tree and with up to 3 presses you'll have 15 states 02:18:52 Yeah, that's enough for 2^4-1. 02:19:07 -!- Aquana has joined. 02:19:21 so that part of the challenge isn't really a challenge :) 02:19:22 um but then you'll need a timeout for knowing if the user's finished 02:19:50 oerjan there is another button for that, but that isn't really important to the challenge 02:20:20 mostly, I have been trying to figure out something that makes sense from memory 02:20:47 and also that doesn't degenerate if you push the buttons too many times 02:20:48 !haskell import Control.Monad; main = print $ [1..3] >>= flip replicateM "ab" 02:20:51 ["a","b","aa","ab","ba","bb","aaa","aab","aba","abb","baa","bab","bba","bbb"] 02:21:26 yeah started off with that.. not exactly easy to remember how to enter a digit 02:23:12 you can drop the ones with 2, actually 02:23:28 yeah you could 02:24:02 but that would mean a waste of presses.. could use simple binary if # presses weren't a concern 02:24:27 -!- coppro has quit (Ping timeout: 264 seconds). 02:24:28 -!- Halph has joined. 02:24:32 gah 02:24:36 hehe 02:24:41 -!- Halph has changed nick to coppro. 02:25:06 BTW, with simultaneously pressing both considered different from pressing one then the other, you could have lots more state space. 02:25:21 interesting idea 02:25:49 that'd essentially mean I had 3 buttons 02:25:50 Since 3*3 = 9, you only need two presses that way, with every value being two presses. 02:25:57 yep 02:25:58 Erm, forgot 0 02:26:00 Damn 02:26:05 0 is easy 02:26:14 just have that be the default if you don't press anything 02:26:19 to enter the number n, enter n times the first button and then the second 02:26:48 Aquana: You missed the first part, namely the restriction to "3 or less button presses" 02:27:00 oops 02:27:10 Speaking of, who are you? :P 02:27:27 its me, aquana! 02:27:31 you could also do binary, but with initial zeroes omitted 02:27:33 Oh, of course! 02:27:37 How could I be so silly. 02:27:47 :D 02:27:56 oerjan: how would I enter 8 or 9? 02:28:03 must be missing the point 02:28:12 er 02:28:18 drop the first 1, too 02:28:21 I didn't realize there was a point :P 02:28:38 Gregor: not much of one, I admit :) 02:28:54 this _does_ leave 0 a special case, though 02:29:11 Also I once again point to the /topic for your voting plezzure kthx 02:29:18 hey I like that 02:29:51 0 could be 111, paradoxically 02:30:23 (000 is already taken for 8) 02:30:42 7 would be 111, right? 02:30:47 no, 11 02:31:11 wait, I need to go back through and follow your instructions more closely 02:31:21 111, , 0, 1, 00, 01, 10, 11, 000, 001 02:31:26 Remove all the leading 0s and the first 1. That is the entire instruction :P 02:31:33 (yeah that's no buttons for 1) 02:31:54 oerjan: OK, THAT'S confusing X-D 02:32:09 if more than one number is to be entered, does it need to know when a number ends and when an other one starts? 02:32:13 sheesh, critics 02:32:13 I don't think I get 111 02:32:25 calamari: i said 0 needed to be a special case 02:32:30 ah ok 02:32:32 because there's no first 1 to remove 02:32:57 yeah 0 and 1 would be identical 02:34:01 well still, I think it's a cool solution, thanks 02:34:07 you're welcome 02:36:33 and whats about pressing both buttons at the same time? 02:37:54 well i didn't use that 02:38:20 it would require ternary, which i suspect doesn't come as easily to many :D 02:38:46 oh and then there could be initial 1 _or_ 2, hm 02:39:01 so I'm trying to decide how to handle extra button presses.. lets say they entered 0000, what digit does that produce? 02:40:00 hmm actually nm.. I was thinking it was ambiguous, but it isn't 02:40:15 discarding digits is easy. 010 and 011 may be more of a problem. 02:40:38 oh and 100, 101, 110 02:40:40 i'd say do some huffman coding and include the possibility of having both buttons pressed at the same time 02:40:49 0000 -> 10000 = 16, 16 mod 10 = 6 02:41:06 ouch 02:41:54 then you can enter multiple numbers without having an "next number"-button 02:42:35 well pushing both could _be_ end of number 02:43:15 is there a possibility to comment my befunge-scripts? :P 02:43:48 derdon: would that really help? :) 02:43:59 calamari: yes 02:44:07 derdon: great script 02:44:18 Aquana: which one? 02:44:25 actually, if you kept the comments separate, you could just enter arbitrary chars, right? 02:44:25 all 02:44:43 i didn't see those, but hey its a comment :p 02:45:04 calamari: what do you mean? creating a seperate file which explains this script? 02:45:44 nope, 1 min I need to make sure I don't butcher befunge 02:46:25 ok 02:46:39 derdon: just put the comments somewhere the IP won't touch them 02:46:52 oerjan: good 02:46:53 any character is allowed as long as it isn't executed 02:47:05 oerjan: I assume IP == Interpreter 02:47:13 okay.. so let's say you have code going left to right.. and you have a v then put your comment after that.. shouldn't get there 02:47:20 instruction pointer, actually 02:47:33 oh 02:47:59 anyhow.. yeah if it won't be reached you are safe 02:48:17 ^source 02:48:17 http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 02:48:21 that is what I said badly with "keep your comments separate" 02:48:47 that's befunge 98, but same principle 02:49:26 from wikipedia: "Similarly, in Befunge, there is no comment syntax: to embed documentation in the code, the programmer simply routes the control flow around the "comment" area, so that the text in that area is never executed." 02:49:27 of course with 93 the problem could be fitting both the comments and the code into the space available 03:03:27 oerjan: the more I look at your solution the more awesome it becomes.. it actually turns out that a simple 10-state machine can handle it 03:03:58 hm right 03:04:08 well I drew it out as a binary tree 03:05:03 actually i don't see how the 0=111 fits 03:05:24 the question was, say, when I encountered a digit lower in the tree, would it have the same leaves as one higher up, and it does 03:05:36 yeah 0 should be 010 03:05:55 ah 03:06:20 so initial state = 1, reading digit d turns state s into 2*s+d (mod 10) 03:06:30 -!- Warrigal has quit (Remote host closed the connection). 03:08:00 so the states are (digit-0-1): 001, 123, 245, 367, 489, 501, 623, 745, 867, 989 03:11:09 yeah what you said :) 03:17:40 !haskell import Control.Monad; digs = [0..3] >>= replicateM [0,1]; main = print [(s, (length . nub . sort . map (foldl' (\s d -> (2*s + d) `mod` 10) s)) digs) | s <- [0..9]] 03:17:56 !haskell import Control.Monad; import Data.List; digs = [0..3] >>= replicateM [0,1]; main = print [(s, (length . nub . sort . map (foldl' (\s d -> (2*s + d) `mod` 10) s)) digs) | s <- [0..9]] 03:18:17 !haskell import Control.Monad; import Data.List; digs = [0..3] >>= flip replicateM [0,1]; main = print [(s, (length . nub . sort . map (foldl' (\s d -> (2*s + d) `mod` 10) s)) digs) | s <- [0..9]] 03:18:20 [(0,8),(1,10),(2,10),(3,10),(4,8),(5,8),(6,10),(7,10),(8,10),(9,8)] 03:19:15 only initial states 1,2,3,6,7,8 gives all possible digits as output 03:19:23 *give 03:20:38 not sure I follow 03:21:13 if I start in state 0, all I have to do is give 1, then I'm in state 1 03:21:16 if you start with state 0, say (which is the equivalent of not removing the first 1), then you only get 8 possible digits represented 03:21:22 with 3 presses 03:21:29 oh I see 03:21:53 -!- derdon has quit (Ping timeout: 258 seconds). 03:22:49 the rest are a bit more subtle but i _think_ it boils down to state 0 and 9 having digits turning them into themselves, so you don't want those states to be reached early or you lose too many options 03:23:18 (4 and 5 can turn into 9 and 0 respectively) 03:23:28 there are no dead ends though, so it is fine 03:23:57 yeah but getting all in 3 presses depends on getting enough branching 03:24:28 well basically if I am entering a digit and I mess up then I've forfeited my 3 presses, but I still want to be able to enter it 03:24:45 and since that is possible, I'm happy 03:24:49 yeah 03:25:07 so now to code it up :) 03:25:32 shall I call it oerjanary? 03:25:40 huh 03:26:19 just kidding 03:27:08 I'll be using this to implement digit entry for my watch calculator program 03:27:54 unfortunately the timex data link usb doesn't have a keypad 03:28:18 it does have a crown, but the crown gets jumpy with age 03:28:46 so crowns are a royal pain? 03:28:56 lol 03:34:31 -!- Aquana has quit (Quit: Aquana). 03:34:56 -!- BRETTs has joined. 03:39:58 -!- BRETTs has quit (Ping timeout: 240 seconds). 03:50:59 -!- coppro has quit (Quit: I am leaving. You are about to explode.). 04:02:08 -!- BRETTs has joined. 04:02:14 -!- BRETTs has quit (Client Quit). 04:17:08 -!- coppro has joined. 04:31:32 -!- MizardX has quit (Ping timeout: 240 seconds). 05:08:00 ^ul ((/)~*(\)*S)(~:(a~a(:^)**)~a*^^):^ 05:08:01 /((/)~*(\)*S)(~:(a~a(:^)**)~a*^^):^\ 05:10:18 ^ul (((/)~*(\)*S)(~(:^^)*~^)):^^ 05:10:18 /((/)~*(\)*S)(~(:^^)*~^):^^\ 05:10:54 ^ul (((/)~*(\)*S)(~a(:^^)*~^)):^^ 05:10:54 /(((/)~*(\)*S)(~a(:^^)*~^)):^^\ 05:15:55 -!- Gregor-P has joined. 05:42:47 -!- oerjan has quit (Quit: leaving). 05:46:57 -!- oerjan has joined. 06:17:41 Heh... I'm considering defining floating point extension to Pointer B. 06:21:13 And define it in way that's relatively sane w.r.t. numbers, but almost impossible to implement completely. 06:21:55 -!- GreaseMonkey has joined. 06:23:11 Since it would have (subsets of) functions that are well defined, but would be ph.d just to implement properly... :-) 06:26:05 Already operations like "complex double precision floating point divide" would be quite fun (note that defintion of "double precision" is not the same as "IEEE double precision". It could easily be IEEE quadruple precision)... 06:26:32 listZeroes(riemannZeta, range=(RealPart > 1/2)) 06:27:06 None known? :-) 06:27:07 there you go. >:) 06:28:11 One wouldn't need more than extensions of several known special functions to complex domain to be very hard to implement. 06:29:19 With the way reference implemnentation chooses word size, "single precision" would be "IEEE double precision". 06:30:03 Reference implementation has 64 bit words (giving 1Zib data memory). 06:30:23 -!- myndzi has joined. 06:30:34 Ilari: IIRC it's been proven there are no zeroes with Re(w) > 1/2 06:32:21 definitely not 06:32:58 hmm 06:33:01 Re(w) > 1 for sure 06:33:19 "Directly from the functional equation one sees that the non-trivial zeros are symmetric about the axis Re(s) = 1/2." 06:33:35 hrm 06:34:08 Number of possible different code memory words in Pointer B: 1 112 030. 06:34:43 so if you can prove there are none with Re(w) > 1/2 you will be quite rich and very famous 06:34:51 -!- Mathnerd314 has quit (Ping timeout: 276 seconds). 06:35:40 or dead 06:35:46 which was the point of the above, anyway 06:36:28 a friend of a friend put it best... if you prove the Riemann hypothesis, you either tell everybody or nobody 06:36:43 ...i am not aware of anything regarding the riemann hypothesis that would cause the death of people... 06:36:53 now P = NP, on the other hand... 06:38:08 unless someone wants to steal your proof of the riemann hypothesis and take credit, perhaps. 06:38:59 oerjan: any solution would likely have profound implications on public-key encryptoin 06:39:01 *encryption 06:39:23 ...again, i think you are confusing it with P=NP 06:40:07 hmm... I could have the quote out of context, but the Riemann hypothesis would have similar implications 06:40:13 at least in so far that most people assume the riemann hypothesis is true, anyway, so _proving_ it won't change much. same with proving P != NP. 06:41:01 the profound implications of proving them in that direction would only be to make people know what they already mostly assume 06:41:14 so wouldn't break anything 06:41:32 I'd need to dig up a reference on this one, but IIRC it's expected that the methodology would make finding primes very easy 06:41:35 Proving P!=NP would just make everyone go "*whew*!" 06:41:42 Gregor: aye 06:41:59 -!- augur has quit (Remote host closed the connection). 06:42:06 -!- augur has joined. 06:42:43 coppro: public key encryption doesn't depend on primes being hard to find. in fact they're already quite easy enough. 06:43:04 it's _factoring_ that's the key. 06:44:31 * Sgeo wonders if DBus makes any sense on Windows 06:44:33 And there's already primality check that runs in deterministic polynomial time. 06:45:31 Yeah, it's only hard to find very *large* primes. And this is only hard in the sense of practicality. 06:45:51 We could certainly produce some gigabyte primes; it'd just be a waste of time. 06:47:24 Other amusing overkill: 2048-bit EC curves. 06:48:17 * oerjan detects RAS syndrome 06:48:31 RAS? 06:48:41 redundant acronym syndrome 06:48:46 Ah. 06:49:45 the very large primes are nearly all mersenne primes, since those are the ones that we have an efficient method to test at that size 06:49:56 *known primes 06:50:53 oerjan, very large *known primes, I assume 06:50:54 (2^p-1) 06:51:16 Sgeo: *cough* 06:51:23 Oh 06:51:25 >.> 06:51:32 * Sgeo managed to fail to see that 06:51:49 Figure out class of numbers with even easier (nontrivial) primality check. :-) 06:52:42 something with ackermann functions in it would be great 06:53:55 well, an infinite class with entirely trivial check would be even better 06:54:33 Or hyper operators (extra bonus for getting them to nest)... 06:55:15 Also, numbers involving terms with three conway arrows... :-) 06:55:41 -!- Gregor-P has quit (Quit: Bye). 06:55:43 (those terms are usually freaking huge). 06:56:03 hm i guess a problem is that primes _do_ get rarer. at mersenne prime sizes the numbers still can be prime purely by chance, but with ackermanns involved you'd need some cosmic luck 06:56:36 3 -> 3 -> 65 -> 2 is bigger than Graham's number... :-) 06:57:25 i wonder if it is known whether adding or subtracting a small constant to those can or cannot be a prime 06:58:11 Well, if you have number with n digits, the number you have to add or substract to make it prime is IIRC O(n). 06:58:47 i know. that's not really helpful with hyper operators. 07:00:33 And even if you got some prime, proving it to be prime would likely be freakishly hard. 07:01:18 subtracting 1 is even, subtracting 2 is divisible by 5. 07:01:47 Ends in 7? 07:02:03 http://en.wikipedia.org/wiki/Graham's_number#Rightmost_decimal_digits_of_Graham.27s_number 07:02:09 Ah, yes... 07:02:19 -!- Wamanuz has joined. 07:02:44 The size of prime gap Graham's number is in is likely immense. 07:04:04 yeah if other bases destroy other constant adjustments similarly... 07:04:18 SciFiWritersHaveNoSenseOfScale averted in Cowbirds in Love 07:04:50 Sgeo: *gasp* 07:05:11 Immense meaning you can't even write class number for that number. 07:05:23 May I spoil up to where we are in this storyline? 07:05:31 class number? 07:06:23 0 => 1-6, 1 => 7-10^6, 2 => 10^6-10^10^6, 3 => 10^10^6+1 - 10^10^10^6, and so on... 07:06:44 -!- calamari has quit (Quit: Leaving). 07:08:08 Alternatively one could define that number is immense if one can't write polylog of it. 07:08:39 well that's essentially the size of n in the 3^^n 07:11:04 So finding prime number with Ackermans in it would likely mean finding explicit expression for infinite sequence of primes.... 07:11:12 yeah 07:14:32 Searching some stuff I hit page claiming that any prime contains one of the following primes as subsequence: 2, 3, 5, 7, 11, 19, 41, 61, 89, 409, 449, 499, 881, 991, 6469, 6949, 9001, 9049, 9649, 9949, 60649, 666649, 946669, 60000049, 66000049 or 66600049. 07:14:41 *at least one of 07:15:43 well it must end in 1,3,7 or 9 unless it is 2 07:16:04 i guess it's just a matter of prolonging that argument 07:16:59 ah 21, 31, 51, 71 are of course included 07:18:03 so then it's 01, 11, 41, 61, 81, 91, 09, 19, 49, 69, 89, 99 07:18:31 Of course one can have multiple: 194101 has 19 and 41 as subsequences. 07:19:09 i am just assuming we are looking at subsequences of ending subsequences 07:19:39 Subsequences don't have to be of adjacent digits. 07:19:57 er, not? 07:20:11 E.g. 401 is prime. 07:20:20 ah. 07:20:28 401 => 41. 07:20:57 should be even easier then 07:24:02 01, 81, 91, 09, 49, 69, 99 07:24:18 And in base-2 I think similar set would be 10 and 11. Since 2 is the only prime with only one 1 in its binary form. 07:24:34 heh 07:26:35 so naturally everything not of the form {0,8,9}+1|{0,4,6,9}+9 is now taken care of 07:27:16 -!- relet has quit (Quit: Leaving.). 07:27:43 (by just the primes < 100 in that list) 07:28:20 The page also claimed that for any language, one can only have finite set of words where no word is subsequence of other words in set. 07:29:00 hm that reminds me of a graph theorem 07:29:56 Also, "A neat consequence of this result is that, given any language L, the set of all subsequences of strings in L is regular. We can't always easily determine the regular expression or automaton for L, but we know it exists.". 07:33:52 http://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem i think it was 07:39:15 Ilari: i suspect that your sequence above applies to every odd number as well 07:39:20 oh wait 07:39:29 well sufficiently large 07:39:40 obviously 1 and 9 are excluded 07:41:31 Isn't there also context free grammar that describes language {0,1}* iff Goldbach conjuncture is true? 07:42:38 i don't know 07:45:10 or, hm, i recall determining whether a context free grammar gives all strings in the alphabet is undecidable. so quite probably. 07:47:31 IIRC, that problem is co-RE-complete. 07:50:09 IIRC, there are also infinite number of undecidable problems of diffrent difficulty... 07:51:07 The last class of those being RE-complete. 07:51:45 hello 07:52:04 http://en.wikipedia.org/wiki/Arithmetical_hierarchy#Relation_to_Turing_machines 07:53:20 -!- augur has quit (Remote host closed the connection). 07:53:30 -!- augur has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:04:07 * Sgeo wtfs at Boycott Chrome stuff 08:04:39 privacy issues? 08:05:14 -!- oerjan has quit (Quit: Good night). 08:07:50 hello bsmntbombdood 08:07:56 we have not spoken in quite a while 08:08:15 indeed 08:08:19 whoever you are 08:08:55 bsmntbombdood: we talked in the programming channel before. A long time ago we got into fights, and then things cooled off 08:08:58 :-) 08:09:05 what was your old nick? 08:09:08 same as it is now 08:09:13 also i remember talking about lambda abstractions 08:09:16 oh 08:09:17 hmm 08:09:34 and maybe parametric polymorphism 08:09:37 and maybe lisp 08:11:30 * pikhq waves 08:11:48 i vaguely remember 08:12:52 hi pikhq, are you still in colorado? 08:14:33 Not ATM. 08:15:00 I think I'm going to manually work out the answer to SMBC's math question 08:15:08 Because I just realized it's easier than it looks 08:15:43 No way I'd solve it without some sort of writing thingy though 08:24:13 Anyone want to check my math? 08:24:14 http://codepad.org/r3pth1N3 08:24:30 My attempted answer for http://www.smbc-comics.com/index.php?db=comics&id=1952 [NSFWish] 08:26:47 did it take longer than 30 seconds? 08:27:06 :( yes 08:27:53 But I certainly would have said the first thing I noticed [It's not actually an integral like x^2 sin x] in less than that 08:27:59 Maybe she'd be lenient? 08:29:21 i am watching some smbc theater 08:30:19 hilarious 08:30:23 The "other thingy" is most likely phi. (And you didn't say p = rho, but I guess that's obvious.) ((Don't have time to actually look at the math now.)) 08:30:43 I didn't realize that that was a greek letter 08:30:48 I thought it was actually p 08:32:21 It's the radial coordinate in the (ρ, θ, φ) polar coordinates, so it has to be either ρ or r. 08:32:52 Uh 08:32:53 Or whatever the 3D variant of polar coordinates are called. Spherical coordinates? 08:33:03 The thingy was more of an O and I combined 08:33:14 Wait, no, that's what I called theta 08:33:17 Possibly mistakenly 08:33:32 * Sgeo isn't so good with his greek letters 08:33:39 At least I know pi! 08:33:48 And uppercase sigma! 08:33:49 Phi is written both as φ and as ϕ. 08:34:04 So what I called theta is really phi, then 08:34:18 Theta's the one that goes horizontally slashed. 08:34:37 And the "other thingy" is theta, then 08:35:10 Curiously enough, The Standard -- http://en.wikipedia.org/wiki/ISO_31-11#Coordinate_systems -- says it's (ρ, φ, z) for cylindrical coords and (r, θ, φ) for spherical; I don't quite see why ρ → r there, since they do reuse φ. 08:35:14 Lunchtime now! 08:38:57 And it isn't even for the same parameter. 08:39:58 * Sgeo failed to see it in terms of standard formulas 08:43:04 I should sleep now 09:12:11 -!- tombom has joined. 09:32:44 -!- augur has quit (Remote host closed the connection). 09:32:54 -!- augur has joined. 09:44:27 -!- MigoMipo has joined. 10:23:04 -!- Phantom_Hoover has joined. 10:32:52 -!- MigoMipo has quit (Remote host closed the connection). 10:43:35 Is there a limit to how big an array on the stack can be in C? 11:07:37 Phantom_Hoover: Depends on process stack limit. 11:07:52 Thought so... 11:08:07 Phantom_Hoover: On Linux, the default seems to be 8MiB for entiere stack. 11:12:21 -!- GreaseMonkey has quit (Quit: New quit message. Entering 2006 in style.). 11:16:55 Wow, I just looked at Conservapedia's article on Enccyclopdia Dramatica. 11:17:01 s/cc/c/ 11:18:43 It seems to say that ED is a paragon of modern satire... 11:20:43 Conservapedia... One more proof of that there are hardcore lunatics out there... 11:22:29 It's gone downhill for the last year or so, though. 11:22:45 There aren't enough sane people being persecuted to make it worth watching. 11:23:44 Someone: Anything what Poe's law appies to is stupid. 11:26:04 There may be a size limit for an array in general, no matter whether it's on the stack or elsewhere; C99 guarantees that objects of size up to 65535 bytes are okay, but more than that might not. 11:26:55 Outside "embedded" environments, are you likely to run into that limit? 11:27:28 16-bit DOS in some memory models? I guess that's pretty obsolete nowadays too. 11:27:55 Actually, all memory models except "huge". 11:28:25 16-bit DOS memory models: tiny, small, compact, medium, large and huge. 11:29:01 -!- CakeProphet has joined. 11:29:20 Tiny is incedentially memory model of .com executables. 11:30:21 Nowadays memory model used is "flat". 11:31:18 Which is incidentially essentially 32 (or 64) bit version of tiny model. 11:33:48 I have a vague recollection that at least Visual C 6 compiled Windows executables with (reasonably) tiny stacks; at least I've seen the "why doesn't my array work?" "make it a global or malloc it instead" exchange many times, even for not-so-huge arrays. 11:34:33 "The default stack reservation size used by the linker is 1 MB." (random MSDN Google-hit, not sure about context) 11:34:55 Megabyte's perhaps not tiny, but still small-ish. 11:37:34 Oh, and that 65535-byte guarantee is only for hosted systems, so you can have a C99-compliant freestanding implementation that has even smaller objects. 11:38:50 (And a final bit of trivia; C89/C90 has a similar phrase, but there the limit is 32767 bytes.) 11:41:41 In general a lot of limits seem to have been just approximately doubled in the decade. #include nesting depth from 8 to 15, nested parentheses in a full expression from 32 to 63, significant characters in internal identifiers from 31 to 63, etc. (There's several more cases of *4 too.) 11:42:45 -!- yiyus has quit (Ping timeout: 276 seconds). 11:44:56 Ilari, flat doesn't use segments, though. 11:46:10 -!- yiyus has joined. 11:46:42 Neither did tiny. 11:49:44 Huh. 11:55:57 Tiny: Code and data (and stack) in the same 64k space. 12:03:07 It "uses" segments in the sense that there is one segment, and all the segment regs are initialized with it. 12:05:54 I guess that's as much segment-using that the flat memory model, though. 12:07:04 Flat memory model has CS and DS initialized to different values on x86 (since one can't load CS with data segment nor write to code segment). 12:07:31 That's true; so it uses even more segments, in fact. 12:10:52 -!- sftp has joined. 12:11:51 -!- sftp_ has quit (Ping timeout: 264 seconds). 12:13:40 Ilari, LSL? 12:19:04 Leisure Suit Larry? Linden Scripting Language? Logical Shift Left? 12:22:15 -!- derdon has joined. 12:23:59 The second 12:24:11 You should have guessed 12:24:18 Sgeo, why mention that? 12:24:31 I sort-of did. I didn't quite grasp what the question there was, though. 12:24:32 64k memory total for a script and all .. data 12:24:45 Used to be 16k 12:28:17 -!- CakeProphet has quit (Ping timeout: 240 seconds). 12:28:47 ...Why? 12:29:04 * Phantom_Hoover wants to write a VM, but can't think of a good excuse. 12:29:21 The reason for the change? They switched to Mono 12:29:31 Although there is still support for the old VM 12:30:06 The built-in delays in LSL are also a nice touch. 12:30:31 -!- CakeProphet has joined. 12:31:26 Is there anyone advocating LSL for non-second-life general-purpose programming? Or any language reimplementations available? 12:32:37 There are reimplementations, but those are just so that there are nice external editors 12:32:46 Also, OpenSim 12:33:04 But I don't think any sane person would advocate LSL for non-SL programming 12:33:35 Have you seen how it deals with events? 12:34:00 Or its utter lack of multidimensional lists? 12:34:43 No, but I can guess. 12:35:09 (There's also no shortage for non-sane persons.) 12:35:48 -!- Warrigal has joined. 12:37:02 -!- cheater99 has quit (Ping timeout: 240 seconds). 12:37:50 -!- ais523 has joined. 12:39:09 Heh, the people here have made a "music to make machine learning to" Spotify playlist. I'm not quite sure what any of the contents have to do with machine learning, but... 12:40:22 -!- sftp_ has joined. 12:41:10 -!- sftp has quit (Ping timeout: 258 seconds). 12:44:23 fizzie, might be good for that orphaned machine learning project I have. 12:47:49 -!- sftp has joined. 12:48:36 -!- sftp_ has quit (Ping timeout: 276 seconds). 12:49:24 Phantom_Hoover: Well, I make no claims that any of this music is good for anything, and the selection is pretty... eclectic (to put a positive spin on it), but http://www.cis.hut.fi/htkallas/ml.png 12:50:02 Do any of them concisely describe the backpropagation of error algorithm? 12:50:16 Maybe if you play them backwards. 12:50:58 I thought that just gave you Stanic messages. 12:51:32 That's heavy metal songs backwards, isn't it? 12:51:49 Don't quote me on this, however, I'm no expert. 12:53:02 Naw, that's Satan. 12:53:12 You get messages from Stan from other stuff. 12:53:17 Then there's black metal which gives satanic messages when played forward... 12:53:26 -!- augur has quit (Ping timeout: 258 seconds). 12:53:44 I wonder what you get when you play those backwards? 12:54:02 -!- augur has joined. 12:54:06 "Jesus is cool. Jesus is cool"? 12:55:36 Machinae Supremacy's Spotify biography page describes them as "SiD metal"; since all other sorts of "metal" seems to have backwards messages, I'm sure it's got something too. 13:18:52 .... 13:19:05 I almost wrote (user!=null)?true:false 13:19:22 ouch 13:19:33 -!- BeholdMyGlory has joined. 13:20:26 At least you didn't write (userIsNull!=false)?true:false. 13:20:53 My older brother used to write Delphi code saying "if someBool = true . . .". It was mildly annoying. 13:21:20 comparing bools to true can be dangerous, especially in langs like C where multiple values mean "true" 13:21:25 comparing to false is normally safe but silly 13:21:52 * Phantom_Hoover notes that IWC's San Dimas time is running weirdly. 13:21:52 This is C# 13:22:01 So it's not particularly dangerous to compare with true 13:22:12 I think 13:22:36 Time exploded several strips ago, but no-one except the Deaths and the Mythbusters seem to have noticed. 13:25:28 -!- oklopol has joined. 13:26:42 I think I'm too tired to program 13:26:59 I was thinking "I need to add this function. If I don't add this function, this won't work" 13:27:04 I never added the function 13:27:08 it worked? 13:27:11 or it didn't? 13:28:14 It didn't 13:29:01 But I also never added the code that was supposed to call it, so it compiled 13:32:46 Well, laziness can hurt 13:33:22 A while ago, I decided that I wanted this 2-dimensional list to be 1-indexed, so I put a null at all coords where one was 0 13:33:36 Now, when writing the new code, I forgot 13:36:35 Sgeo, you're in the States, right? 13:36:45 Yes 13:41:06 Yes, I was awake when I should have been sleeping 13:42:16 Which time-zone? 13:43:00 Eastern 13:47:58 * Sgeo vaguely wants to kill VS2010 13:49:27 That's GMT-5, isn't it? 13:49:41 So it's what, 9AM? 13:50:06 I went to sleep for approx. 0 seconds this past night 13:55:19 What were you doing that was so important? 13:56:09 Reading 13:56:14 >.> 13:59:36 Reading what? 14:00:08 Random stuff 14:00:11 A bit about Vala 14:00:24 Oh, not a book. 14:00:28 * Sgeo can be a bit of an Internet addict sometimes 14:00:44 * Sgeo decides to reenable the midnight cutoff 14:01:20 Better, hardcode it so you can't remove it. 14:04:18 Sgeo, why Vala, by the way? 14:04:41 I got the notion in my head that it's a great language for writing applications 14:04:53 It's compiled in a non-managed environment and isn't C++ 14:07:54 Why do you want to write applications? 14:09:05 ...good question 14:10:19 Well, unless you're actually being paid for it? 14:12:38 * Sgeo wonders how many paid Vala jobs there are 14:12:43 Probably close to none 14:18:55 test 14:18:59 ah, passed :) 14:21:31 Sgeo, so you're writing applications for *pleasure*? 14:21:43 Phantom_Hoover, why not? 14:21:46 Hypothetically 14:22:04 Because! It's the principle! 14:25:48 It's designed to be *useful*! 14:47:23 -!- sftp_ has joined. 14:48:04 -!- sftp has quit (Ping timeout: 246 seconds). 14:54:03 -!- Phantom_Hoover_ has joined. 14:57:35 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 15:23:08 -!- boily has joined. 15:24:41 -!- BeholdMyGlory has quit (Remote host closed the connection). 15:31:28 -!- augur has quit (Ping timeout: 276 seconds). 15:31:54 -!- augur has joined. 15:33:22 -!- derdon has quit (Remote host closed the connection). 15:35:55 * Phantom_Hoover_ wants the image maps that they have in Square Root of Minus Garfield. 15:36:01 -!- Phantom_Hoover_ has changed nick to Phantom_Hoover. 15:36:45 -!- oerjan has joined. 15:37:34 -!- cpressey has joined. 15:41:19 -!- Mathnerd314 has joined. 15:43:37 oerjan! cpressey! Mathnerd314! 15:45:14 Phantom_Hoover! 15:46:17 i refuse to bend to your mind-altering powers 15:48:52 -!- MizardX has joined. 15:49:22 what? 15:49:55 * Mathnerd314 reads log 15:50:36 oh. 15:50:43 * Phantom_Hoover_ wants the image maps that they have in Square Root of Minus Garfield. 15:50:48 -!- derdon has joined. 15:50:50 So, was my math decent? 15:50:57 maybe look in the discussion forum? 15:52:42 Someone else got the answer I got :D 15:56:37 -!- BeholdMyGlory has joined. 15:57:53 Random copyright thought: if you can have a number that represents a copyrighted work, you can violate copyright with it. 15:58:15 You can also find a map between any two arbitrary pieces of data. 15:58:28 Hence, all numbers are a copyvio. 15:58:50 Quite. 15:59:50 Now, where's my nearest court... 16:01:09 I have a Goedel encoding of the Mona Lisa right here. But I guess that's in the public domain. Or the Louvre. 16:02:28 True, but you can easily make a function that maps, say, 3 to the Harry Potter series. 16:02:32 oerjan: may i ask you a math question in pm 16:02:42 i'm trying a new thing 16:02:51 Private maths! 16:02:51 the new thing is i ask before i ask 16:02:59 *ask to ask 16:03:22 You can't let us know what kind of sick calculations you're doing! 16:03:28 Unless it's a personal math question, somehow, I for one wouldn't mind it being in the channel. 16:03:33 a disturbing change. has Phantom_Hoover's mind control got to you too? 16:03:43 well sure i could but i wouldn't like it if a random person knew the answer right away 16:03:55 *MWAHAHAHA* 16:04:01 Fair nuff 16:04:07 can *two-directional* AFA's be more powerful than DFA's 16:04:13 that's my question 16:04:16 what's an AFA 16:05:02 two-directional DFA's are easily seen to be the same as DFA's, and AFA's i know are the same as DFA's (in power i mean), but i don't know the proof of the latter (well maybe i do but i haven't given it thought) so i don't know what happens when you have both 16:05:05 alternation 16:05:10 universal states 16:05:16 and existential states 16:05:38 oh. 16:06:05 the reason is if two-directional AFA's give you the regular languages, then i think i solved an open problem 16:06:21 the answer is very simple so i think the assumption that 2dAFA = DFA must be wrong 16:06:21 well i cannot say i've heard the problem before. 16:06:36 (i knew the thing about 2-directional DFAs though) 16:06:53 What's an AFA? 16:06:59 i didn't actually know it but it's sort of trivial, just remember what happens if you go left 16:07:06 and you can keep that info inductively 16:07:14 Ah, the Association of Flight Attendants. 16:07:15 gets harder with alternation (maybe, maybe not) 16:07:39 well an AFA is 16:07:42 do you know DFA's? 16:07:44 Why would a two-directional AFA give you the regular languages? Maybe I don't appreciate what "two-directional" means here. 16:07:52 cpressey: it can just go left too 16:08:03 the question is not why it wouldn't give them, but why it does 16:08:03 oklopol: k, thx 16:08:32 well - | start by making conservative assumptions 16:08:33 it's just ATM without memory 16:08:45 s/|/I/ ... not sure how *that* happenned 16:09:44 i know that alternating polynomial = PSPACE, that's the essence of quantified boolean formula being PSPACE-complete 16:10:24 well sure 16:11:02 -!- augur has quit (Ping timeout: 240 seconds). 16:11:59 -!- augur has joined. 16:12:03 there are fun results linking FSA and complexity theory, but i can't start listing now because i have to eat icecream 16:12:11 tell me if you solve it 16:12:44 "A basic theorem tells that any AFA is equivalent to an non-deterministic finite automaton (NFA) by performing a similar kind of powerset construction as it is used for the transformation of an NFA to a deterministic finite automaton (DFA)." 16:13:10 that sounds fairly simple, NFAs are the case just using existentials... 16:13:16 http://www.springerlink.com/content/y10575485h1uu2u6/ 16:13:20 I can't log in, but... 16:13:34 It does sound as if multihead or 2dir AFAs are more powerful than DFAs. 16:14:41 "the languages accepted by two-way alternating multihead finite automata are exactly the same languages accepted by determinstic Turing machines in polynomial time". 16:15:59 hm multihead means it can read at several locations simultaneously, no? that's not obviously the same power. 16:16:32 Agreed. I was wondering how you could reduce that to single-headed. 16:16:38 in fact that obviously allows it to check the (^n)^n language 16:17:17 which doesn't seem obvious with 1 head 16:17:23 cpressey, did I ever mention that I hate you for the dead links to CET? 16:17:33 Phantom_Hoover: Which ones? 16:17:52 The ones to catseye.webhop.something 16:17:55 central european time is dead, just deal with it 16:18:31 Phantom_Hoover: Hating me will get them fixed, clearly 16:18:49 Yes! 16:21:13 What the heck is a "nite automaton"? OH... probably google munging the word "finite" in its PS viewer 16:21:52 Vala's ownership stuff gives me a headache 16:25:23 oklopol: Good luck on proving AFAs can accept (or not) regular languages -- it sounds like it might be an open problem in and of itself. 16:25:33 AFA being? 16:25:47 AFA is an acronym for "Read The Log" 16:26:30 admittedly, I've been reading the entire conversation and I'm still unsure as to what an AFA is 16:26:44 as in, I know the expansion of the acronym now 16:26:55 but not what the actual automaton architecture is 16:27:00 Best description for me was "Like an ATM but without memory" 16:27:10 ais523, I was unable to find the expansion of the acronym 16:27:26 AnMaster: that's what logs are for 16:27:40 ais523, how long do I need to go back? 16:27:41 ATM? Async Transfer Mode? Automated Transaction Machine? 16:27:49 A Turing Machine? 16:27:53 http://en.wikipedia.org/wiki/Alternating_Turing_machine 16:27:58 ah 16:29:13 And when I wished oklopol good luck, I meant to say "2-way AFAs". Plain AFAs can't, they're equivalent to DFAs. 16:30:28 I found in logs that the first A stands for Alternating, but now what the FA stands for. I guess it is Finite Automaton or such though 16:32:35 Yes. As it does in DFA and NFA. 16:32:38 -!- augur has quit (Ping timeout: 240 seconds). 16:33:04 -!- augur has joined. 16:33:19 oh! 16:33:55 oklopol: a 2-way single-head AFA can _also_ obviously check (^n)^n 16:34:15 Proof that AFAs equal DFAs in power: Convert AFA to NFA (the existential choices are universal choices over a universe of one possibility only.) Then convert the NFA to a DFA through the usual means. QED. 16:34:25 oerjan: Do elaborate! 16:35:12 oh wait 16:35:21 brain fart 16:35:42 Is this that old joke about "Wait, *is* that obvious...? <> Yes, it's obvious." 16:36:01 nope, it's no longer obvious 16:36:46 Oblivion for the obvious. 16:39:09 I think it's "obvious" that it can't check (^n)^n, but I can't explain how. But I think a lot of things are "obvious" in that way. If I could explain why rigorously, I'd be famous and rich. 16:39:40 like the whole TCness of Xigxag/Dupdog? 16:39:48 or more probable non-TCness? 16:39:48 My god, what? 16:40:02 Yes, I was going to say, non-TCness of Xigxag :) 16:40:05 as in, both languages feel obviously non-TC, but it's hard to prove 16:40:13 Had not heard of Dupdog before. 16:40:14 and I'd love for Xigxag to be TC 16:40:20 cpressey: it was basically just a joke 16:40:27 it's rather xigxag-like, though, yet more complex 16:40:40 and also has a tendency to blow up into very long programs with only small bits changing 16:40:45 Nice HW program. 16:41:12 cpressey: not really, the HW program assumes that characters are interpreted mod 257 16:41:17 and I see no real justification for such an assumption 16:41:32 Oh poo. 16:41:35 Oh well. 16:41:48 I think it may still be possible mod 256, just a lot harder 16:43:17 -!- oerjan has quit (Quit: Later). 16:47:34 I keep wanting to apply information theory to these problems. I just read http://en.wikipedia.org/wiki/Algorithmic_information_theory . It didn't help. 16:49:58 multihead is always more powerful than nonmultihead, essentially 16:50:54 you can almost never reduce it to single-headed, and for deterministic machines we know DFA with k+1 heads can do languages DFA's with k heads can't 16:51:40 you can prove this with a straightforward diagonalization for k+2 and k by simply accepting the language of all k-head machines that don't accept themselves, you need k heads for simulating the automaton and 2 for bookkeeping 16:52:10 Heads (after the first one) act as a kind of storage, so that makes sense. 16:52:35 " oklopol: Good luck on proving AFAs can accept (or not) regular languages -- it sounds like it might be an open problem in and of itself." <<< well two-way, and why do you say it might be open? 16:53:03 -!- boily has quit (Quit: leaving). 16:53:54 " brain fart" <<< yes, at least the "obvious" part 16:53:58 i' 16:54:16 've been thinking about that exact example for quite a while, seems obvious you *can't* do it tho 16:54:32 oklopol: Yes, I missed two way. I saw one paper that suggested the "simplest" models that have been proved >DFA so far are multiheaded. 16:55:03 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds). 16:55:04 I didn't see anything about 2way AFAs, either way. Not conclusive of course 16:56:17 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 16:56:18 a DFA with two heads is already "trivially" stronger than one with just one head 16:56:26 trivially if you know where to look 16:56:37 or maybe it's trivially no matter what 16:57:27 as for markers (these little stones you can move around the tape) i don't even know if 1-marker is stronger than 0-marker, because i haven't read the article about k+1 heads > k heads so it might be a special case 16:57:50 i don't really see what you could do with just one marker 16:58:04 Someone should totally come out with an automata theory-themed board game. 16:59:05 -!- BeholdMyGlory has joined. 16:59:23 how would that work? i would love it in any case 17:00:54 I dunno -- I mean a lot of board games can probably be reduced to automata of some form... 17:02:20 I did wonder once if you could make a game out of NTMs -- one player tries to choose transitions that will make the machine accept, the other tries to choose transitions that will make it reject 17:03:04 I suspect there is a lot of opportunity for stalemate there though 17:04:31 -!- MizardX has quit (Quit: What are you sinking about?). 17:08:39 -!- augur has quit (Ping timeout: 248 seconds). 17:09:25 -!- augur has joined. 17:09:53 cpressey, NTM? Not Turing Machines? 17:10:07 Nondeterministic Turing Machines 17:10:09 ah 17:11:39 -!- tombom_ has joined. 17:13:49 Snakes and ladders is really just a kind of probabilistic FA -- there is no state except where your token is. The accept state is at the end of the board. (It would be more interesting if the snakes and ladders could move and/or if you had a hand of cards to play instead of rolling dice.) 17:14:52 -!- tombom has quit (Ping timeout: 258 seconds). 17:15:23 cpressey, if those could move, wouldn't it be like a self modifying FA? 17:16:09 Correction: Proof that AFAs equal DFAs in power: Convert AFA to NFA (the universal choices are existential choices over a universe of one possibility only -- just like you'd convert a DFA to an NFA.) Then convert the NFA to a DFA through the usual means. QED. 17:16:30 AnMaster: It would. 17:16:46 cpressey, wikipedia claims "As a result, the game can be represented as a state absorbing Markov chain." about that game 17:16:56 I have no idea how 17:20:21 I guess they're thinking of the history of dice rolls as the data in the chain 17:20:55 ah 17:33:18 -!- augur has quit (Ping timeout: 276 seconds). 17:33:50 -!- Gregor-W has joined. 17:37:09 -!- Mathnerd314_ has joined. 17:38:13 -!- Mathnerd314 has quit (Ping timeout: 276 seconds). 17:38:23 It occurs to me that very few board games have unbounded storage. 17:38:35 D&D is an exception, but it's not really a board game, of course. 17:38:40 -!- Mathnerd314_ has changed nick to Mathnerd314. 17:38:54 hm I think one of my drive is starting to fail. Under warranty and part of a RAID 1 array so no worry really. 17:39:01 Maybe Pictionary??? :D 17:39:20 Also not really a board game, but closer 17:40:03 http://sprunge.us/aGDZ 17:40:05 that can't be good 17:43:53 -!- relet has joined. 17:47:28 -!- Phantom_Hoover has joined. 17:50:22 " I did wonder once if you could make a game out of NTMs -- one player tries to choose transitions that will make the machine accept, the other tries to choose transitions that will make it reject" <<< NTM's are additive in the sense that you can't add anything and make them accept less stuff 17:50:41 OK, not *exactly* NTMs 17:51:00 Multiple transitions out of a state, but which one is taken, is chosen by the plater 17:51:02 *player 17:51:14 *platter 17:51:30 That's a DJTM 17:51:34 *platypus 17:51:51 *rubber ducky 17:51:59 " Correction: Proof that AFAs e..." <<< i don't get this at all, can you give me a link 17:52:25 oklopol: No link, I just made it up? It seems like a really easy proof 17:52:46 well to me it seems like nonsense 17:52:48 s/?/./ bad use of ? 17:52:56 do you know what a universal state is 17:53:03 -!- ais523 has quit (Remote host closed the connection). 17:53:07 All paths out of it have to accept, right? 17:53:23 wait you did a powerset thing? 17:53:24 And existential is, at least one path out has to accept 17:53:37 yeah those are correct 17:54:31 if you take the powerset then yeah actually i guess it's trivial, let me think about it 17:54:40 *i guess it might be trivial 17:55:18 Yeah, putting a powerset in there would make what I was saying explicit, I think 17:56:02 if your state is some set S, that means all those states must accept, nondeterministic steps work normally, just take the cartesian product of guesses, universal steps, well, what you said 17:56:19 the crucial thing is to realize what being in a set of states means 17:56:24 but i guess it's obvious 17:57:05 if not obvious, then at least.... non-problematic 17:57:23 so umm does that give us two-way AFA's... 17:57:38 well 17:57:43 -!- Mathnerd314 has quit (Ping timeout: 248 seconds). 17:57:53 Oh, um 17:58:03 The input is finite? 17:58:08 why would it, i don't even see how 2-way NFA is the same as 2-way DFA 17:58:10 sure 17:58:14 -!- Mathnerd314 has joined. 17:58:22 that doesn't really matter 17:58:25 Then a two-way automaton on the string maps to a one-way automaton on a tree 17:58:40 clever 17:58:43 maybe 17:58:43 And there is work on AFAs on trees (and graphs) -- I've seen it 17:58:49 sure 17:59:33 but one-way automata on trees don't translate to two-way automata on strings 17:59:42 which is what we need 17:59:48 well 17:59:49 mrh, true. 18:00:14 well anyway, is 2-way NFA the same as 2-way DFA?!? 18:00:23 why don't i know something this simple 18:04:04 Same in terms of CC? 18:04:16 Phantom_Hoover: yes 18:04:20 That's a DJTM <-- DJTM standing for? 18:04:32 AnMaster: riffing on *platter 18:04:38 Damn! 18:04:38 states are powersets + for all states, information about what happens if you go, from the cell where you are, left in that state, and we can just inductively carry this info with us 18:04:49 cpressey, I wanted that pun! 18:05:35 cpressey, ? 18:05:57 Phantom_Hoover: OK, next time I'll let *you* confuse AnMaster. 18:06:12 * AnMaster googles riffing 18:06:32 if the automaton goes left, for all states S in the powerstate, it does whatever it does when going left from states S, if one accepts it accepts, if it goes right it changes S as with the usual powerset construction, and for all states it checks what they do if going left, using the info about what they do when going left from the cell to the left 18:06:44 AnMaster, playing with, basically 18:06:44 many details need to be filled, but i don't see why this wouldn't work 18:06:49 cpressey, oh DJTM as in DJ TM? 18:07:21 oklopol: It seems reasonable 18:07:23 for AFA, the automaton can start building a huge boolean function combining the results of going left 18:07:39 "if these two accept and this doesn't, then do this, if on the other hand..." 18:07:45 The state blowup is immense, of course, but irrelevant, of course 18:08:02 well it's only exponential still, because you just need one piece of info for each state in addition to the powerset! 18:08:08 well 18:08:11 only exponential :P 18:08:50 so maybe 2-way AFA is actually stronger, i'll try to come up with a counterexample tomorrow 18:08:52 i mean 18:09:00 counterexample to it being just regulars 18:09:07 err no wait 18:09:23 it can build any boolean function of going-left's, but the inputs are just states... 18:09:36 so actually i think by having another exponential blow-up, you can do it 18:11:07 i'll give this a bit of thought 18:12:26 I'm still thinking about how the C preprocessor might be Turing-complete... 18:15:15 -!- augur has joined. 18:15:22 Didn't pikhq post a link to a Game of Life interpreter or something thereabouts in it? 18:15:29 Isn't that proof that it is, not just might be? 18:16:12 Gregor-W: yes, but the life playfield in that was finite. 18:16:24 Ahhhhhhhhhhhhh 18:16:24 Shoot 18:16:55 Should try with something more fitting, like the lambda calculus. 18:17:59 I was thinking about how you could do a cyclic tag system... the hard part is extracting the tip of the string (or whatever you're using to represent the state) 18:18:28 The rest, namely checking what the tip is, and appending the response to the other end of the string, seems easy. 18:18:54 But, I don't really know, since I'm not a huge cpp jockey. 18:19:23 -!- sebbu has joined. 18:19:25 In spite of being a string-rewriting language, I don't think CPP would be great for that ... 18:25:08 Pity there's no string indexing in there at all. 18:26:27 My bet is still on Lambda. 18:26:40 so 2AFA -> 2NFA: you have the usual powerset constr, and for each state s you store all the sets of states S (not containing s) such that there is an accepting run from s going left if there's an accepting run from all states in S. now on each move, go through states s, if s goes left then guess one of its S-sets to replace it, and repeat this until all states go right or you loop (you just hardcode all this), then when you go right 18:26:45 QED 18:26:52 damn that was formal 18:27:37 I like how you used the word "hardcode" in a proof 18:28:11 That puts me in a good mood as I go for lunch :) 18:29:06 :) 18:29:16 yeah wanted to remind the reader we're not talking about an algorithm the AFA has to somehow implement 18:37:36 Sounds hardcore to me. ... bitches. 18:38:44 -!- myndzi has quit (Ping timeout: 252 seconds). 18:43:57 -!- sshc has quit (Ping timeout: 276 seconds). 18:49:12 -!- tombom_ has quit (Ping timeout: 260 seconds). 18:53:07 -!- CakeProphet has quit (Read error: Operation timed out). 18:57:21 -!- CakeProphet has joined. 19:00:37 And 2NFA -> NFA -> DFA, if I'm not mistaken. I can see "why" more clearly now, but I don't have a proof. The number of "paths back" is always bounded by a function of the size of the transition table. If you get into multiheaded things, the bound depends on the size of table *and* the size of input, so you get into LBA and P territory. 19:07:15 And if the number of "paths back" is bounded that way, you can always do the powerset thing to the states. 19:07:47 -!- Mathnerd314_ has joined. 19:08:26 -!- Mathnerd314 has quit (Ping timeout: 252 seconds). 19:08:39 -!- Mathnerd314_ has changed nick to Mathnerd314. 19:12:32 "It can be shown that the Kolmogorov complexity of any string cannot be more than a few bytes larger than the length of the string itself." Interesting use of the word "byte"... 19:14:30 -!- CakeProphet has quit (Ping timeout: 276 seconds). 19:17:51 -!- sshc has joined. 19:18:14 Yeaaaah ... that should really be something more like "a small, fixed amount" .... but then again since it varies by your description language, bleh. 19:23:38 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds). 19:24:35 -!- BeholdMyGlory has joined. 19:27:44 There *has* to be a way to prove P < NP out of this :) 19:40:54 " And 2NFA -> NFA -> DFA, if I'm not mistaken." <<< i reduced directly to NFA 19:41:14 i don't see how to reduce to 2NFA 19:41:40 " so 2AFA -> 2NFA: you have [...]" 19:41:46 i mean, so that you somehow do a simpler reduction 19:41:53 oh shit 19:42:03 well 19:42:12 NFA \subset 2NFA, but i definitely meant NFA 19:42:48 Really, NFA < 2NFA? Damn, my intuition was wrong then. 19:43:04 umm a two-way NFA can just never go left 19:43:16 ohh 19:43:54 i meant that NFA's are subset of 2NFA in the very concrete sense that for each NFA there's the exact same 2NFA 19:43:58 *A 19:43:59 *a 19:44:02 Oh, ok. Whew 19:44:16 The structure is a subset. Yeah. 19:44:26 Well, "structure"... you know what I mean 19:44:29 AXX will always be stronger than NXX because you can just not use universals 19:46:45 " There *has* to be a way to prove P < NP out of this :)" <<< from what, kolmo? 19:46:59 oklopol: Yes! I'm not entirely serious though. 19:47:33 P < NP is serious business though, i hear 19:48:11 It's a million-dollar industry, at least. 19:48:22 Actually, that makes it sound like such small potatoes :) 19:49:52 Last I checked, new potatoes (which are small) were a sizable industry. :P 19:50:15 NxN sudokus are NP-complete, aren't they? 19:54:35 Certainly in NP (assuming a reasonable # of givens I suppose), but I don't see how you could show it NP-complete offhand. 19:55:46 -!- Mathnerd314_ has joined. 19:56:22 cpressey, I vaguely remember it from the Scientific American. 19:56:23 The wikipedia article on Sudoku is in the category "NP-complete problems", but mentions nothing about it on the page. Yay Wikipedia 19:57:24 -!- Mathnerd314 has quit (Ping timeout: 276 seconds). 19:57:26 -!- CakeProphet has joined. 19:57:28 -!- Mathnerd314_ has changed nick to Mathnerd314. 19:57:31 "It's mildly misleading to say "Sudoku is NP-complete". There is an NP-complete problem related to Sudoku: given a partially completed grid, determine whether it has a solution. But this is a problem that faces the setter, rather than the solver. " 19:57:41 Yeah, I just found that page too. 19:58:46 -!- impomatic has joined. 20:09:19 same thing with minesweeper 20:09:29 the actual game hasn't been proven np-complete 20:09:41 just whether a set of shown numbers is consistent 20:09:43 afaik 20:20:00 Oooh 20:20:18 Does Co-NP = NP? 20:21:41 I should think so. 20:22:12 Co-NP means that for a problem X, X is NP, doesn't it? 20:22:54 What does "?X" in "?X is NP" mean? 20:24:56 it means your client sucks 20:25:09 get a client that understands UTF-8 20:25:29 It does! I can read pikhq's Japanese stuff just fine! Well, mostly. 20:26:11 読める? 20:26:14 良いね。 20:27:13 Exactly. Anyway, let's assume ?X means "complement of X". Then yes. But that doesn't mean NP = Co-NP. 20:27:21 coppro: If his client sucked it'd be multiple characters. 20:27:29 ah 20:27:33 then get a better font 20:27:37 cpressey: You need a font with the glyph. 20:27:37 Usually it's a box with 4 digits in it... 20:28:04 Fallback font not working, I guess? 20:28:24 I take it, it is not ¬X 20:28:36 ... It is. 20:29:41 Maybe Phantom_Hoover is not actually sending UTF-8, but something that your clients understand and can turn into ¬, but Pigeon can't? 20:30:11 I have no idea what XChat is up to. 20:30:31 Hrm. irssi *should* be just treating this as UTF-8. 20:32:10 Irssi's default settings have a fallback for invalid UTF-8, unless I misremember. 20:32:21 Ah, right. 20:32:24 /set recode_fallback and so on. 20:32:38 Seems to be CP1252 here, possibly for the benefit of Windows people. 20:32:43 Phantom_Hoover: It meants your IRC client sucks. 20:33:16 ? 20:33:46 That was two consecutive "not"s followed by two consecutive sterling signs. 20:33:46 Anyway, XChat's default I think is also character set "IRC (latin/Unicode hybrid)" 20:33:58 yeah, that is not UTF-8 20:34:07 solution: get a client that uses UTF-8 20:34:15 Phantom_Hoover: Send UTF-8. 20:34:56 I guess XChat's "hybrid" might mean "Use latin1 by default, except UTF-8 if the input text contains something that can't be represented as latin1", and both not and the sterling sign are in there. 20:35:24 Hmm, ¬¬№№. 20:35:29 You can toggle it to plain "UTF-8 (Unicode)" in the network setup screen thing. 20:35:34 So, XChat is maintaining the brain-damage that is CP1252? 20:35:39 that is UTF-8 20:35:43 fizzie: Is not Latin1. 20:35:55 What's not latin1? 20:36:01 fizzie: CP1252 is a superset of Latin1. 20:36:15 Yes, I know. But both those characters he sent are in latin1. 20:36:21 Mmm. 20:38:58 20:39:03 Does that work? 20:39:11 no 20:39:27 -!- sebbu has quit (Ping timeout: 264 seconds). 20:40:11 I think this wins the award for "worst code I've ever seen in ##C++", and that's saying somehting: http://pastebin.com/V3jWjXtg 20:40:39 That looked like 0xac 0xac 0xa3 0xa3 in my logs; that'd be either latin1 or the windowsy thing. 20:41:15 Even I'm not that unlazy enough. 20:41:46 (XChat's network settings probably won't take effect before reconnecting with the edited configuration.) 20:41:50 How... bought in do you have to be to "Work harder, not smarter" to even think of that 20:41:52 Wow, it's the superset construction applied to a C++ program! 20:42:03 *powerset 20:42:12 coppro: That's... stunningly stupid. 20:42:58 That "one-case switch" pattern is also pretty nice. 20:42:59 " Does Co-NP = NP?" <<< if P = NP then yes, if P != NP then i don't know if that implies co-np and np are different as well 20:42:59 ARRAYS MAN, ARRAYS! 20:44:19 Kinda impressive how it doesn't have... Any abstraction at all. 20:44:29 " Co-NP means that for a problem X, X is NP, doesn't it?" <<< yes it's just the set theoretic complements of sets in NP, although it's also characterized by tm's that have universal states (just universal ones, no existential ones) 20:44:56 Also: God, I feel the urge to write a similar program just so I stop crying. 20:44:58 well, it's actually a C program 20:44:58 pikhq: On the other hand, it allows spreading your air craft carrier squares all over the map. You can't do that in inferior battleship implementations. 20:45:04 I'm surprised he's still in ##C 20:45:17 Sorry, "air craft carier". 20:45:18 fizzie: XD 20:45:20 I would have expected them to have kickbanned him by now 20:45:28 Oh, and "poition". 20:45:35 So how does co-NP not imply NP? 20:45:57 Hmm. Demands Curses. 20:46:35 Phantom_Hoover: how does it? 20:46:38 Surely a problem and its complement can each be deduced from the other? 20:46:53 Deduced, sure. REduced... no 20:47:02 Or... a GUI. 20:47:03 (gasp!) 20:47:09 maybe, humankind just doesn't know how. 20:47:10 man, this guy's an idiot 20:47:16 I wish he was just a troll 20:47:19 it's clear he is not 20:47:34 Me‽ 20:47:37 no 20:47:39 the guy in ##C++ 20:47:53 -!- tombom_ has joined. 20:47:59 Hey, an appropriate interrobang. 20:48:13 Oh? What's he doing? 20:48:15 And my IRC client rendered it correctly, too. Sweet! 20:48:36 Yeah, I made a quick trawl of the XChat docs. 20:48:37 Phantom_Hoover: a nondeterministic TM makes guesses, and accepts if one guess works; you can't solve the complement problem because you need to check that *not one* of the choices works 20:48:43 and nondeterminism doesn't let you do that 20:49:01 Ah, OK. 20:49:24 But surely you can solve X by solving X and inverting the answer? 20:49:42 sure, but that won't be an algorithm a NTM can run 20:49:54 you will have to call an NTM program from a TM 20:49:58 and then invert its answer 20:50:37 in fact P^NP is complementable for this reason (polynomial time with oracle that does nondeterministic polynomial queries in one step) 20:51:25 Sgeo: he's smarter than you because he's in college. 20:51:31 or, you can call it from a nondeterministic program and then invert the answer 20:52:12 this may all be a bit confusing still, you should just read the formal definitions reeeally well. 20:53:02 I should, shouldn't I? 20:53:26 you should! 20:54:38 Phantom_Hoover: Compare: boolean satisfiability (is there an assignment of varibles that makes this statement true) to tautology (do *all* assignments of variables make this statement true) 20:54:47 sat is in NP, but taut is in co-NP 20:54:57 Ohh. 20:55:15 what was that an answer to? 20:55:43 cpresssey's thing, kind of. 20:56:25 There's also that other way to define NP: the decision problems for which you can verify the proof for a "yes" answer in polynomial time with a deterministic TM; and for co-NP, the same but verifiable proofs for the "no" answers. Though perhaps I shouldn't be trying to add to the confusion any more. 20:56:53 nothing wrong with adding to confusing 20:56:55 *confusion 20:56:56 language L is in NP iff there is a nondeterministic turing machine that accepts exactly the words in L, and always runs in polynomial time. a nondeterministic turing machine is a turing machine that can have multiple next steps from each configuration, and it accepts iff there is one sequence of guesses that leads to acceptance 20:58:08 Complete guess: SAT with monotonic sentences (no NOT) is in P. Maybe even a greedy algorithm 20:58:50 monotonic sentences? 20:59:04 Is monotonic the word? AND and OR, but no NOT 20:59:05 and what do you mean complete guess 20:59:22 I mean I have no proof, going entirely on intuition and similar sounding problems 20:59:27 oh okay monotonic is a good words 20:59:29 *word 20:59:43 oh complete guess as in info from ass 20:59:51 "monotonic circuits" come up sometimes in circuit complexity 20:59:53 So anybody written an interpreter in CPP yet? :P 20:59:53 i thought complete as in np complete ... 21:00:05 yes, info from ass :) 21:00:46 my ass tells me it's in P 21:01:07 so 21:01:13 assign all variables to true 21:01:26 you can prove by induction that this algorithm eventually finds the answer 21:01:51 you could call it a greedy algorithm 21:02:43 maybe every set of boolean functions is either trivial or np-complete 21:04:14 maybe that's trivial if you know your boolean algebras, what kinds of stuff can a set of functions generate if it doesn't generate all boolean functions 21:05:01 also what does trivial or NP-complete even mean 21:05:14 that there's a linear time algo? 21:05:17 who knows. 21:06:38 if every 3-head NFA M can be replaced by a k-head DFA for some k that depends on M, then the nondeterministic context-sensitive languages are the same as deterministic context-sensitive languages 21:12:42 oklopol, isn't NP-complete pretty well defined 21:12:48 unlike the concept "trivial" 21:13:35 Trivial means I can't be bothered doing it, yes? 21:13:40 XD 21:16:41 1. (4) fiddling, footling, lilliputian, little, niggling, piddling, piffling, petty, picayune, trivial -- ((informal) small and of little importance; "a fiddling sum of money"; "a footling gesture"; "our worries are lilliputian compared with those of countries that are at war"; "a little (or small) matter"; "a dispute over niggling details"; "limited to petty enterprises"; "piffling efforts"; "giving a police officer a free meal may be against the law, but it s 21:16:41 eems to be a picayune infraction") 21:16:49 Lots of them words. 21:19:03 AnMaster: yes, "trivial or NP-complete" is only informal because "trivial" is. 21:19:26 in this case trivial couldn't really mean "I can't be bothered doing it" 21:19:36 because it would be the algorithm that does it 21:23:05 -!- MigoMipo has joined. 21:30:26 * Sgeo holds a preemptive memorial for Phantom_Hoover 21:30:55 For looking through that code? 21:31:10 I have better things to do, but they're not as immediately interesting. 21:32:21 oklopol: So "I can't be bothered doing an algorithm to do it" for trivial, then? 21:36:46 XD 21:54:53 fungot 21:54:53 CakeProphet: you don't really need more ram please donate! cool 21:54:57 !simpleacro 21:55:08 FAGFTFK 21:55:11 hahaha 21:55:26 short for: fag foot fuck? 21:55:57 though, fags don't really have feet. They're mostly for getting cancer and/or burning witches(?) 21:57:48 !simpleacro 21:57:50 fizzie: something like that 21:57:51 QCWAMNZZ 21:57:57 CakeProphet, and for eating. 21:58:03 !simpleacro 21:58:05 PZGXVHK 21:58:17 No vowels! 21:59:46 actually in acronym-space 21:59:52 vowels do not correspond to more possible words 22:00:28 most words begin with consonants, but only certain ones. Feel free to hack the source of simpleacro to add weighting. oerjan made a weighting algorithm but didn't produce a full list of weighted words 22:00:46 er letter 22:00:48 s 22:00:59 Quebecois Communists Wantonly Attack My Not-Zero'd Zabutons 22:01:11 Zabutons? 22:01:48 Whaddayaknow, it's a type of cushion. 22:01:55 Not-Zero'd Zomplexes. 22:01:57 Phantom_Hoover: When sitting in seiza (kneeling before a table), one sits upon a zabuton. 22:02:19 fizzie, teehee. 22:02:33 I still think my complex subset names were awesome. 22:02:56 Pied Zen Geek Xmas Viewed Hong Kong 22:04:17 Phantom_Hoover: BTW, it's a 'sitting futon'. 22:04:20 If I were doing any kind of intelligent mathematics in school this year I'd bring them up. 22:05:47 ...you guys know way too many obscure words. 22:06:22 you know I was thinking of taking the challenge of writing a poem-friendly programming language 22:06:23 Vala can be so... 22:06:27 I'm not quite sure how to go about it. 22:06:39 Sometimes I'll learn something about it that's great, sometimes something that's horrible 22:06:58 you could try to give meaning to syllables, but that might constrain your poem. Basically I need to find an acceptable set of constraints for a given input, that would make writing poetry fun. 22:07:04 CakeProphet, I made those set names up. *coughaskmewhattheyare* 22:07:05 Sgeo: Wondering if I should bother looking at it 22:07:54 I think basing instructions off of starting letter would be an acceptable constraint. 22:07:59 I rarely get past "looking at it" for most "alternative mainstream" languages 22:08:13 another possibility is to have a number of different selection mechanisms... that you can set with pragmas at the top of the poem. 22:08:40 so the constraint is dependent on the kind of poem you want to write. Could be syllable-based, rhyme-based, letter-based, word-length-based, etc 22:08:48 There's the good old Shakespeare for that. 22:08:50 CakeProphet: Tracking measure (syllables) would be appropriate, but hard 22:09:01 indeed. you'd need a dictionary 22:09:05 a very comprehensive one 22:09:25 Or cheat by insisting it be notated 22:09:44 rhyme could be done via database. bug would be possible though, so any kind of interpreter should have good debuggin output. Like showing what rhymes with what, etc. 22:09:52 in case the database doesn't match something it technically should. 22:09:54 Vala has no bounds checking 22:10:01 erm, automatic bound checking, I guess 22:10:20 How worketh that? 22:10:57 CakeProphet: Mora-based? 22:11:02 frederik> Sgeo_: use an ArrayList 22:11:04 (Okay, so Shakespeare is play- and not poem-oriented.) 22:11:09 pikhq: I don't know what Mora is. 22:11:22 http://www.rhymezone.com/rhyme-help.html -- you could use this as a web service to find rhymes 22:11:43 yeah. I'd rather have an on-site database, but I have a feeling those are all proprietary/locked-away 22:12:08 CakeProphet: Morae are a basic unit of sound; a syllable is generally composed of one or two morae. 22:12:10 do dictionary databases have data on syllables? they should. 22:12:29 -!- impomatic has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.11/20100701023340]). 22:12:30 There are freely available reasonably comprehensive English pronunciation dictionaries, you could base heuristics on those. 22:12:31 pikhq: aha. that could be interesting. Again, I need databases because I am surely not going to compile that information myself. 22:12:41 CakeProphet: Trivial in Japanese. :P 22:12:45 CakeProphet, know the IPA? 22:12:55 I know of it. I don't know it. 22:13:37 Why not just fetch the IPA and match the last few phonemes? 22:14:01 Or do fancy analysis on the consonant/vowel patterns. 22:14:40 well 22:15:02 fetch implies net dependence. I suppose you could compile with that information and then have it local for the program in question? 22:15:27 BEEP has about 250k English word in it. 22:15:40 I've noticed rhymezone is kind of subpar at finding rhymes. So I'd rather use a better service or do it myself via IPA 22:15:40 The IPA for the entirety of English, CakeProphet? 22:15:55 augur? 22:15:56 ...no 22:15:57 ("British English example pronounciation" dictionary, that is.) 22:16:06 Phantom_Hoover: for the words in question. the words in the poem are static information. 22:16:12 Ah, OK. 22:16:40 Well, you'd need the IPA for any words that would need rhyme-matching. 22:17:20 Phantom_Hoover: OED should have the IPA for all of English. 22:17:21 >:D 22:17:27 http://en.wikipedia.org/wiki/Rhyme 22:17:47 Phantom_Hoover: yes? 22:17:59 To what extent does the OED/whatever give information on stresses? 22:18:05 i have no idea. 22:18:20 OED is commercial, though. You can find BEEP at http://svr-www.eng.cam.ac.uk/~ajr/wsjcam0/node8.html -- it's not exactly IPA, but phonemes anyway. 22:18:38 wiktionary? 22:18:51 not very structured 22:18:59 augur, that was universally addressed. 22:19:01 (I think there was some primary-stress markers in it too.) 22:19:03 ok. 22:19:15 cpressey, hardly helpful. 22:19:30 but you can grep for "IPA: /.*/" and sometimes get the pronunciation 22:20:04 There's also cmudict: http://www.speech.cs.cmu.edu/cgi-bin/cmudict 22:20:12 It has some stress info in it. 22:20:16 fizzie, does BEEP give us data on the stresses? 22:20:31 actually wiktionary seems passable based on some random anecdotal queries 22:20:55 127k words in cmudict 0.6, maybe more in 0.7. 22:21:32 AW0 T R EY1 JH AH0 S 22:21:49 Yes, but for rhyme matching I think we'll need to know where the stress falls. 22:21:51 The digits are stress-markers, ISTR. 22:22:03 Ah, excellent. 22:22:30 * CakeProphet will need to go through this conversation in logs for when he actually goes about this project. 22:22:45 I write poems, so I am very much interested in writing poems that compute. I actually write poems in Python and Perl sometimes. 22:22:55 0 = no stress, 1 = primary stress, 2 = secondary stress. I'm sure they have better descriptions of their data there too. 22:23:21 i guess you'd still need a heuristic if you wanted to extract syllable information for measure from that 22:23:48 shouldnt be a terribly complex one, though 22:24:09 I've seen some syllable-level metadata somewhere, but I don't remember where, and it probably wasn't a public source. 22:24:32 Wait, is this BEEP or CMU? 22:24:50 It also might've been for Finnish morphological analysis, which would be less than helpful. 22:25:01 (AW0 T) (R EY1 JH) (AH0 S) versus (AW0 T) (R EY1) (JH AH0 S) 22:25:31 For rhyming, the eager variant would probably be better anyway 22:25:38 * Phantom_Hoover realises that what he thought were "l"s were "1"s. 22:25:47 No, I take that back 22:25:50 The stress numbers were from CMU's description, but I think BEEP had something very similar. 22:26:11 CMU might be better documented; the phoneme set is a standard one etc. 22:26:39 -!- MigoMipo has quit (Quit: Page closed). 22:26:39 Or at least better documented on the website; the BEEP tarball has some docs too. 22:26:42 Outrageous, contagious. That's precisely what this phage is. 22:30:14 -!- Gregor-W has quit (Ping timeout: 252 seconds). 22:30:35 CakeProphet, what do you plan to do for commands? 22:30:51 There are also more or less simple rulesets for English hyphenation. They're not exactly exact, but could help in separating syllables. 22:30:54 I mean, you'll want a great degree of freedom. 22:32:02 Remember to build algorithms to rank the poems on how meaningful and moving they are; you'll put literary critics out of work. 22:32:28 Then they can do something useful with their lives. 22:32:29 Phantom_Hoover: haven't even considered that yet. Still working on the syntatical structures. 22:33:11 CakeProphet, which accent would you prefer? 22:34:11 hahaha gcc's having licensing problems 22:34:27 they can't legally copy examples from source into documentation 22:34:58 Ha! 22:35:00 Linky? 22:38:55 -!- GreaseMonkey has joined. 22:42:38 Oh, incidentally. 22:42:48 Some old bore called, but I sent him away. 22:42:53 Take THAT, Feedback! 22:45:29 Phantom_Hoover: wat? 22:45:34 what do you mean which accent? 22:45:59 Oh. BEEP is British English, which I assume isn't your accent. 22:46:13 -!- aliseiphone has joined. 22:46:24 Bjorn stood in accusation against the masked blind man. 22:46:35 -!- oerjan has joined. 22:46:45 oerjan! 22:47:29 errordomain IRCError { ALISE, SGEO, PHANTOM_HOOVER } 22:47:48 most words begin with consonants, but only certain ones. Feel free to hack the source of simpleacro to add weighting. oerjan made a weighting algorithm but didn't produce a full list of weighted words 22:48:30 btw it could be changed to use a Map instead of a list, if you have so many things to choose from that you want binary search 22:48:37 or a tree, perhaps 22:49:16 actually given the probabilistic nature, you'd probably want the tree to be balanced not by letters, but by probability 22:49:59 (so left and right subtrees have approx same probability rather than number of letters) 22:50:22 would probably be a bit long for an EgoBot hack though :D 22:52:23 * AnMaster plays around with opengenera 22:52:25 08:56:18 a DFA with two heads is already "trivially" stronger than one with just one head 22:52:28 08:56:26 trivially if you know where to look 22:52:43 -!- tombom__ has joined. 22:53:01 well yeah that was what (^n)^n does 22:53:08 *is 22:54:30 -!- tombom_ has quit (Ping timeout: 252 seconds). 22:55:08 I wonder how hard it would be to add scroll wheel support to it? 22:55:12 aliseiphone, ^ 22:55:26 multihead is always more powerful than nonmultihead, essentially 22:55:47 oerjan, talking about monitor setup? 22:56:06 no 22:56:15 TM? 22:56:35 well for DFAs. for higher classes not so much (once you have logspace memory you can do pointers and all the seeking you want) 22:56:45 it can reduce time though. 22:57:31 (well probably) 22:58:33 oerjan, doesn't an UTM have just one head? 22:58:52 AnMaster: this is a generalization 22:58:59 ah 22:59:24 i recently read somewhere (perhaps the Godel's Lost Letter archive) that for NP, 2 tapes can simulate any higher number with linear overhead 22:59:28 ) 22:59:30 *-) 23:01:52 (basically you use the power of the nondeterministic TM to _guess_ what the simulated TM will do, write the entire guessed history on one tape and then afterwards use the other tape to go through each simulated tape in turn, checking that the guess is consistent) 23:04:58 -!- Gregor-W has joined. 23:05:10 Outrageous, contagious. That's precisely what this phage is. 23:05:16 I give you three props for that. 23:05:44 This first prop is a lamp. The second prop is a stool, and the third prop is an umbrella. 23:07:04 not sure how much weaker extra heads are than extra tapes 23:07:35 hm or are they obviously weaker at all... 23:07:51 (strictly weaker, that is) 23:07:57 Infinite hotel rooms. They're not weaker. 23:08:28 oh right 23:08:41 I love using "infinite hotel rooms" as an argument :P 23:08:46 maybe even stronger 23:09:29 the amazing thing is that i think i got what you meant :D 23:09:43 I forget what the actual name of the relevant theory is :P 23:09:47 But hey! Infinite hotel rooms! 23:10:32 (for n tapes, you simulate them with n heads by interleaving the tapes in the single one) 23:11:07 -!- tombom__ has quit (Quit: Leaving). 23:11:46 Gregor-W: well infinite hotel rooms is usually about set theory cardinals 23:11:50 afaik 23:12:46 Sure sure, but it's all infinities :P 23:13:45 Infinities have different properties, though 23:14:01 Gregor-W, Hilbert's Hotel? 23:14:14 Gregor-W: also when i say weaker/stronger here, i mean within the same O() complexity class, so just placing all the tapes inside one is _not_ a proof - but the heads allow you to remove the extra overhead except for a constant n 23:14:30 Phantom_Hoover: not a theorem 23:15:08 aliseiphone, there *aren't* any theorems about infinite hotels. 23:16:26 Phantom_Hoover: ... 23:16:45 It's an analogy, not a theorem. 23:17:06 Reading comprehension grade: 23:17:11 oerjan: Right, the complexity class is what breaks it, but it still proves it if we're talking about simulating a 2-tape on a 2-head, just not vice-versa. 23:17:14 F 23:17:23 oerjan: Since you can trivially show that it's just going to multiply the time by a constant 2. 23:17:29 Ah, "relevant". 23:18:01 oerjan: With NP you can DO MAGIC 23:18:04 Looking at that Battleships code has turned sizeable parts of my brain into mush. 23:18:17 Phantom_Hoover: 's OK, you didn't need those parts anyway. 23:18:27 Sgeo: So where did that come from, I missed it X-P 23:18:29 I'm at work :P 23:18:36 Phantom_Hoover: Can you paste it elsewhere? It isn't loading for me. 23:18:44 Gregor-W, Phantom_Hoover 23:18:50 * cpressey tries to find a good rhyme for "infinite hotel rooms" 23:18:56 Phantom_Hoover: So where did that come from, I missed it X-P 23:19:10 cpressey: Infinite maids' brooms 23:19:16 cpressey: Good AND relevant! 23:19:22 Copying that code has now hung Firefox. 23:19:25 Gregor-W: GAF 23:19:33 Thanks, guys. Thuys. 23:19:36 ... GAF? 23:19:52 A sound of startlement and such 23:20:05 Actually, mispelled "GAH" 23:20:06 ... not one used by humans, but OK. 23:20:09 Ahhhh 23:20:10 Better then :P 23:20:49 http://pastebin.com/V3jWjXtg doesn't work for you, aliseiphone? 23:20:56 Gregor-W, ^ 23:21:10 oerjan: http://esoteric.voxelperfect.net/w/index.php?title=You_are_Reading_the_Name_of_this_Esolang&curid=2331&diff=18244&oldid=10210 23:21:17 Phantom_Hoover: As I said. 23:22:25 I can't really copy and paste directly, because that thing is probably 300K. 23:22:26 I'm so honoured the spammers chose an article on *my* language to deface. 23:23:06 -!- augur has quit (Ping timeout: 252 seconds). 23:23:06 Phantom_Hoover: I saw the link, I'm just wondering where it came from. 23:23:37 Gregor-W, Sgeo mentioned someone who was either a troll or an idiot on ##C++. 23:23:54 I poked my head around the door. 23:24:06 aliseiphone: *POOF* 23:24:18 Phantom_Hoover, you're the one who mentioned it 23:24:29 -!- GreaseMonkey has quit (Quit: New quit message. Entering 2006 in style.). 23:24:29 Sgeo, I mean in the first place. 23:24:38 ...? 23:24:39 http://googleads.g.doubleclick.net/pagead/imgad?id=CPDL4O3w3qyrngEQ2AUYTzIIBjvYkGk7we0 Why is this woman looking at a reversed computer screen with totally pointless language and technology names written all over it ... 23:24:44 Wait, that was coppro, wasn't it. 23:24:46 Oh, you mean to Gregor-W? 23:24:50 Oh 23:24:52 Oh, yes 23:24:53 >.> 23:25:01 * Sgeo is slowly going insane 23:25:08 aliseiphone: i assume you have trouble editing yourself, but in case that's not why you're asking i should point out i am _not_ a wiki administrator, so i can do no more than an ordinary user 23:25:10 Phantom_Hoover: I pasted it originally, yes 23:25:15 >_< 23:25:19 coppro: WHERE FROM GRAAAH :p 23:25:30 Gregor-W: It's a diabolical mind-control thing. She's actually strapped in a chair... 23:25:31 Gregor-W: Someone wanted help with it in ##c++ 23:25:34 I just have to know what subhuman monster initiated this. 23:25:42 coppro: I assume he got kickbanned :P 23:26:02 He wasn't, actually. 23:26:08 aliseiphone: um someone else got their edit in before mine, even 23:26:13 he wasn't even kbed from ##c, which is bizzarre 23:26:15 We all had a go at him, and he sodded off after a while. 23:26:18 *bizarre 23:26:28 ##c++ usually doesn't have ops around 23:26:53 the wiki doesn't report an edit conflict if you are trying to do the exact same edit as someone else... 23:27:08 (i guess that makes sense) 23:27:11 oerjan: Oh nose D-8 23:27:12 My money's still on "troll", or possibly "lying egomaniac". 23:27:27 Phantom_Hoover: It's a lot of effort just for trolling ... 23:27:34 oerjan, are you referring to our simultaneous POOFs? 23:27:41 Gregor-W, I know... 23:27:53 My money is on "very much newbie programmer", maybe "newbie thinker". 23:28:12 Phantom_Hoover: oh it was you? 23:28:13 OTOH, the code is all so similar that anyone who could actually program could have used an automatic generator. 23:28:39 PASTE IT SOMEWHERE 23:28:42 :( 23:29:08 aliseiphone, I have a wgotten version which I could email, but I don't want to crash Firefox again. 23:29:15 ... oh my god ... the only loop in the whole thing is one for loop restricted to 64 iterations ... 23:29:38 Phantom_Hoover: use sprunge 23:30:01 curl -F 'sprunge= money definitely on "new at using brain" 23:30:20 cpressey, hence the "lying egomaniac" bit 23:30:31 Phantom_Hoover: ah, i haven't read his msgs 23:30:45 still, they go together quite often, I find 23:30:47 cpressey: You mean "incapable of using brain" 23:30:52 aliseiphone, I don't have the raw text, though. 23:31:11 Gregor-W: um is your nose talking about the wiki spam editing? 23:31:18 Gregor-W: sadly, yes 23:31:41 From what I can see, it actually works for a while. 23:32:39 # 23:32:39 switch(subpthreetwo) { 23:32:39 # 23:32:39 case 17: 23:32:40 # 23:32:42 printf("Hit!!!\n"); 23:32:44 # 23:32:46 hit = hit + 1; 23:32:48 # 23:32:50 break; 23:32:52 # 23:32:54 23:32:56 # 23:32:58 23:33:00 # 23:33:02 } 23:33:04 Ack. 23:33:06 Sorry.... 23:33:37 *sobs* 23:34:19 aliseiphone, that is at least 80% of the code, with slightly different numbers. 23:34:54 I love the one-case-switch-as-if-without-else idiom. 23:35:09 cpressey: Yes. Not somebody who knows about the == operator :P 23:35:11 I did wonder once if you could make a game out of NTMs -- one player tries to choose transitions that will make the machine accept, the other tries to choose transitions that will make it reject 23:35:15 Actually, can I post the other thing it's almost entirely made of. 23:35:23 that would seem to fit better with an ATM actually... 23:35:28 Gregor-W, he thought arrays were BAD, 23:35:31 OMG that's the best game idea ever. 23:35:47 While using arrays for strings, but not realising such. 23:35:51 Make it a card game, sell it for billions. 23:36:08 (ATMs are afaiu essentially the Minimax algorithm turned into a TM concept) 23:36:09 Best part: he claimed to have a master's in CS and 3 years of C++ experience. 23:36:47 Phantom_Hoover: My mind. It is boggled. 23:36:55 FWIW, # 23:36:55 case 77: 23:36:55 # 23:36:55 rowseven[18] = 'B'; 23:36:55 # 23:36:56 rowseven[19] = 'A'; 23:36:57 # 23:36:59 break; is most of the rest of the code 23:37:02 .............................. 23:37:06 wat 23:37:36 what am I looking at 23:37:41 I want to print it out at some point and hang it on a wall. 23:37:47 CakeProphet: Pure, unadulterated fail. 23:37:53 ...really? 23:37:55 I mean 23:37:57 CakeProphet, it's the end of the universe. 23:37:58 that's what I thought it was 23:38:02 but I didn't think it was possible 23:38:05 If you try to compile it, time stops. 23:38:18 is there a paste I can see of the rest of this code? 23:38:25 I just... can't imagine what it does. 23:38:30 CakeProphet: http://pastebin.com/V3jWjXtg 23:38:31 I now feel more comfortable with the idea of others seeing my code. 23:38:42 Because no matter how bad it is, it is not as bad as that. 23:39:38 Quite what he learned C++ from is one of those things I want to know, but will probably regret finding the answer. 23:40:04 He claimed that his professor liked his style 23:40:19 And that he was the only person to get an A in his year. 23:40:48 He never claimed that the professor wasn't piss-drunk 24 hours a day, did he? 23:40:59 Gregor-W, not that I remember. 23:42:00 cpressey: or to put it differently, if an alternating turing machine is played as a game where one player does all the universal transitions and tries to make it reject, and the other player does all the existensial transitions and tries to make it accept, then perfect play gives exactly the same result as the usual ATM interpretation 23:42:23 you know 23:42:28 I've actually seen worse code 23:42:28 Phantom_Hoover: Well, once you've lied once, the cost of additional lies goes right down 23:42:30 well, no 23:42:40 nevermind. I've seen worse code in an /actual/ piece of software 23:42:40 CakeProphet, Do share. 23:42:54 it's some of the MERC/GodWars codebase 23:42:59 MUD codebase 23:43:04 Let's see it. 23:43:07 Put up or shut up. 23:43:07 hmmm 23:43:08 well 23:43:12 I saw some terrible code by my fellow Computing students, but that's incidental. 23:43:25 Even it wasn't anywhere near that bad. 23:43:34 hmmm.... I'll need to dig around. It's thousands of lines. I want the best example of why it is bad code. 23:43:48 Night. 23:43:55 the main flaw it commits is the lack of abstraction. Rather than, you know, using functions... they decide instead to use copy and paste for everything. 23:44:00 CakeProphet: If it takes that much digging, then it's not as bad :P 23:44:12 Gregor-W: I mean, what it does is /functional/. but it's terrible design. 23:44:14 I love the way the guy declares airpone as an int. 23:44:20 WHICH REMINDS ME hey guys where's my lambda calculus in CPP? 23:44:29 Gregor-W, Lazy K? 23:44:39 Oh, the C preprocessor. 23:44:41 Anything Turing-complete in CPP. 23:44:42 Carry on. 23:44:42 Yes 23:44:46 I've heard stories of similarly bad code, but never seen it. Like, where the author used a loop every time he accessed an element of an array -- even if it was a single element. 23:44:46 Gregor-W: I'll do it on Friday. 23:44:49 Bye. 23:44:52 Awesome 23:44:53 -!- aliseiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info). 23:45:01 Array? Loop! 23:45:08 And then the planes shall land with supplies! 23:45:25 Somehow it took some people in my class months to write an input validation program. 23:45:50 Although that class in general was so idiotic I'm glad I dropped it. 23:46:08 They used *Javascript*. ON IE 5 FOR THE FREAKING MAC. 23:46:08 yeah my programming class peers have been... dismal at programming 23:46:24 but hey, I get to tutor them for money 23:46:28 THEY HAD FIREFOX AND SAFARI INSTALLED, BUT WHICH ONE WERE WE TOLD TO USE? 23:46:41 so I'm not complaining. I encourage them to be stupidity so I can show them how it's done. 23:46:52 lawl stupidity 23:47:21 The reason? "It has better debugging facilities." 23:47:42 I.e. it would tell you if you piped /dev/random into