←2010-07-27 2010-07-28 2010-07-29→ ↑2010 ↑all
00:00:04 <aliseiphone> NO MORE BURMA SHAVE says him.
00:00:13 <aliseiphone> pikhq: Thank you forever.
00:00:24 <cpressey> I notice a question mark in there
00:00:45 <cpressey> Oh, why must our country die, I see
00:00:48 <aliseiphone> pikhq: How did you do "must the of it"? :P
00:01:02 <cpressey> must, did, whatever
00:01:08 * oerjan sees only question marks, of course
00:01:10 <pikhq> aliseiphone: "The needing of"
00:01:20 <aliseiphone> pikhq: XD
00:01:56 <aliseiphone> Did you translate it as affadavit or affidavit? :P
00:02:19 <pikhq> ... Affidavit is what I transcribed.
00:02:34 <aliseiphone> YOU'RE FIRED
00:02:52 <pikhq> Would it make you feel better to know that that was inherently a neologism?
00:03:08 <aliseiphone> You're FIRED FIRED FIRED.
00:03:12 <aliseiphone> pikhq: XD
00:03:37 <oerjan> afufidawitu
00:03:48 <Sgeo> Ok, one of the closures can stay.
00:04:03 <oerjan> Sgeo: BUT THE OTHER ONE IS DEAD MEAT
00:04:04 <pikhq> It was more "Afidebitto".
00:04:05 <aliseiphone> pikhq: Now a true translator would make "must the of it" and "affadavit" rhyme. Somehow.
00:04:21 <pikhq> aliseiphone: Japanese poetry doesn't rhyme.
00:04:26 <cpressey> "have the of it" almost does it
00:04:32 <Sgeo> I was wrong about the nesting level
00:04:39 <Sgeo> There a closure in a closure, that's it
00:04:42 <aliseiphone> pikhq: Innovation!
00:04:44 <Sgeo> Those closures are dead.
00:04:51 <pikhq> Though: "Hitsuyou no/afidebitto" almost does.
00:05:05 <aliseiphone> cpressey: It rhymes in English; not Japanese.
00:05:06 <augur> afufidawitu?
00:05:06 * Phantom_Hoover wonders why Casey & Andy made him depressed.
00:05:12 <augur> 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 <augur> oerjan you suck at japanification of words.
00:05:39 <Gregor-W> Hello, my name is Afidebitto Kuaku.
00:05:48 <oerjan> augur: i'm just imitating what pikhq uses to do :D
00:06:02 <pikhq> oerjan: Poorly as hell. :P
00:06:12 <oerjan> cpressey: webcomic mad scientists
00:06:13 <aliseiphone> augur: Whooooshu~
00:06:23 <pikhq> oerjan: "Ahuxit`eh`ixtuto". :)
00:06:25 <augur> whoooshu kung fu
00:06:35 <augur> pikhq: stop it, noone here speaks maltese.
00:06:36 <aliseiphone> "eh"
00:06:50 <oerjan> pikhq: oh i forgot the x thing
00:07:23 <cpressey> oerjan: ty but that answers only the first half of my wonderment
00:07:41 <pikhq> oerjan: How else to encode small vs. large kana?
00:07:57 <aliseiphone> pikhq: font size
00:08:04 <pikhq> aliseiphone: *shudder*
00:08:06 <oerjan> cpressey: well the previous time i saw it was a joke about norwegians afaict
00:08:08 <pikhq> aliseiphone: Or case?
00:08:09 <augur> imma go walk around outside for a bit
00:08:15 <aliseiphone> Great idea or GREATEST IDEA?
00:08:26 <aliseiphone> pikhq: BOLD.
00:08:53 <oerjan> cpressey: if it was Phantom_Hoover each time, presumably he's been reading the archive
00:08:59 <aliseiphone> is the x prefix or suffix?
00:08:59 <pikhq> aliseiphone: ahuit`eh`ituto?
00:09:06 <pikhq> aliseiphone: Prefix.
00:09:13 <aliseiphone> pikhq: +c channel
00:09:20 <pikhq> Darnit.
00:09:31 <pikhq> *ahu*i*t`eh`i*tu*to*?
00:09:33 <pikhq> :P
00:09:39 <Phantom_Hoover> I burnt through it in under a day, and now there's a HOLE where my soul should be.
00:09:46 <Phantom_Hoover> Perhaps I should sleep.
00:09:48 <Phantom_Hoover> 'Night.
00:10:25 <oerjan> Phantom_Hoover: go lie on the couch and dream of being king of sweden
00:10:48 <aliseiphone> ahu”it’eh’i”tuto
00:11:04 <aliseiphone> I made it worse pikhq.
00:11:11 <pikhq> Hahahah.
00:12:20 <aliseiphone> ahu-it—eh—i-Tito
00:12:24 <aliseiphone> *tuto
00:12:51 <pikhq> ... For the dakuten?!?
00:13:00 <pikhq> (which, BTW, looks like ゙)
00:13:22 <aliseiphone> ahu’it„eh„i’tuto
00:13:30 <cpressey> Phantom_Hoover: That'll learn ya.
00:13:31 <aliseiphone> pikhq: Yes. Any questions?
00:13:41 <pikhq> aliseiphone: Now what say you about the handakuten?
00:13:44 <pikhq>
00:13:54 <pikhq> Lessee. Example word...
00:14:19 <aliseiphone> pikhq: Superscript that ho.
00:14:24 <pikhq> 六百, roxtuh^ixyaku.
00:14:32 <pikhq> In Hepburn, that's "roppyaku".
00:14:33 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
00:14:54 <oerjan> handakuten are so handy
00:15:02 <aliseiphone> ro.tuh'i.yaku
00:15:16 <aliseiphone> ro'tuh.i'yaku
00:15:16 <pikhq> Mmm.
00:15:25 <olsner> handakuten => handy :)
00:15:30 <pikhq> oerjan: More like half-y. "han" is "half".
00:15:57 <oerjan> and dy is the other half
00:16:07 * oerjan runs
00:16:35 <olsner> oh, han-dakuten? I thought you were talking about hand-akuten
00:16:59 <pikhq> What, the hand-evil-mark?
00:17:07 <aliseiphone> XD
00:17:22 <pikhq> ("aku" is evil and "ten" is mark)
00:17:31 <oerjan> olsner: your hearing is not quite acute, i take
00:17:47 <olsner> that's a grave accusation
00:18:09 <aliseiphone> Night.
00:18:53 <aliseiphone> What does dakuten mean btw pikhq?
00:19:05 <oerjan> olsner: hey i mentioned nothing about your being undead
00:19:10 <oerjan> oops
00:19:42 <pikhq> aliseiphone: Voiced marked.
00:19:45 <pikhq> Erm, mark.
00:19:48 <aliseiphone> Thanks.
00:20:01 <aliseiphone> 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 <Sgeo> Manually testing everything is fun!
00:43:03 <Gregor-W> Never testing anything is fun!
00:44:01 <Sgeo> But enjoying the fruits of your labor is also testing
00:44:19 <Sgeo> Are you saying the most fun to be had is when you write code that you never see do anything?
00:47:43 <Gregor-W> http://codu.org/projects/ suggests so.
00:48:51 <cpressey> Three projects called "My Project"
00:50:59 <Gregor-W> Two aren't mine and one is too stupid to deserve a name.
00:51:05 <oerjan> must be an xkcd reference
00:53:08 <cpressey> All
00:53:10 -!- cpressey has quit (Quit: Leaving.).
00:53:34 <oerjan> how inclusive of you
00:54:14 -!- coppro has joined.
01:01:52 -!- calamari has joined.
01:02:07 <calamari> hi
01:03:11 -!- Gregor-W has quit (Quit: Page closed).
01:03:54 <calamari> 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 <pikhq> Hey, HackEgo...
01:05:10 <calamari> so I imagine your hackiki might suffer a similar fate due to immaturity.. don't waste your time :)
01:05:23 <pikhq> `who
01:05:25 <HackEgo> No output.
01:05:29 <pikhq> ...
01:05:41 <pikhq> `run echo $USER
01:05:43 <HackEgo> No output.
01:05:50 <Sgeo> `run echo Any outpiut?
01:05:52 <Sgeo> `ls
01:05:52 <HackEgo> Any outpiut?
01:05:52 <pikhq> `run echo Hello?
01:05:54 <HackEgo> 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 <HackEgo> Hello?
01:06:05 <pikhq> >_>
01:06:07 <Sgeo> `run `whoami`
01:06:08 <HackEgo> No output.
01:06:14 <Sgeo> `run whoami
01:06:16 <HackEgo> No output.
01:06:19 <oerjan> `cat babies
01:06:20 <HackEgo> No output.
01:06:21 <Sgeo> `run echo `whoami`
01:06:24 <HackEgo> No output.
01:06:27 <Sgeo> bibble
01:06:30 <Sgeo> `run echo `ls`
01:06:31 <pikhq> `ls babies
01:06:31 <HackEgo> 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 <HackEgo> babies.db
01:06:51 <pikhq> Okay, so clearly, can't demonstrate it.
01:06:53 <pikhq> But.
01:06:58 <pikhq> calamari: HackEgo is root.
01:07:04 <Sgeo> `run echo `who`
01:07:06 <HackEgo> No output.
01:07:09 <Sgeo> bibble
01:07:23 <Sgeo> `ls /
01:07:24 <calamari> pikhq, and?
01:07:25 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
01:07:29 <Sgeo> `ls /home
01:07:31 <HackEgo> hackbot
01:08:00 <calamari> 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 <calamari> because it was rather lame
01:08:54 <Sgeo> 'run rm -rf /
01:09:12 <Sgeo> I think Hackiki is designed to be recoverable
01:09:17 <calamari> so was mine
01:09:33 <calamari> I recovered it like 10 times then gave up due to the idiocy of people
01:09:50 <calamari> they kept saying they had to hack it.. but they were already root so it was completely stupid
01:09:54 <pikhq> calamari: More just that they're idiots. :P
01:10:10 <Sgeo> Maybe they wanted to break it out of its jail
01:10:15 <Sgeo> Hack your system
01:11:14 <calamari> unlikely.. it was running inside a qemu vm
01:11:23 <Sgeo> Did they know that?
01:11:32 <calamari> yep
01:11:42 <calamari> and they knew they were root
01:12:03 <Sgeo> Maybe they knew of some weird qemu exploit
01:12:19 <calamari> 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 <calamari> 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 <derdon> why is a befunge script restricted to 80x25 commands?
02:07:41 <calamari> http://tunes.org/~nef/logs/esoteric/08.04.19
02:07:50 <derdon> why is there a restriction at all?
02:08:45 <coppro> derdon: Befunge-98 is not restricted
02:09:08 <calamari> so the main culprit was ehird
02:09:11 <calamari> hehe
02:09:21 <derdon> coppro: oh. I thought befunge-93 was the latest version (I clicked on the links in the wikipedia rticle)
02:09:40 <oerjan> oh no, that's the _oldest_
02:09:45 <oerjan> afaik
02:10:06 <oerjan> 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 <derdon> hm
02:10:47 <Gregor> cpressey isn't on or we'd yell at 'im for you :P
02:10:56 <derdon> BOTOH, 80x25 is very much for an esoteric language :D
02:11:30 <oerjan> also, 80x25 is the "standard" unix terminal size
02:12:02 <oerjan> so it was probably intended to be displayed visually in a terminal window
02:12:43 <derdon> oerjan: 270x71 <- this is my terminal size
02:12:47 <oerjan> (or on a literal terminal, i remember those)
02:13:31 <oerjan> derdon: this was back in '93, remember? i think our university still had standard size physical vt terminals by then
02:13:32 <derdon> well, I'm gonna learn 93 cuz it looks easier to understand
02:13:58 <pikhq> It's also much easier to implement.
02:14:03 <oerjan> fungot: no respect for '98, eh?
02:14:03 <fungot> oerjan: i think it costs money
02:14:15 <oerjan> no, fungot, i'm pretty sure it doesn't
02:14:15 <fungot> oerjan: if you want. i was more angry than any of these return true its true?
02:15:48 <oerjan> fungot: maybe
02:15:49 <fungot> 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 <oerjan> TMI
02:16:15 <oerjan> ^style
02:16:15 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
02:17:28 <calamari> 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 <oerjan> erm you realize 3 presses of 2 buttons gives you only 8 options?
02:18:25 <calamari> no it gives 15
02:18:47 <calamari> build a binary tree and with up to 3 presses you'll have 15 states
02:18:52 <pikhq> Yeah, that's enough for 2^4-1.
02:19:07 -!- Aquana has joined.
02:19:21 <calamari> so that part of the challenge isn't really a challenge :)
02:19:22 <oerjan> um but then you'll need a timeout for knowing if the user's finished
02:19:50 <calamari> oerjan there is another button for that, but that isn't really important to the challenge
02:20:20 <calamari> mostly, I have been trying to figure out something that makes sense from memory
02:20:47 <calamari> and also that doesn't degenerate if you push the buttons too many times
02:20:48 <oerjan> !haskell import Control.Monad; main = print $ [1..3] >>= flip replicateM "ab"
02:20:51 <EgoBot> ["a","b","aa","ab","ba","bb","aaa","aab","aba","abb","baa","bab","bba","bbb"]
02:21:26 <calamari> yeah started off with that.. not exactly easy to remember how to enter a digit
02:23:12 <oerjan> you can drop the ones with 2, actually
02:23:28 <calamari> yeah you could
02:24:02 <calamari> 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 <oerjan> gah
02:24:36 <calamari> hehe
02:24:41 -!- Halph has changed nick to coppro.
02:25:06 <Gregor> BTW, with simultaneously pressing both considered different from pressing one then the other, you could have lots more state space.
02:25:21 <calamari> interesting idea
02:25:49 <calamari> that'd essentially mean I had 3 buttons
02:25:50 <Gregor> Since 3*3 = 9, you only need two presses that way, with every value being two presses.
02:25:57 <calamari> yep
02:25:58 <Gregor> Erm, forgot 0
02:26:00 <Gregor> Damn
02:26:05 <calamari> 0 is easy
02:26:14 <calamari> just have that be the default if you don't press anything
02:26:19 <Aquana> to enter the number n, enter n times the first button and then the second
02:26:48 <Gregor> Aquana: You missed the first part, namely the restriction to "3 or less button presses"
02:27:00 <Aquana> oops
02:27:10 <Gregor> Speaking of, who are you? :P
02:27:27 <Aquana> its me, aquana!
02:27:31 <oerjan> you could also do binary, but with initial zeroes omitted
02:27:33 <Gregor> Oh, of course!
02:27:37 <Gregor> How could I be so silly.
02:27:47 <Aquana> :D
02:27:56 <calamari> oerjan: how would I enter 8 or 9?
02:28:03 <calamari> must be missing the point
02:28:12 <oerjan> er
02:28:18 <oerjan> drop the first 1, too
02:28:21 <Gregor> I didn't realize there was a point :P
02:28:38 <calamari> Gregor: not much of one, I admit :)
02:28:54 <oerjan> this _does_ leave 0 a special case, though
02:29:11 <Gregor> Also I once again point to the /topic for your voting plezzure kthx
02:29:18 <calamari> hey I like that
02:29:51 <oerjan> 0 could be 111, paradoxically
02:30:23 <oerjan> (000 is already taken for 8)
02:30:42 <calamari> 7 would be 111, right?
02:30:47 <oerjan> no, 11
02:31:11 <calamari> wait, I need to go back through and follow your instructions more closely
02:31:21 <oerjan> 111, , 0, 1, 00, 01, 10, 11, 000, 001
02:31:26 <Gregor> Remove all the leading 0s and the first 1. That is the entire instruction :P
02:31:33 <oerjan> (yeah that's no buttons for 1)
02:31:54 <Gregor> oerjan: OK, THAT'S confusing X-D
02:32:09 <Aquana> 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 <oerjan> sheesh, critics
02:32:13 <calamari> I don't think I get 111
02:32:25 <oerjan> calamari: i said 0 needed to be a special case
02:32:30 <calamari> ah ok
02:32:32 <oerjan> because there's no first 1 to remove
02:32:57 <calamari> yeah 0 and 1 would be identical
02:34:01 <calamari> well still, I think it's a cool solution, thanks
02:34:07 <oerjan> you're welcome
02:36:33 <Aquana> and whats about pressing both buttons at the same time?
02:37:54 <oerjan> well i didn't use that
02:38:20 <oerjan> it would require ternary, which i suspect doesn't come as easily to many :D
02:38:46 <oerjan> oh and then there could be initial 1 _or_ 2, hm
02:39:01 <calamari> 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 <calamari> hmm actually nm.. I was thinking it was ambiguous, but it isn't
02:40:15 <oerjan> discarding digits is easy. 010 and 011 may be more of a problem.
02:40:38 <oerjan> oh and 100, 101, 110
02:40:40 <Aquana> i'd say do some huffman coding and include the possibility of having both buttons pressed at the same time
02:40:49 <calamari> 0000 -> 10000 = 16, 16 mod 10 = 6
02:41:06 <oerjan> ouch
02:41:54 <Aquana> then you can enter multiple numbers without having an "next number"-button
02:42:35 <oerjan> well pushing both could _be_ end of number
02:43:15 <derdon> is there a possibility to comment my befunge-scripts? :P
02:43:48 <calamari> derdon: would that really help? :)
02:43:59 <derdon> calamari: yes
02:44:07 <Aquana> derdon: great script
02:44:18 <derdon> Aquana: which one?
02:44:25 <calamari> actually, if you kept the comments separate, you could just enter arbitrary chars, right?
02:44:25 <Aquana> all
02:44:43 <Aquana> i didn't see those, but hey its a comment :p
02:45:04 <derdon> calamari: what do you mean? creating a seperate file which explains this script?
02:45:44 <calamari> nope, 1 min I need to make sure I don't butcher befunge
02:46:25 <derdon> ok
02:46:39 <oerjan> derdon: just put the comments somewhere the IP won't touch them
02:46:52 <derdon> oerjan: good
02:46:53 <oerjan> any character is allowed as long as it isn't executed
02:47:05 <derdon> oerjan: I assume IP == Interpreter
02:47:13 <calamari> 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 <oerjan> instruction pointer, actually
02:47:33 <derdon> oh
02:47:59 <calamari> anyhow.. yeah if it won't be reached you are safe
02:48:17 <oerjan> ^source
02:48:17 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
02:48:21 <calamari> that is what I said badly with "keep your comments separate"
02:48:47 <oerjan> that's befunge 98, but same principle
02:49:26 <calamari> 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 <oerjan> of course with 93 the problem could be fitting both the comments and the code into the space available
03:03:27 <calamari> 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 <oerjan> hm right
03:04:08 <calamari> well I drew it out as a binary tree
03:05:03 <oerjan> actually i don't see how the 0=111 fits
03:05:24 <calamari> 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 <calamari> yeah 0 should be 010
03:05:55 <oerjan> ah
03:06:20 <oerjan> 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 <calamari> so the states are (digit-0-1): 001, 123, 245, 367, 489, 501, 623, 745, 867, 989
03:11:09 <calamari> yeah what you said :)
03:17:40 <oerjan> !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 <oerjan> !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 <oerjan> !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 <EgoBot> [(0,8),(1,10),(2,10),(3,10),(4,8),(5,8),(6,10),(7,10),(8,10),(9,8)]
03:19:15 <oerjan> only initial states 1,2,3,6,7,8 gives all possible digits as output
03:19:23 <oerjan> *give
03:20:38 <calamari> not sure I follow
03:21:13 <calamari> if I start in state 0, all I have to do is give 1, then I'm in state 1
03:21:16 <oerjan> 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 <oerjan> with 3 presses
03:21:29 <calamari> oh I see
03:21:53 -!- derdon has quit (Ping timeout: 258 seconds).
03:22:49 <oerjan> 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 <oerjan> (4 and 5 can turn into 9 and 0 respectively)
03:23:28 <calamari> there are no dead ends though, so it is fine
03:23:57 <oerjan> yeah but getting all in 3 presses depends on getting enough branching
03:24:28 <calamari> 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 <calamari> and since that is possible, I'm happy
03:24:49 <oerjan> yeah
03:25:07 <calamari> so now to code it up :)
03:25:32 <calamari> shall I call it oerjanary?
03:25:40 <oerjan> huh
03:26:19 <calamari> just kidding
03:27:08 <calamari> I'll be using this to implement digit entry for my watch calculator program
03:27:54 <calamari> unfortunately the timex data link usb doesn't have a keypad
03:28:18 <calamari> it does have a crown, but the crown gets jumpy with age
03:28:46 <oerjan> so crowns are a royal pain?
03:28:56 <calamari> 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 <oerjan> ^ul ((/)~*(\)*S)(~:(a~a(:^)**)~a*^^):^
05:08:01 <fungot> /((/)~*(\)*S)(~:(a~a(:^)**)~a*^^):^\
05:10:18 <oerjan> ^ul (((/)~*(\)*S)(~(:^^)*~^)):^^
05:10:18 <fungot> /((/)~*(\)*S)(~(:^^)*~^):^^\
05:10:54 <oerjan> ^ul (((/)~*(\)*S)(~a(:^^)*~^)):^^
05:10:54 <fungot> /(((/)~*(\)*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 <Ilari> Heh... I'm considering defining floating point extension to Pointer B.
06:21:13 <Ilari> 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 <Ilari> Since it would have (subsets of) functions that are well defined, but would be ph.d just to implement properly... :-)
06:26:05 <Ilari> 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 <oerjan> listZeroes(riemannZeta, range=(RealPart > 1/2))
06:27:06 <Ilari> None known? :-)
06:27:07 <oerjan> there you go. >:)
06:28:11 <Ilari> One wouldn't need more than extensions of several known special functions to complex domain to be very hard to implement.
06:29:19 <Ilari> With the way reference implemnentation chooses word size, "single precision" would be "IEEE double precision".
06:30:03 <Ilari> Reference implementation has 64 bit words (giving 1Zib data memory).
06:30:23 -!- myndzi has joined.
06:30:34 <coppro> Ilari: IIRC it's been proven there are no zeroes with Re(w) > 1/2
06:32:21 <oerjan> definitely not
06:32:58 <coppro> hmm
06:33:01 <coppro> Re(w) > 1 for sure
06:33:19 <oerjan> "Directly from the functional equation one sees that the non-trivial zeros are symmetric about the axis Re(s) = 1/2."
06:33:35 <coppro> hrm
06:34:08 <Ilari> Number of possible different code memory words in Pointer B: 1 112 030.
06:34:43 <oerjan> 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 <coppro> or dead
06:35:46 <oerjan> which was the point of the above, anyway
06:36:28 <coppro> a friend of a friend put it best... if you prove the Riemann hypothesis, you either tell everybody or nobody
06:36:43 <oerjan> ...i am not aware of anything regarding the riemann hypothesis that would cause the death of people...
06:36:53 <oerjan> now P = NP, on the other hand...
06:38:08 <oerjan> unless someone wants to steal your proof of the riemann hypothesis and take credit, perhaps.
06:38:59 <coppro> oerjan: any solution would likely have profound implications on public-key encryptoin
06:39:01 <coppro> *encryption
06:39:23 <oerjan> ...again, i think you are confusing it with P=NP
06:40:07 <coppro> hmm... I could have the quote out of context, but the Riemann hypothesis would have similar implications
06:40:13 <oerjan> 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 <oerjan> the profound implications of proving them in that direction would only be to make people know what they already mostly assume
06:41:14 <oerjan> so wouldn't break anything
06:41:32 <coppro> 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 <Gregor> Proving P!=NP would just make everyone go "*whew*!"
06:41:42 <coppro> Gregor: aye
06:41:59 -!- augur has quit (Remote host closed the connection).
06:42:06 -!- augur has joined.
06:42:43 <oerjan> coppro: public key encryption doesn't depend on primes being hard to find. in fact they're already quite easy enough.
06:43:04 <oerjan> it's _factoring_ that's the key.
06:44:31 * Sgeo wonders if DBus makes any sense on Windows
06:44:33 <Ilari> And there's already primality check that runs in deterministic polynomial time.
06:45:31 <pikhq> Yeah, it's only hard to find very *large* primes. And this is only hard in the sense of practicality.
06:45:51 <pikhq> We could certainly produce some gigabyte primes; it'd just be a waste of time.
06:47:24 <Ilari> Other amusing overkill: 2048-bit EC curves.
06:48:17 * oerjan detects RAS syndrome
06:48:31 <pikhq> RAS?
06:48:41 <oerjan> redundant acronym syndrome
06:48:46 <pikhq> Ah.
06:49:45 <oerjan> 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 <oerjan> *known primes
06:50:53 <Sgeo> oerjan, very large *known primes, I assume
06:50:54 <oerjan> (2^p-1)
06:51:16 <oerjan> Sgeo: *cough*
06:51:23 <Sgeo> Oh
06:51:25 <Sgeo> >.>
06:51:32 * Sgeo managed to fail to see that
06:51:49 <Ilari> Figure out class of numbers with even easier (nontrivial) primality check. :-)
06:52:42 <oerjan> something with ackermann functions in it would be great
06:53:55 <oerjan> well, an infinite class with entirely trivial check would be even better
06:54:33 <Ilari> Or hyper operators (extra bonus for getting them to nest)...
06:55:15 <Ilari> Also, numbers involving terms with three conway arrows... :-)
06:55:41 -!- Gregor-P has quit (Quit: Bye).
06:55:43 <Ilari> (those terms are usually freaking huge).
06:56:03 <oerjan> 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 <Ilari> 3 -> 3 -> 65 -> 2 is bigger than Graham's number... :-)
06:57:25 <oerjan> i wonder if it is known whether adding or subtracting a small constant to those can or cannot be a prime
06:58:11 <Ilari> 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 <oerjan> i know. that's not really helpful with hyper operators.
07:00:33 <Ilari> And even if you got some prime, proving it to be prime would likely be freakishly hard.
07:01:18 <oerjan> subtracting 1 is even, subtracting 2 is divisible by 5.
07:01:47 <Ilari> Ends in 7?
07:02:03 <oerjan> http://en.wikipedia.org/wiki/Graham's_number#Rightmost_decimal_digits_of_Graham.27s_number
07:02:09 <Ilari> Ah, yes...
07:02:19 -!- Wamanuz has joined.
07:02:44 <Ilari> The size of prime gap Graham's number is in is likely immense.
07:04:04 <oerjan> yeah if other bases destroy other constant adjustments similarly...
07:04:18 <Sgeo> SciFiWritersHaveNoSenseOfScale averted in Cowbirds in Love
07:04:50 <oerjan> Sgeo: *gasp*
07:05:11 <Ilari> Immense meaning you can't even write class number for that number.
07:05:23 <Sgeo> May I spoil up to where we are in this storyline?
07:05:31 <oerjan> class number?
07:06:23 <Ilari> 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 <Ilari> Alternatively one could define that number is immense if one can't write polylog of it.
07:08:39 <oerjan> well that's essentially the size of n in the 3^^n
07:11:04 <Ilari> So finding prime number with Ackermans in it would likely mean finding explicit expression for infinite sequence of primes....
07:11:12 <oerjan> yeah
07:14:32 <Ilari> 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 <Ilari> *at least one of
07:15:43 <oerjan> well it must end in 1,3,7 or 9 unless it is 2
07:16:04 <oerjan> i guess it's just a matter of prolonging that argument
07:16:59 <oerjan> ah 21, 31, 51, 71 are of course included
07:18:03 <oerjan> so then it's 01, 11, 41, 61, 81, 91, 09, 19, 49, 69, 89, 99
07:18:31 <Ilari> Of course one can have multiple: 194101 has 19 and 41 as subsequences.
07:19:09 <oerjan> i am just assuming we are looking at subsequences of ending subsequences
07:19:39 <Ilari> Subsequences don't have to be of adjacent digits.
07:19:57 <oerjan> er, not?
07:20:11 <Ilari> E.g. 401 is prime.
07:20:20 <oerjan> ah.
07:20:28 <Ilari> 401 => 41.
07:20:57 <oerjan> should be even easier then
07:24:02 <oerjan> 01, 81, 91, 09, 49, 69, 99
07:24:18 <Ilari> 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 <oerjan> heh
07:26:35 <oerjan> 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 <oerjan> (by just the primes < 100 in that list)
07:28:20 <Ilari> 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 <oerjan> hm that reminds me of a graph theorem
07:29:56 <Ilari> 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 <oerjan> http://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem i think it was
07:39:15 <oerjan> Ilari: i suspect that your sequence above applies to every odd number as well
07:39:20 <oerjan> oh wait
07:39:29 <oerjan> well sufficiently large
07:39:40 <oerjan> obviously 1 and 9 are excluded
07:41:31 <Ilari> Isn't there also context free grammar that describes language {0,1}* iff Goldbach conjuncture is true?
07:42:38 <oerjan> i don't know
07:45:10 <oerjan> or, hm, i recall determining whether a context free grammar gives all strings in the alphabet is undecidable. so quite probably.
07:47:31 <Ilari> IIRC, that problem is co-RE-complete.
07:50:09 <Ilari> IIRC, there are also infinite number of undecidable problems of diffrent difficulty...
07:51:07 <Ilari> The last class of those being RE-complete.
07:51:45 <bsmntbombdood> hello
07:52:04 <oerjan> 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 <bsmntbombdood> privacy issues?
08:05:14 -!- oerjan has quit (Quit: Good night).
08:07:50 <Quadrescence> hello bsmntbombdood
08:07:56 <Quadrescence> we have not spoken in quite a while
08:08:15 <bsmntbombdood> indeed
08:08:19 <bsmntbombdood> whoever you are
08:08:55 <Quadrescence> bsmntbombdood: we talked in the programming channel before. A long time ago we got into fights, and then things cooled off
08:08:58 <Quadrescence> :-)
08:09:05 <bsmntbombdood> what was your old nick?
08:09:08 <Quadrescence> same as it is now
08:09:13 <Quadrescence> also i remember talking about lambda abstractions
08:09:16 <bsmntbombdood> oh
08:09:17 <bsmntbombdood> hmm
08:09:34 <Quadrescence> and maybe parametric polymorphism
08:09:37 <Quadrescence> and maybe lisp
08:11:30 * pikhq waves
08:11:48 <bsmntbombdood> i vaguely remember
08:12:52 <bsmntbombdood> hi pikhq, are you still in colorado?
08:14:33 <pikhq> Not ATM.
08:15:00 <Sgeo> I think I'm going to manually work out the answer to SMBC's math question
08:15:08 <Sgeo> Because I just realized it's easier than it looks
08:15:43 <Sgeo> No way I'd solve it without some sort of writing thingy though
08:24:13 <Sgeo> Anyone want to check my math?
08:24:14 <Sgeo> http://codepad.org/r3pth1N3
08:24:30 <Sgeo> My attempted answer for http://www.smbc-comics.com/index.php?db=comics&id=1952 [NSFWish]
08:26:47 <bsmntbombdood> did it take longer than 30 seconds?
08:27:06 <Sgeo> :( yes
08:27:53 <Sgeo> 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 <Sgeo> Maybe she'd be lenient?
08:29:21 <bsmntbombdood> i am watching some smbc theater
08:30:19 <bsmntbombdood> hilarious
08:30:23 <fizzie> 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 <Sgeo> I didn't realize that that was a greek letter
08:30:48 <Sgeo> I thought it was actually p
08:32:21 <fizzie> It's the radial coordinate in the (ρ, θ, φ) polar coordinates, so it has to be either ρ or r.
08:32:52 <Sgeo> Uh
08:32:53 <fizzie> Or whatever the 3D variant of polar coordinates are called. Spherical coordinates?
08:33:03 <Sgeo> The thingy was more of an O and I combined
08:33:14 <Sgeo> Wait, no, that's what I called theta
08:33:17 <Sgeo> Possibly mistakenly
08:33:32 * Sgeo isn't so good with his greek letters
08:33:39 <Sgeo> At least I know pi!
08:33:48 <Sgeo> And uppercase sigma!
08:33:49 <fizzie> Phi is written both as φ and as ϕ.
08:34:04 <Sgeo> So what I called theta is really phi, then
08:34:18 <fizzie> Theta's the one that goes horizontally slashed.
08:34:37 <Sgeo> And the "other thingy" is theta, then
08:35:10 <fizzie> 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 <fizzie> Lunchtime now!
08:38:57 <Ilari> 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 <Sgeo> 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 <Phantom_Hoover> Is there a limit to how big an array on the stack can be in C?
11:07:37 <Ilari> Phantom_Hoover: Depends on process stack limit.
11:07:52 <Phantom_Hoover> Thought so...
11:08:07 <Ilari> 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 <Phantom_Hoover> Wow, I just looked at Conservapedia's article on Enccyclopdia Dramatica.
11:17:01 <Phantom_Hoover> s/cc/c/
11:18:43 <Phantom_Hoover> It seems to say that ED is a paragon of modern satire...
11:20:43 <Ilari> Conservapedia... One more proof of that there are hardcore lunatics out there...
11:22:29 <Phantom_Hoover> It's gone downhill for the last year or so, though.
11:22:45 <Phantom_Hoover> There aren't enough sane people being persecuted to make it worth watching.
11:23:44 <Ilari> Someone: Anything what Poe's law appies to is stupid.
11:26:04 <fizzie> 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 <Ilari> Outside "embedded" environments, are you likely to run into that limit?
11:27:28 <fizzie> 16-bit DOS in some memory models? I guess that's pretty obsolete nowadays too.
11:27:55 <Ilari> Actually, all memory models except "huge".
11:28:25 <Ilari> 16-bit DOS memory models: tiny, small, compact, medium, large and huge.
11:29:01 -!- CakeProphet has joined.
11:29:20 <Ilari> Tiny is incedentially memory model of .com executables.
11:30:21 <Ilari> Nowadays memory model used is "flat".
11:31:18 <Ilari> Which is incidentially essentially 32 (or 64) bit version of tiny model.
11:33:48 <fizzie> 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 <fizzie> "The default stack reservation size used by the linker is 1 MB." (random MSDN Google-hit, not sure about context)
11:34:55 <fizzie> Megabyte's perhaps not tiny, but still small-ish.
11:37:34 <fizzie> 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 <fizzie> (And a final bit of trivia; C89/C90 has a similar phrase, but there the limit is 32767 bytes.)
11:41:41 <fizzie> 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 <Phantom_Hoover> Ilari, flat doesn't use segments, though.
11:46:10 -!- yiyus has joined.
11:46:42 <Ilari> Neither did tiny.
11:49:44 <Phantom_Hoover> Huh.
11:55:57 <Ilari> Tiny: Code and data (and stack) in the same 64k space.
12:03:07 <fizzie> It "uses" segments in the sense that there is one segment, and all the segment regs are initialized with it.
12:05:54 <fizzie> I guess that's as much segment-using that the flat memory model, though.
12:07:04 <Ilari> 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 <fizzie> 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 <Sgeo> Ilari, LSL?
12:19:04 <fizzie> Leisure Suit Larry? Linden Scripting Language? Logical Shift Left?
12:22:15 -!- derdon has joined.
12:23:59 <Sgeo> The second
12:24:11 <Sgeo> You should have guessed
12:24:18 <Phantom_Hoover> Sgeo, why mention that?
12:24:31 <fizzie> I sort-of did. I didn't quite grasp what the question there was, though.
12:24:32 <Sgeo> 64k memory total for a script and all .. data
12:24:45 <Sgeo> Used to be 16k
12:28:17 -!- CakeProphet has quit (Ping timeout: 240 seconds).
12:28:47 <Phantom_Hoover> ...Why?
12:29:04 * Phantom_Hoover wants to write a VM, but can't think of a good excuse.
12:29:21 <Sgeo> The reason for the change? They switched to Mono
12:29:31 <Sgeo> Although there is still support for the old VM
12:30:06 <fizzie> The built-in delays in LSL are also a nice touch.
12:30:31 -!- CakeProphet has joined.
12:31:26 <fizzie> Is there anyone advocating LSL for non-second-life general-purpose programming? Or any language reimplementations available?
12:32:37 <Sgeo> There are reimplementations, but those are just so that there are nice external editors
12:32:46 <Sgeo> Also, OpenSim
12:33:04 <Sgeo> But I don't think any sane person would advocate LSL for non-SL programming
12:33:35 <Sgeo> Have you seen how it deals with events?
12:34:00 <Sgeo> Or its utter lack of multidimensional lists?
12:34:43 <fizzie> No, but I can guess.
12:35:09 <fizzie> (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 <fizzie> 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 <Phantom_Hoover> 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 <fizzie> 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 <Phantom_Hoover> Do any of them concisely describe the backpropagation of error algorithm?
12:50:16 <fizzie> Maybe if you play them backwards.
12:50:58 <Phantom_Hoover> I thought that just gave you Stanic messages.
12:51:32 <fizzie> That's heavy metal songs backwards, isn't it?
12:51:49 <fizzie> Don't quote me on this, however, I'm no expert.
12:53:02 <Phantom_Hoover> Naw, that's Satan.
12:53:12 <Phantom_Hoover> You get messages from Stan from other stuff.
12:53:17 <Ilari> 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 <Phantom_Hoover> I wonder what you get when you play those backwards?
12:54:02 -!- augur has joined.
12:54:06 <Phantom_Hoover> "Jesus is cool. Jesus is cool"?
12:55:36 <fizzie> 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 <Sgeo> ....
13:19:05 <Sgeo> I almost wrote (user!=null)?true:false
13:19:22 <ais523> ouch
13:19:33 -!- BeholdMyGlory has joined.
13:20:26 <Warrigal> At least you didn't write (userIsNull!=false)?true:false.
13:20:53 <Warrigal> My older brother used to write Delphi code saying "if someBool = true . . .". It was mildly annoying.
13:21:20 <ais523> comparing bools to true can be dangerous, especially in langs like C where multiple values mean "true"
13:21:25 <ais523> 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 <Sgeo> This is C#
13:22:01 <Sgeo> So it's not particularly dangerous to compare with true
13:22:12 <Sgeo> I think
13:22:36 <Phantom_Hoover> 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 <Sgeo> I think I'm too tired to program
13:26:59 <Sgeo> I was thinking "I need to add this function. If I don't add this function, this won't work"
13:27:04 <Sgeo> I never added the function
13:27:08 <ais523> it worked?
13:27:11 <ais523> or it didn't?
13:28:14 <Sgeo> It didn't
13:29:01 <Sgeo> But I also never added the code that was supposed to call it, so it compiled
13:32:46 <Sgeo> Well, laziness can hurt
13:33:22 <Sgeo> 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 <Sgeo> Now, when writing the new code, I forgot
13:36:35 <Phantom_Hoover> Sgeo, you're in the States, right?
13:36:45 <Sgeo> Yes
13:41:06 <Sgeo> Yes, I was awake when I should have been sleeping
13:42:16 <Phantom_Hoover> Which time-zone?
13:43:00 <Sgeo> Eastern
13:47:58 * Sgeo vaguely wants to kill VS2010
13:49:27 <Phantom_Hoover> That's GMT-5, isn't it?
13:49:41 <Phantom_Hoover> So it's what, 9AM?
13:50:06 <Sgeo> I went to sleep for approx. 0 seconds this past night
13:55:19 <Phantom_Hoover> What were you doing that was so important?
13:56:09 <Sgeo> Reading
13:56:14 <Sgeo> >.>
13:59:36 <Phantom_Hoover> Reading what?
14:00:08 <Sgeo> Random stuff
14:00:11 <Sgeo> A bit about Vala
14:00:24 <Phantom_Hoover> 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 <Phantom_Hoover> Better, hardcode it so you can't remove it.
14:04:18 <Phantom_Hoover> Sgeo, why Vala, by the way?
14:04:41 <Sgeo> I got the notion in my head that it's a great language for writing applications
14:04:53 <Sgeo> It's compiled in a non-managed environment and isn't C++
14:07:54 <Phantom_Hoover> Why do you want to write applications?
14:09:05 <Sgeo> ...good question
14:10:19 <Phantom_Hoover> Well, unless you're actually being paid for it?
14:12:38 * Sgeo wonders how many paid Vala jobs there are
14:12:43 <Sgeo> Probably close to none
14:18:55 <derdon> test
14:18:59 <derdon> ah, passed :)
14:21:31 <Phantom_Hoover> Sgeo, so you're writing applications for *pleasure*?
14:21:43 <Sgeo> Phantom_Hoover, why not?
14:21:46 <Sgeo> Hypothetically
14:22:04 <Phantom_Hoover> Because! It's the principle!
14:25:48 <Phantom_Hoover> 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 <Phantom_Hoover> oerjan! cpressey! Mathnerd314!
15:45:14 <cpressey> Phantom_Hoover!
15:46:17 <oerjan> i refuse to bend to your mind-altering powers
15:48:52 -!- MizardX has joined.
15:49:22 <Mathnerd314> what?
15:49:55 * Mathnerd314 reads log
15:50:36 <Mathnerd314> oh.
15:50:43 <oerjan> * Phantom_Hoover_ wants the image maps that they have in Square Root of Minus Garfield.
15:50:48 -!- derdon has joined.
15:50:50 <Sgeo> So, was my math decent?
15:50:57 <oerjan> maybe look in the discussion forum?
15:52:42 <Sgeo> Someone else got the answer I got :D
15:56:37 -!- BeholdMyGlory has joined.
15:57:53 <Phantom_Hoover> Random copyright thought: if you can have a number that represents a copyrighted work, you can violate copyright with it.
15:58:15 <Phantom_Hoover> You can also find a map between any two arbitrary pieces of data.
15:58:28 <Phantom_Hoover> Hence, all numbers are a copyvio.
15:58:50 <cpressey> Quite.
15:59:50 <Phantom_Hoover> Now, where's my nearest court...
16:01:09 <cpressey> 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 <Phantom_Hoover> True, but you can easily make a function that maps, say, 3 to the Harry Potter series.
16:02:32 <oklopol> oerjan: may i ask you a math question in pm
16:02:42 <oklopol> i'm trying a new thing
16:02:51 <Phantom_Hoover> Private maths!
16:02:51 <oklopol> the new thing is i ask before i ask
16:02:59 <oklopol> *ask to ask
16:03:22 <Phantom_Hoover> You can't let us know what kind of sick calculations you're doing!
16:03:28 <cpressey> Unless it's a personal math question, somehow, I for one wouldn't mind it being in the channel.
16:03:33 <oerjan> a disturbing change. has Phantom_Hoover's mind control got to you too?
16:03:43 <oklopol> well sure i could but i wouldn't like it if a random person knew the answer right away
16:03:55 <oerjan> *MWAHAHAHA*
16:04:01 <cpressey> Fair nuff
16:04:07 <oklopol> can *two-directional* AFA's be more powerful than DFA's
16:04:13 <oklopol> that's my question
16:04:16 <oerjan> what's an AFA
16:05:02 <oklopol> 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 <oklopol> alternation
16:05:10 <oklopol> universal states
16:05:16 <oklopol> and existential states
16:05:38 <oerjan> oh.
16:06:05 <oklopol> the reason is if two-directional AFA's give you the regular languages, then i think i solved an open problem
16:06:21 <oklopol> the answer is very simple so i think the assumption that 2dAFA = DFA must be wrong
16:06:21 <oerjan> well i cannot say i've heard the problem before.
16:06:36 <oerjan> (i knew the thing about 2-directional DFAs though)
16:06:53 <Phantom_Hoover> What's an AFA?
16:06:59 <oklopol> i didn't actually know it but it's sort of trivial, just remember what happens if you go left
16:07:06 <oklopol> and you can keep that info inductively
16:07:14 <Phantom_Hoover> Ah, the Association of Flight Attendants.
16:07:15 <oklopol> gets harder with alternation (maybe, maybe not)
16:07:39 <oklopol> well an AFA is
16:07:42 <oklopol> do you know DFA's?
16:07:44 <cpressey> Why would a two-directional AFA give you the regular languages? Maybe I don't appreciate what "two-directional" means here.
16:07:52 <oklopol> cpressey: it can just go left too
16:08:03 <oklopol> the question is not why it wouldn't give them, but why it does
16:08:03 <cpressey> oklopol: k, thx
16:08:32 <cpressey> well - | start by making conservative assumptions
16:08:33 <oklopol> it's just ATM without memory
16:08:45 <cpressey> s/|/I/ ... not sure how *that* happenned
16:09:44 <oerjan> i know that alternating polynomial = PSPACE, that's the essence of quantified boolean formula being PSPACE-complete
16:10:24 <oklopol> well sure
16:11:02 -!- augur has quit (Ping timeout: 240 seconds).
16:11:59 -!- augur has joined.
16:12:03 <oklopol> 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 <oklopol> tell me if you solve it
16:12:44 <oerjan> "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 <oerjan> that sounds fairly simple, NFAs are the case just using existentials...
16:13:16 <cpressey> http://www.springerlink.com/content/y10575485h1uu2u6/
16:13:20 <cpressey> I can't log in, but...
16:13:34 <cpressey> It does sound as if multihead or 2dir AFAs are more powerful than DFAs.
16:14:41 <cpressey> "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 <oerjan> hm multihead means it can read at several locations simultaneously, no? that's not obviously the same power.
16:16:32 <cpressey> Agreed. I was wondering how you could reduce that to single-headed.
16:16:38 <oerjan> in fact that obviously allows it to check the (^n)^n language
16:17:17 <oerjan> which doesn't seem obvious with 1 head
16:17:23 <Phantom_Hoover> cpressey, did I ever mention that I hate you for the dead links to CET?
16:17:33 <cpressey> Phantom_Hoover: Which ones?
16:17:52 <Phantom_Hoover> The ones to catseye.webhop.something
16:17:55 <oerjan> central european time is dead, just deal with it
16:18:31 <cpressey> Phantom_Hoover: Hating me will get them fixed, clearly
16:18:49 <Phantom_Hoover> Yes!
16:21:13 <cpressey> What the heck is a "nite automaton"? OH... probably google munging the word "finite" in its PS viewer
16:21:52 <Sgeo> Vala's ownership stuff gives me a headache
16:25:23 <cpressey> 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 <AnMaster> AFA being?
16:25:47 <cpressey> AFA is an acronym for "Read The Log"
16:26:30 <ais523> admittedly, I've been reading the entire conversation and I'm still unsure as to what an AFA is
16:26:44 <ais523> as in, I know the expansion of the acronym now
16:26:55 <ais523> but not what the actual automaton architecture is
16:27:00 <cpressey> Best description for me was "Like an ATM but without memory"
16:27:10 <AnMaster> ais523, I was unable to find the expansion of the acronym
16:27:26 <ais523> AnMaster: that's what logs are for
16:27:40 <AnMaster> ais523, how long do I need to go back?
16:27:41 <AnMaster> ATM? Async Transfer Mode? Automated Transaction Machine?
16:27:49 <AnMaster> A Turing Machine?
16:27:53 <cpressey> http://en.wikipedia.org/wiki/Alternating_Turing_machine
16:27:58 <AnMaster> ah
16:29:13 <cpressey> 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 <AnMaster> 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 <cpressey> 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 <oerjan> oh!
16:33:55 <oerjan> oklopol: a 2-way single-head AFA can _also_ obviously check (^n)^n
16:34:15 <cpressey> 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 <cpressey> oerjan: Do elaborate!
16:35:12 <oerjan> oh wait
16:35:21 <oerjan> brain fart
16:35:42 <cpressey> Is this that old joke about "Wait, *is* that obvious...? <<five minutes thinking>> Yes, it's obvious."
16:36:01 <oerjan> nope, it's no longer obvious
16:36:46 <cpressey> Oblivion for the obvious.
16:39:09 <cpressey> 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 <ais523> like the whole TCness of Xigxag/Dupdog?
16:39:48 <ais523> or more probable non-TCness?
16:39:48 <cpressey> My god, what?
16:40:02 <cpressey> Yes, I was going to say, non-TCness of Xigxag :)
16:40:05 <ais523> as in, both languages feel obviously non-TC, but it's hard to prove
16:40:13 <cpressey> Had not heard of Dupdog before.
16:40:14 <ais523> and I'd love for Xigxag to be TC
16:40:20 <ais523> cpressey: it was basically just a joke
16:40:27 <ais523> it's rather xigxag-like, though, yet more complex
16:40:40 <ais523> and also has a tendency to blow up into very long programs with only small bits changing
16:40:45 <cpressey> Nice HW program.
16:41:12 <ais523> cpressey: not really, the HW program assumes that characters are interpreted mod 257
16:41:17 <ais523> and I see no real justification for such an assumption
16:41:32 <cpressey> Oh poo.
16:41:35 <cpressey> Oh well.
16:41:48 <ais523> I think it may still be possible mod 256, just a lot harder
16:43:17 -!- oerjan has quit (Quit: Later).
16:47:34 <cpressey> 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 <oklopol> multihead is always more powerful than nonmultihead, essentially
16:50:54 <oklopol> 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 <oklopol> 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 <cpressey> Heads (after the first one) act as a kind of storage, so that makes sense.
16:52:35 <oklopol> "<cpressey> 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 <oklopol> "<oerjan> brain fart" <<< yes, at least the "obvious" part
16:53:58 <oklopol> i'
16:54:16 <oklopol> 've been thinking about that exact example for quite a while, seems obvious you *can't* do it tho
16:54:32 <cpressey> 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 <cpressey> 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 <oklopol> a DFA with two heads is already "trivially" stronger than one with just one head
16:56:26 <oklopol> trivially if you know where to look
16:56:37 <oklopol> or maybe it's trivially no matter what
16:57:27 <oklopol> 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 <oklopol> i don't really see what you could do with just one marker
16:58:04 <cpressey> Someone should totally come out with an automata theory-themed board game.
16:59:05 -!- BeholdMyGlory has joined.
16:59:23 <oklopol> how would that work? i would love it in any case
17:00:54 <cpressey> I dunno -- I mean a lot of board games can probably be reduced to automata of some form...
17:02:20 <cpressey> 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 <cpressey> 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 <AnMaster> cpressey, NTM? Not Turing Machines?
17:10:07 <cpressey> Nondeterministic Turing Machines
17:10:09 <AnMaster> ah
17:11:39 -!- tombom_ has joined.
17:13:49 <cpressey> 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 <AnMaster> cpressey, if those could move, wouldn't it be like a self modifying FA?
17:16:09 <cpressey> 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 <cpressey> AnMaster: It would.
17:16:46 <AnMaster> cpressey, wikipedia claims "As a result, the game can be represented as a state absorbing Markov chain." about that game
17:16:56 <AnMaster> I have no idea how
17:20:21 <cpressey> I guess they're thinking of the history of dice rolls as the data in the chain
17:20:55 <AnMaster> 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 <cpressey> It occurs to me that very few board games have unbounded storage.
17:38:35 <cpressey> 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 <AnMaster> 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 <cpressey> Maybe Pictionary??? :D
17:39:20 <cpressey> Also not really a board game, but closer
17:40:03 <AnMaster> http://sprunge.us/aGDZ
17:40:05 <AnMaster> that can't be good
17:43:53 -!- relet has joined.
17:47:28 -!- Phantom_Hoover has joined.
17:50:22 <oklopol> "<cpressey> 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 <cpressey> OK, not *exactly* NTMs
17:51:00 <cpressey> Multiple transitions out of a state, but which one is taken, is chosen by the plater
17:51:02 <cpressey> *player
17:51:14 <Gregor-W> *platter
17:51:30 <cpressey> That's a DJTM
17:51:34 <fizzie> *platypus
17:51:51 <Gregor-W> *rubber ducky
17:51:59 <oklopol> "<cpressey> Correction: Proof that AFAs e..." <<< i don't get this at all, can you give me a link
17:52:25 <cpressey> oklopol: No link, I just made it up? It seems like a really easy proof
17:52:46 <oklopol> well to me it seems like nonsense
17:52:48 <cpressey> s/?/./ bad use of ?
17:52:56 <oklopol> do you know what a universal state is
17:53:03 -!- ais523 has quit (Remote host closed the connection).
17:53:07 <cpressey> All paths out of it have to accept, right?
17:53:23 <oklopol> wait you did a powerset thing?
17:53:24 <cpressey> And existential is, at least one path out has to accept
17:53:37 <oklopol> yeah those are correct
17:54:31 <oklopol> if you take the powerset then yeah actually i guess it's trivial, let me think about it
17:54:40 <oklopol> *i guess it might be trivial
17:55:18 <cpressey> Yeah, putting a powerset in there would make what I was saying explicit, I think
17:56:02 <oklopol> 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 <oklopol> the crucial thing is to realize what being in a set of states means
17:56:24 <oklopol> but i guess it's obvious
17:57:05 <cpressey> if not obvious, then at least.... non-problematic
17:57:23 <oklopol> so umm does that give us two-way AFA's...
17:57:38 <oklopol> well
17:57:43 -!- Mathnerd314 has quit (Ping timeout: 248 seconds).
17:57:53 <cpressey> Oh, um
17:58:03 <cpressey> The input is finite?
17:58:08 <oklopol> why would it, i don't even see how 2-way NFA is the same as 2-way DFA
17:58:10 <oklopol> sure
17:58:14 -!- Mathnerd314 has joined.
17:58:22 <oklopol> that doesn't really matter
17:58:25 <cpressey> Then a two-way automaton on the string maps to a one-way automaton on a tree
17:58:40 <oklopol> clever
17:58:43 <oklopol> maybe
17:58:43 <cpressey> And there is work on AFAs on trees (and graphs) -- I've seen it
17:58:49 <oklopol> sure
17:59:33 <oklopol> but one-way automata on trees don't translate to two-way automata on strings
17:59:42 <oklopol> which is what we need
17:59:48 <oklopol> well
17:59:49 <cpressey> mrh, true.
18:00:14 <oklopol> well anyway, is 2-way NFA the same as 2-way DFA?!?
18:00:23 <oklopol> why don't i know something this simple
18:04:04 <Phantom_Hoover> Same in terms of CC?
18:04:16 <cpressey> Phantom_Hoover: yes
18:04:20 <AnMaster> <cpressey> That's a DJTM <-- DJTM standing for?
18:04:32 <cpressey> AnMaster: riffing on *platter
18:04:38 <Phantom_Hoover> Damn!
18:04:38 <oklopol> 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 <Phantom_Hoover> cpressey, I wanted that pun!
18:05:35 <AnMaster> cpressey, ?
18:05:57 <cpressey> Phantom_Hoover: OK, next time I'll let *you* confuse AnMaster.
18:06:12 * AnMaster googles riffing
18:06:32 <oklopol> 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 <Phantom_Hoover> AnMaster, playing with, basically
18:06:44 <oklopol> many details need to be filled, but i don't see why this wouldn't work
18:06:49 <AnMaster> cpressey, oh DJTM as in DJ TM?
18:07:21 <cpressey> oklopol: It seems reasonable
18:07:23 <oklopol> for AFA, the automaton can start building a huge boolean function combining the results of going left
18:07:39 <oklopol> "if these two accept and this doesn't, then do this, if on the other hand..."
18:07:45 <cpressey> The state blowup is immense, of course, but irrelevant, of course
18:08:02 <oklopol> 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 <oklopol> well
18:08:11 <oklopol> only exponential :P
18:08:50 <oklopol> so maybe 2-way AFA is actually stronger, i'll try to come up with a counterexample tomorrow
18:08:52 <oklopol> i mean
18:09:00 <oklopol> counterexample to it being just regulars
18:09:07 <oklopol> err no wait
18:09:23 <oklopol> it can build any boolean function of going-left's, but the inputs are just states...
18:09:36 <oklopol> so actually i think by having another exponential blow-up, you can do it
18:11:07 <oklopol> i'll give this a bit of thought
18:12:26 <cpressey> I'm still thinking about how the C preprocessor might be Turing-complete...
18:15:15 -!- augur has joined.
18:15:22 <Gregor-W> Didn't pikhq post a link to a Game of Life interpreter or something thereabouts in it?
18:15:29 <Gregor-W> Isn't that proof that it is, not just might be?
18:16:12 <cpressey> Gregor-W: yes, but the life playfield in that was finite.
18:16:24 <Gregor-W> Ahhhhhhhhhhhhh
18:16:24 <Gregor-W> Shoot
18:16:55 <Gregor-W> Should try with something more fitting, like the lambda calculus.
18:17:59 <cpressey> 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 <cpressey> The rest, namely checking what the tip is, and appending the response to the other end of the string, seems easy.
18:18:54 <cpressey> But, I don't really know, since I'm not a huge cpp jockey.
18:19:23 -!- sebbu has joined.
18:19:25 <Gregor-W> In spite of being a string-rewriting language, I don't think CPP would be great for that ...
18:25:08 <pikhq> Pity there's no string indexing in there at all.
18:26:27 <Gregor-W> My bet is still on Lambda.
18:26:40 <oklopol> 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 <oklopol> QED
18:26:52 <oklopol> damn that was formal
18:27:37 <cpressey> I like how you used the word "hardcode" in a proof
18:28:11 <cpressey> That puts me in a good mood as I go for lunch :)
18:29:06 <oklopol> :)
18:29:16 <oklopol> yeah wanted to remind the reader we're not talking about an algorithm the AFA has to somehow implement
18:37:36 <Gregor-W> 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 <cpressey> 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 <cpressey> 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 <cpressey> "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 <Gregor-W> 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 <cpressey> There *has* to be a way to prove P < NP out of this :)
19:40:54 <oklopol> "<cpressey> And 2NFA -> NFA -> DFA, if I'm not mistaken." <<< i reduced directly to NFA
19:41:14 <oklopol> i don't see how to reduce to 2NFA
19:41:40 <cpressey> "<oklopol> so 2AFA -> 2NFA: you have [...]"
19:41:46 <oklopol> i mean, so that you somehow do a simpler reduction
19:41:53 <oklopol> oh shit
19:42:03 <oklopol> well
19:42:12 <oklopol> NFA \subset 2NFA, but i definitely meant NFA
19:42:48 <cpressey> Really, NFA < 2NFA? Damn, my intuition was wrong then.
19:43:04 <oklopol> umm a two-way NFA can just never go left
19:43:16 <oklopol> ohh
19:43:54 <oklopol> 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 <oklopol> *A
19:43:59 <oklopol> *a
19:44:02 <cpressey> Oh, ok. Whew
19:44:16 <cpressey> The structure is a subset. Yeah.
19:44:26 <cpressey> Well, "structure"... you know what I mean
19:44:29 <oklopol> AXX will always be stronger than NXX because you can just not use universals
19:46:45 <oklopol> "<cpressey> There *has* to be a way to prove P < NP out of this :)" <<< from what, kolmo?
19:46:59 <cpressey> oklopol: Yes! I'm not entirely serious though.
19:47:33 <oklopol> P < NP is serious business though, i hear
19:48:11 <cpressey> It's a million-dollar industry, at least.
19:48:22 <cpressey> Actually, that makes it sound like such small potatoes :)
19:49:52 <pikhq> Last I checked, new potatoes (which are small) were a sizable industry. :P
19:50:15 <Phantom_Hoover> NxN sudokus are NP-complete, aren't they?
19:54:35 <cpressey> 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 <Phantom_Hoover> cpressey, I vaguely remember it from the Scientific American.
19:56:23 <cpressey> 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 <Phantom_Hoover> "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 <cpressey> Yeah, I just found that page too.
19:58:46 -!- impomatic has joined.
20:09:19 <oklopol> same thing with minesweeper
20:09:29 <oklopol> the actual game hasn't been proven np-complete
20:09:41 <oklopol> just whether a set of shown numbers is consistent
20:09:43 <oklopol> afaik
20:20:00 <cpressey> Oooh
20:20:18 <cpressey> Does Co-NP = NP?
20:21:41 <Phantom_Hoover> I should think so.
20:22:12 <Phantom_Hoover> Co-NP means that for a problem X, X is NP, doesn't it?
20:22:54 <cpressey> What does "?X" in "?X is NP" mean?
20:24:56 <coppro> it means your client sucks
20:25:09 <coppro> get a client that understands UTF-8
20:25:29 <cpressey> It does! I can read pikhq's Japanese stuff just fine! Well, mostly.
20:26:11 <pikhq> 読める?
20:26:14 <pikhq> 良いね。
20:27:13 <cpressey> Exactly. Anyway, let's assume ?X means "complement of X". Then yes. But that doesn't mean NP = Co-NP.
20:27:21 <pikhq> coppro: If his client sucked it'd be multiple characters.
20:27:29 <coppro> ah
20:27:33 <coppro> then get a better font
20:27:37 <pikhq> cpressey: You need a font with the glyph.
20:27:37 <cpressey> Usually it's a box with 4 digits in it...
20:28:04 <pikhq> Fallback font not working, I guess?
20:28:24 <cpressey> I take it, it is not ¬X
20:28:36 <pikhq> ... It is.
20:29:41 <cpressey> 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 <Phantom_Hoover> I have no idea what XChat is up to.
20:30:31 <pikhq> Hrm. irssi *should* be just treating this as UTF-8.
20:32:10 <fizzie> Irssi's default settings have a fallback for invalid UTF-8, unless I misremember.
20:32:21 <pikhq> Ah, right.
20:32:24 <fizzie> /set recode_fallback and so on.
20:32:38 <fizzie> Seems to be CP1252 here, possibly for the benefit of Windows people.
20:32:43 <pikhq> Phantom_Hoover: It meants your IRC client sucks.
20:33:16 <Phantom_Hoover> ?
20:33:46 <Phantom_Hoover> That was two consecutive "not"s followed by two consecutive sterling signs.
20:33:46 <fizzie> Anyway, XChat's default I think is also character set "IRC (latin/Unicode hybrid)"
20:33:58 <coppro> yeah, that is not UTF-8
20:34:07 <coppro> solution: get a client that uses UTF-8
20:34:15 <pikhq> Phantom_Hoover: Send UTF-8.
20:34:56 <fizzie> 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 <Phantom_Hoover> Hmm, ¬¬№№.
20:35:29 <fizzie> You can toggle it to plain "UTF-8 (Unicode)" in the network setup screen thing.
20:35:34 <pikhq> So, XChat is maintaining the brain-damage that is CP1252?
20:35:39 <coppro> that is UTF-8
20:35:43 <pikhq> fizzie: Is not Latin1.
20:35:55 <fizzie> What's not latin1?
20:36:01 <pikhq> fizzie: CP1252 is a superset of Latin1.
20:36:15 <fizzie> Yes, I know. But both those characters he sent are in latin1.
20:36:21 <pikhq> Mmm.
20:38:58 <Phantom_Hoover>
20:39:03 <Phantom_Hoover> Does that work?
20:39:11 <coppro> no
20:39:27 -!- sebbu has quit (Ping timeout: 264 seconds).
20:40:11 <coppro> 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 <fizzie> That looked like 0xac 0xac 0xa3 0xa3 in my logs; that'd be either latin1 or the windowsy thing.
20:41:15 <Sgeo> Even I'm not that unlazy enough.
20:41:46 <fizzie> (XChat's network settings probably won't take effect before reconnecting with the edited configuration.)
20:41:50 <Sgeo> How... bought in do you have to be to "Work harder, not smarter" to even think of that
20:41:52 <cpressey> Wow, it's the superset construction applied to a C++ program!
20:42:03 <cpressey> *powerset
20:42:12 <pikhq> coppro: That's... stunningly stupid.
20:42:58 <fizzie> That "one-case switch" pattern is also pretty nice.
20:42:59 <oklopol> "<cpressey> 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 <pikhq> ARRAYS MAN, ARRAYS!
20:44:19 <pikhq> Kinda impressive how it doesn't have... Any abstraction at all.
20:44:29 <oklopol> "<Phantom_Hoover> 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 <pikhq> Also: God, I feel the urge to write a similar program just so I stop crying.
20:44:58 <coppro> well, it's actually a C program
20:44:58 <fizzie> 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 <coppro> I'm surprised he's still in ##C
20:45:17 <fizzie> Sorry, "air craft carier".
20:45:18 <pikhq> fizzie: XD
20:45:20 <coppro> I would have expected them to have kickbanned him by now
20:45:28 <fizzie> Oh, and "poition".
20:45:35 <Phantom_Hoover> So how does co-NP not imply NP?
20:45:57 <pikhq> Hmm. Demands Curses.
20:46:35 <oklopol> Phantom_Hoover: how does it?
20:46:38 <Phantom_Hoover> Surely a problem and its complement can each be deduced from the other?
20:46:53 <cpressey> Deduced, sure. REduced... no
20:47:02 <pikhq> Or... a GUI.
20:47:03 <pikhq> (gasp!)
20:47:09 <oklopol> maybe, humankind just doesn't know how.
20:47:10 <coppro> man, this guy's an idiot
20:47:16 <coppro> I wish he was just a troll
20:47:19 <coppro> it's clear he is not
20:47:34 <Phantom_Hoover> Me‽
20:47:37 <coppro> no
20:47:39 <coppro> the guy in ##C++
20:47:53 -!- tombom_ has joined.
20:47:59 <fizzie> Hey, an appropriate interrobang.
20:48:13 <Phantom_Hoover> Oh? What's he doing?
20:48:15 <cpressey> And my IRC client rendered it correctly, too. Sweet!
20:48:36 <Phantom_Hoover> Yeah, I made a quick trawl of the XChat docs.
20:48:37 <oklopol> 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 <oklopol> and nondeterminism doesn't let you do that
20:49:01 <Phantom_Hoover> Ah, OK.
20:49:24 <Phantom_Hoover> But surely you can solve X by solving X and inverting the answer?
20:49:42 <oklopol> sure, but that won't be an algorithm a NTM can run
20:49:54 <oklopol> you will have to call an NTM program from a TM
20:49:58 <oklopol> and then invert its answer
20:50:37 <oklopol> in fact P^NP is complementable for this reason (polynomial time with oracle that does nondeterministic polynomial queries in one step)
20:51:25 <coppro> Sgeo: he's smarter than you because he's in college.
20:51:31 <oklopol> or, you can call it from a nondeterministic program and then invert the answer
20:52:12 <oklopol> this may all be a bit confusing still, you should just read the formal definitions reeeally well.
20:53:02 <Phantom_Hoover> I should, shouldn't I?
20:53:26 <oklopol> you should!
20:54:38 <cpressey> 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 <cpressey> sat is in NP, but taut is in co-NP
20:54:57 <Phantom_Hoover> Ohh.
20:55:15 <oklopol> what was that an answer to?
20:55:43 <Phantom_Hoover> cpresssey's thing, kind of.
20:56:25 <fizzie> 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 <oklopol> nothing wrong with adding to confusing
20:56:55 <oklopol> *confusion
20:56:56 <oklopol> 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 <cpressey> Complete guess: SAT with monotonic sentences (no NOT) is in P. Maybe even a greedy algorithm
20:58:50 <oklopol> monotonic sentences?
20:59:04 <cpressey> Is monotonic the word? AND and OR, but no NOT
20:59:05 <oklopol> and what do you mean complete guess
20:59:22 <cpressey> I mean I have no proof, going entirely on intuition and similar sounding problems
20:59:27 <oklopol> oh okay monotonic is a good words
20:59:29 <oklopol> *word
20:59:43 <oklopol> oh complete guess as in info from ass
20:59:51 <cpressey> "monotonic circuits" come up sometimes in circuit complexity
20:59:53 <Gregor-W> So anybody written an interpreter in CPP yet? :P
20:59:53 <oklopol> i thought complete as in np complete ...
21:00:05 <cpressey> yes, info from ass :)
21:00:46 <oklopol> my ass tells me it's in P
21:01:07 <oklopol> so
21:01:13 <oklopol> assign all variables to true
21:01:26 <oklopol> you can prove by induction that this algorithm eventually finds the answer
21:01:51 <oklopol> you could call it a greedy algorithm
21:02:43 <oklopol> maybe every set of boolean functions is either trivial or np-complete
21:04:14 <oklopol> 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 <oklopol> also what does trivial or NP-complete even mean
21:05:14 <oklopol> that there's a linear time algo?
21:05:17 <oklopol> who knows.
21:06:38 <oklopol> 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 <AnMaster> oklopol, isn't NP-complete pretty well defined
21:12:48 <AnMaster> unlike the concept "trivial"
21:13:35 <Phantom_Hoover> Trivial means I can't be bothered doing it, yes?
21:13:40 <AnMaster> XD
21:16:41 <fizzie> 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 <fizzie> eems to be a picayune infraction")
21:16:49 <fizzie> Lots of them words.
21:19:03 <oklopol> AnMaster: yes, "trivial or NP-complete" is only informal because "trivial" is.
21:19:26 <oklopol> in this case trivial couldn't really mean "I can't be bothered doing it"
21:19:36 <oklopol> 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 <Phantom_Hoover> For looking through that code?
21:31:10 <Phantom_Hoover> I have better things to do, but they're not as immediately interesting.
21:32:21 <fizzie> oklopol: So "I can't be bothered doing an algorithm to do it" for trivial, then?
21:36:46 <AnMaster> XD
21:54:53 <CakeProphet> fungot
21:54:53 <fungot> CakeProphet: you don't really need more ram please donate! cool
21:54:57 <CakeProphet> !simpleacro
21:55:08 <EgoBot> FAGFTFK
21:55:11 <CakeProphet> hahaha
21:55:26 <CakeProphet> short for: fag foot fuck?
21:55:57 <CakeProphet> though, fags don't really have feet. They're mostly for getting cancer and/or burning witches(?)
21:57:48 <pikhq> !simpleacro
21:57:50 <oklopol> fizzie: something like that
21:57:51 <EgoBot> QCWAMNZZ
21:57:57 <Phantom_Hoover> CakeProphet, and for eating.
21:58:03 <Phantom_Hoover> !simpleacro
21:58:05 <EgoBot> PZGXVHK
21:58:17 <Phantom_Hoover> No vowels!
21:59:46 <CakeProphet> actually in acronym-space
21:59:52 <CakeProphet> vowels do not correspond to more possible words
22:00:28 <CakeProphet> 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 <CakeProphet> er letter
22:00:48 <CakeProphet> s
22:00:59 <pikhq> Quebecois Communists Wantonly Attack My Not-Zero'd Zabutons
22:01:11 <Phantom_Hoover> Zabutons?
22:01:48 <Phantom_Hoover> Whaddayaknow, it's a type of cushion.
22:01:55 <fizzie> Not-Zero'd Zomplexes.
22:01:57 <pikhq> Phantom_Hoover: When sitting in seiza (kneeling before a table), one sits upon a zabuton.
22:02:19 <Phantom_Hoover> fizzie, teehee.
22:02:33 <Phantom_Hoover> I still think my complex subset names were awesome.
22:02:56 <pikhq> Pied Zen Geek Xmas Viewed Hong Kong
22:04:17 <pikhq> Phantom_Hoover: BTW, it's a 'sitting futon'.
22:04:20 <Phantom_Hoover> If I were doing any kind of intelligent mathematics in school this year I'd bring them up.
22:05:47 <CakeProphet> ...you guys know way too many obscure words.
22:06:22 <CakeProphet> you know I was thinking of taking the challenge of writing a poem-friendly programming language
22:06:23 <Sgeo> Vala can be so...
22:06:27 <CakeProphet> I'm not quite sure how to go about it.
22:06:39 <Sgeo> Sometimes I'll learn something about it that's great, sometimes something that's horrible
22:06:58 <CakeProphet> 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 <Phantom_Hoover> CakeProphet, I made those set names up. *coughaskmewhattheyare*
22:07:05 <cpressey> Sgeo: Wondering if I should bother looking at it
22:07:54 <CakeProphet> I think basing instructions off of starting letter would be an acceptable constraint.
22:07:59 <cpressey> I rarely get past "looking at it" for most "alternative mainstream" languages
22:08:13 <CakeProphet> 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 <CakeProphet> 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 <fizzie> There's the good old Shakespeare for that.
22:08:50 <cpressey> CakeProphet: Tracking measure (syllables) would be appropriate, but hard
22:09:01 <CakeProphet> indeed. you'd need a dictionary
22:09:05 <CakeProphet> a very comprehensive one
22:09:25 <cpressey> Or cheat by insisting it be notated
22:09:44 <CakeProphet> 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 <CakeProphet> in case the database doesn't match something it technically should.
22:09:54 <Sgeo> Vala has no bounds checking
22:10:01 <Sgeo> erm, automatic bound checking, I guess
22:10:20 <Phantom_Hoover> How worketh that?
22:10:57 <pikhq> CakeProphet: Mora-based?
22:11:02 <Sgeo> frederik> Sgeo_: use an ArrayList
22:11:04 <fizzie> (Okay, so Shakespeare is play- and not poem-oriented.)
22:11:09 <CakeProphet> pikhq: I don't know what Mora is.
22:11:22 <cpressey> http://www.rhymezone.com/rhyme-help.html -- you could use this as a web service to find rhymes
22:11:43 <CakeProphet> yeah. I'd rather have an on-site database, but I have a feeling those are all proprietary/locked-away
22:12:08 <pikhq> CakeProphet: Morae are a basic unit of sound; a syllable is generally composed of one or two morae.
22:12:10 <CakeProphet> 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 <fizzie> There are freely available reasonably comprehensive English pronunciation dictionaries, you could base heuristics on those.
22:12:31 <CakeProphet> pikhq: aha. that could be interesting. Again, I need databases because I am surely not going to compile that information myself.
22:12:41 <pikhq> CakeProphet: Trivial in Japanese. :P
22:12:45 <Phantom_Hoover> CakeProphet, know the IPA?
22:12:55 <CakeProphet> I know of it. I don't know it.
22:13:37 <Phantom_Hoover> Why not just fetch the IPA and match the last few phonemes?
22:14:01 <Phantom_Hoover> Or do fancy analysis on the consonant/vowel patterns.
22:14:40 <CakeProphet> well
22:15:02 <CakeProphet> 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 <fizzie> BEEP has about 250k English word in it.
22:15:40 <CakeProphet> 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 <Phantom_Hoover> The IPA for the entirety of English, CakeProphet?
22:15:55 <Phantom_Hoover> augur?
22:15:56 <CakeProphet> ...no
22:15:57 <fizzie> ("British English example pronounciation" dictionary, that is.)
22:16:06 <CakeProphet> Phantom_Hoover: for the words in question. the words in the poem are static information.
22:16:12 <Phantom_Hoover> Ah, OK.
22:16:40 <Phantom_Hoover> Well, you'd need the IPA for any words that would need rhyme-matching.
22:17:20 <pikhq> Phantom_Hoover: OED should have the IPA for all of English.
22:17:21 <pikhq> >:D
22:17:27 <Phantom_Hoover> http://en.wikipedia.org/wiki/Rhyme
22:17:47 <augur> Phantom_Hoover: yes?
22:17:59 <Phantom_Hoover> To what extent does the OED/whatever give information on stresses?
22:18:05 <augur> i have no idea.
22:18:20 <fizzie> 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 <cpressey> wiktionary?
22:18:51 <cpressey> not very structured
22:18:59 <Phantom_Hoover> augur, that was universally addressed.
22:19:01 <fizzie> (I think there was some primary-stress markers in it too.)
22:19:03 <augur> ok.
22:19:15 <Phantom_Hoover> cpressey, hardly helpful.
22:19:30 <cpressey> but you can grep for "IPA: /.*/" and sometimes get the pronunciation
22:20:04 <fizzie> There's also cmudict: http://www.speech.cs.cmu.edu/cgi-bin/cmudict
22:20:12 <fizzie> It has some stress info in it.
22:20:16 <Phantom_Hoover> fizzie, does BEEP give us data on the stresses?
22:20:31 <cpressey> actually wiktionary seems passable based on some random anecdotal queries
22:20:55 <fizzie> 127k words in cmudict 0.6, maybe more in 0.7.
22:21:32 <cpressey> AW0 T R EY1 JH AH0 S
22:21:49 <Phantom_Hoover> Yes, but for rhyme matching I think we'll need to know where the stress falls.
22:21:51 <fizzie> The digits are stress-markers, ISTR.
22:22:03 <Phantom_Hoover> 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 <CakeProphet> 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 <fizzie> 0 = no stress, 1 = primary stress, 2 = secondary stress. I'm sure they have better descriptions of their data there too.
22:23:21 <cpressey> i guess you'd still need a heuristic if you wanted to extract syllable information for measure from that
22:23:48 <cpressey> shouldnt be a terribly complex one, though
22:24:09 <fizzie> 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 <Phantom_Hoover> Wait, is this BEEP or CMU?
22:24:50 <fizzie> It also might've been for Finnish morphological analysis, which would be less than helpful.
22:25:01 <cpressey> (AW0 T) (R EY1 JH) (AH0 S) versus (AW0 T) (R EY1) (JH AH0 S)
22:25:31 <cpressey> 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 <cpressey> No, I take that back
22:25:50 <fizzie> The stress numbers were from CMU's description, but I think BEEP had something very similar.
22:26:11 <fizzie> 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 <fizzie> Or at least better documented on the website; the BEEP tarball has some docs too.
22:26:42 <cpressey> Outrageous, contagious. That's precisely what this phage is.
22:30:14 -!- Gregor-W has quit (Ping timeout: 252 seconds).
22:30:35 <Phantom_Hoover> CakeProphet, what do you plan to do for commands?
22:30:51 <fizzie> 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 <Phantom_Hoover> I mean, you'll want a great degree of freedom.
22:32:02 <fizzie> 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 <fizzie> Then they can do something useful with their lives.</burn>
22:32:29 <CakeProphet> Phantom_Hoover: haven't even considered that yet. Still working on the syntatical structures.
22:33:11 <Phantom_Hoover> CakeProphet, which accent would you prefer?
22:34:11 <coppro> hahaha gcc's having licensing problems
22:34:27 <coppro> they can't legally copy examples from source into documentation
22:34:58 <Phantom_Hoover> Ha!
22:35:00 <Phantom_Hoover> Linky?
22:38:55 -!- GreaseMonkey has joined.
22:42:38 <Phantom_Hoover> Oh, incidentally.
22:42:48 <Phantom_Hoover> Some old bore called, but I sent him away.
22:42:53 <Phantom_Hoover> Take THAT, Feedback!
22:45:29 <CakeProphet> Phantom_Hoover: wat?
22:45:34 <CakeProphet> what do you mean which accent?
22:45:59 <Phantom_Hoover> Oh. BEEP is British English, which I assume isn't your accent.
22:46:13 -!- aliseiphone has joined.
22:46:24 <aliseiphone> Bjorn stood in accusation against the masked blind man.
22:46:35 -!- oerjan has joined.
22:46:45 <Phantom_Hoover> oerjan!
22:47:29 <Sgeo> errordomain IRCError { ALISE, SGEO, PHANTOM_HOOVER }
22:47:48 <oerjan> <CakeProphet> 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 <oerjan> 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 <oerjan> or a tree, perhaps
22:49:16 <oerjan> actually given the probabilistic nature, you'd probably want the tree to be balanced not by letters, but by probability
22:49:59 <oerjan> (so left and right subtrees have approx same probability rather than number of letters)
22:50:22 <oerjan> would probably be a bit long for an EgoBot hack though :D
22:52:23 * AnMaster plays around with opengenera
22:52:25 <oerjan> 08:56:18 <oklopol> a DFA with two heads is already "trivially" stronger than one with just one head
22:52:28 <oerjan> 08:56:26 <oklopol> trivially if you know where to look
22:52:43 -!- tombom__ has joined.
22:53:01 <oerjan> well yeah that was what (^n)^n does
22:53:08 <oerjan> *is
22:54:30 -!- tombom_ has quit (Ping timeout: 252 seconds).
22:55:08 <AnMaster> I wonder how hard it would be to add scroll wheel support to it?
22:55:12 <AnMaster> aliseiphone, ^
22:55:26 <oerjan> <oklopol> multihead is always more powerful than nonmultihead, essentially
22:55:47 <AnMaster> oerjan, talking about monitor setup?
22:56:06 <oerjan> no
22:56:15 <Phantom_Hoover> TM?
22:56:35 <oerjan> 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 <oerjan> it can reduce time though.
22:57:31 <oerjan> (well probably)
22:58:33 <AnMaster> oerjan, doesn't an UTM have just one head?
22:58:52 <oerjan> AnMaster: this is a generalization
22:58:59 <AnMaster> ah
22:59:24 <oerjan> 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 <oerjan> )
22:59:30 <oerjan> *-)
23:01:52 <oerjan> (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 <Gregor-W> <cpressey> Outrageous, contagious. That's precisely what this phage is.
23:05:16 <Gregor-W> I give you three props for that.
23:05:44 <Gregor-W> This first prop is a lamp. The second prop is a stool, and the third prop is an umbrella.
23:07:04 <oerjan> not sure how much weaker extra heads are than extra tapes
23:07:35 <oerjan> hm or are they obviously weaker at all...
23:07:51 <oerjan> (strictly weaker, that is)
23:07:57 <Gregor-W> Infinite hotel rooms. They're not weaker.
23:08:28 <oerjan> oh right
23:08:41 <Gregor-W> I love using "infinite hotel rooms" as an argument :P
23:08:46 <oerjan> maybe even stronger
23:09:29 <oerjan> the amazing thing is that i think i got what you meant :D
23:09:43 <Gregor-W> I forget what the actual name of the relevant theory is :P
23:09:47 <Gregor-W> But hey! Infinite hotel rooms!
23:10:32 <oerjan> (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 <oerjan> Gregor-W: well infinite hotel rooms is usually about set theory cardinals
23:11:50 <oerjan> afaik
23:12:46 <Gregor-W> Sure sure, but it's all infinities :P
23:13:45 <Slereah> Infinities have different properties, though
23:14:01 <Phantom_Hoover> Gregor-W, Hilbert's Hotel?
23:14:14 <oerjan> 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 <aliseiphone> Phantom_Hoover: not a theorem
23:15:08 <Phantom_Hoover> aliseiphone, there *aren't* any theorems about infinite hotels.
23:16:26 <aliseiphone> Phantom_Hoover: ...
23:16:45 <Phantom_Hoover> It's an analogy, not a theorem.
23:17:06 <aliseiphone> Reading comprehension grade:
23:17:11 <Gregor-W> 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 <aliseiphone> F
23:17:23 <Gregor-W> oerjan: Since you can trivially show that it's just going to multiply the time by a constant 2.
23:17:29 <Phantom_Hoover> Ah, "relevant".
23:18:01 <cpressey> oerjan: With NP you can DO MAGIC
23:18:04 <Phantom_Hoover> Looking at that Battleships code has turned sizeable parts of my brain into mush.
23:18:17 <Gregor-W> Phantom_Hoover: 's OK, you didn't need those parts anyway.
23:18:27 <Gregor-W> Sgeo: So where did that come from, I missed it X-P
23:18:29 <Gregor-W> I'm at work :P
23:18:36 <aliseiphone> Phantom_Hoover: Can you paste it elsewhere? It isn't loading for me.
23:18:44 <Sgeo> Gregor-W, Phantom_Hoover
23:18:50 * cpressey tries to find a good rhyme for "infinite hotel rooms"
23:18:56 <Gregor-W> Phantom_Hoover: So where did that come from, I missed it X-P
23:19:10 <Gregor-W> cpressey: Infinite maids' brooms
23:19:16 <Gregor-W> cpressey: Good AND relevant!
23:19:22 <Phantom_Hoover> Copying that code has now hung Firefox.
23:19:25 <cpressey> Gregor-W: GAF
23:19:33 <Phantom_Hoover> Thanks, guys. Thuys.
23:19:36 <Gregor-W> ... GAF?
23:19:52 <cpressey> A sound of startlement and such
23:20:05 <cpressey> Actually, mispelled "GAH"
23:20:06 <Gregor-W> ... not one used by humans, but OK.
23:20:09 <Gregor-W> Ahhhh
23:20:10 <Gregor-W> Better then :P
23:20:49 <Phantom_Hoover> http://pastebin.com/V3jWjXtg doesn't work for you, aliseiphone?
23:20:56 <Phantom_Hoover> Gregor-W, ^
23:21:10 <aliseiphone> 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 <aliseiphone> Phantom_Hoover: As I said.
23:22:25 <Phantom_Hoover> I can't really copy and paste directly, because that thing is probably 300K.
23:22:26 <cpressey> 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 <Gregor-W> Phantom_Hoover: I saw the link, I'm just wondering where it came from.
23:23:37 <Phantom_Hoover> Gregor-W, Sgeo mentioned someone who was either a troll or an idiot on ##C++.
23:23:54 <Phantom_Hoover> I poked my head around the door.
23:24:06 <oerjan> aliseiphone: *POOF*
23:24:18 <Sgeo> 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 <Phantom_Hoover> Sgeo, I mean in the first place.
23:24:38 <Sgeo> ...?
23:24:39 <Gregor-W> 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 <Phantom_Hoover> Wait, that was coppro, wasn't it.
23:24:46 <Sgeo> Oh, you mean to Gregor-W?
23:24:50 <Sgeo> Oh
23:24:52 <Sgeo> Oh, yes
23:24:53 <Sgeo> >.>
23:25:01 * Sgeo is slowly going insane
23:25:08 <oerjan> 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 <coppro> Phantom_Hoover: I pasted it originally, yes
23:25:15 <Gregor-W> >_<
23:25:19 <Gregor-W> coppro: WHERE FROM GRAAAH :p
23:25:30 <cpressey> Gregor-W: It's a diabolical mind-control thing. She's actually strapped in a chair...
23:25:31 <coppro> Gregor-W: Someone wanted help with it in ##c++
23:25:34 <Gregor-W> I just have to know what subhuman monster initiated this.
23:25:42 <Gregor-W> coppro: I assume he got kickbanned :P
23:26:02 <Phantom_Hoover> He wasn't, actually.
23:26:08 <oerjan> aliseiphone: um someone else got their edit in before mine, even
23:26:13 <coppro> he wasn't even kbed from ##c, which is bizzarre
23:26:15 <Phantom_Hoover> We all had a go at him, and he sodded off after a while.
23:26:18 <coppro> *bizarre
23:26:28 <coppro> ##c++ usually doesn't have ops around
23:26:53 <oerjan> the wiki doesn't report an edit conflict if you are trying to do the exact same edit as someone else...
23:27:08 <oerjan> (i guess that makes sense)
23:27:11 <Gregor-W> oerjan: Oh nose D-8
23:27:12 <Phantom_Hoover> My money's still on "troll", or possibly "lying egomaniac".
23:27:27 <Gregor-W> Phantom_Hoover: It's a lot of effort just for trolling ...
23:27:34 <Phantom_Hoover> oerjan, are you referring to our simultaneous POOFs?
23:27:41 <Phantom_Hoover> Gregor-W, I know...
23:27:53 <cpressey> My money is on "very much newbie programmer", maybe "newbie thinker".
23:28:12 <oerjan> Phantom_Hoover: oh it was you?
23:28:13 <Phantom_Hoover> OTOH, the code is all so similar that anyone who could actually program could have used an automatic generator.
23:28:39 <aliseiphone> PASTE IT SOMEWHERE
23:28:42 <aliseiphone> :(
23:29:08 <Phantom_Hoover> aliseiphone, I have a wgotten version which I could email, but I don't want to crash Firefox again.
23:29:15 <Gregor-W> ... oh my god ... the only loop in the whole thing is one for loop restricted to 64 iterations ...
23:29:38 <aliseiphone> Phantom_Hoover: use sprunge
23:30:01 <aliseiphone> curl -F 'sprunge=<foo.c' sprunge.us
23:30:01 <cpressey> money definitely on "new at using brain"
23:30:20 <Phantom_Hoover> cpressey, hence the "lying egomaniac" bit
23:30:31 <cpressey> Phantom_Hoover: ah, i haven't read his msgs
23:30:45 <cpressey> still, they go together quite often, I find
23:30:47 <Gregor-W> cpressey: You mean "incapable of using brain"
23:30:52 <Phantom_Hoover> aliseiphone, I don't have the raw text, though.
23:31:11 <oerjan> Gregor-W: um is your nose talking about the wiki spam editing?
23:31:18 <cpressey> Gregor-W: sadly, yes
23:31:41 <Phantom_Hoover> From what I can see, it actually works for a while.
23:32:39 <Phantom_Hoover> #
23:32:39 <Phantom_Hoover> switch(subpthreetwo) {
23:32:39 <Phantom_Hoover> #
23:32:39 <Phantom_Hoover> case 17:
23:32:40 <Phantom_Hoover> #
23:32:42 <Phantom_Hoover> printf("Hit!!!\n");
23:32:44 <Phantom_Hoover> #
23:32:46 <Phantom_Hoover> hit = hit + 1;
23:32:48 <Phantom_Hoover> #
23:32:50 <Phantom_Hoover> break;
23:32:52 <Phantom_Hoover> #
23:32:54 <Phantom_Hoover>
23:32:56 <Phantom_Hoover> #
23:32:58 <Phantom_Hoover>
23:33:00 <Phantom_Hoover> #
23:33:02 <Phantom_Hoover> }
23:33:04 <Phantom_Hoover> Ack.
23:33:06 <Phantom_Hoover> Sorry....
23:33:37 <Gregor-W> *sobs*
23:34:19 <Phantom_Hoover> aliseiphone, that is at least 80% of the code, with slightly different numbers.
23:34:54 <cpressey> I love the one-case-switch-as-if-without-else idiom.
23:35:09 <Gregor-W> cpressey: Yes. Not somebody who knows about the == operator :P
23:35:11 <oerjan> <cpressey> 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 <Phantom_Hoover> Actually, can I post the other thing it's almost entirely made of.
23:35:23 <oerjan> that would seem to fit better with an ATM actually...
23:35:28 <Phantom_Hoover> Gregor-W, he thought arrays were BAD,
23:35:31 <Gregor-W> OMG that's the best game idea ever.
23:35:47 <Phantom_Hoover> While using arrays for strings, but not realising such.
23:35:51 <Gregor-W> Make it a card game, sell it for billions.
23:36:08 <oerjan> (ATMs are afaiu essentially the Minimax algorithm turned into a TM concept)
23:36:09 <Phantom_Hoover> Best part: he claimed to have a master's in CS and 3 years of C++ experience.
23:36:47 <Gregor-W> Phantom_Hoover: My mind. It is boggled.
23:36:55 <Phantom_Hoover> FWIW, #
23:36:55 <Phantom_Hoover> case 77:
23:36:55 <Phantom_Hoover> #
23:36:55 <Phantom_Hoover> rowseven[18] = 'B';
23:36:55 <Phantom_Hoover> #
23:36:56 <Phantom_Hoover> rowseven[19] = 'A';
23:36:57 <Phantom_Hoover> #
23:36:59 <Phantom_Hoover> break; is most of the rest of the code
23:37:02 <CakeProphet> ..............................
23:37:06 <CakeProphet> wat
23:37:36 <CakeProphet> what am I looking at
23:37:41 <Phantom_Hoover> I want to print it out at some point and hang it on a wall.
23:37:47 <Gregor-W> CakeProphet: Pure, unadulterated fail.
23:37:53 <CakeProphet> ...really?
23:37:55 <CakeProphet> I mean
23:37:57 <Phantom_Hoover> CakeProphet, it's the end of the universe.
23:37:58 <CakeProphet> that's what I thought it was
23:38:02 <CakeProphet> but I didn't think it was possible
23:38:05 <Phantom_Hoover> If you try to compile it, time stops.
23:38:18 <CakeProphet> is there a paste I can see of the rest of this code?
23:38:25 <CakeProphet> I just... can't imagine what it does.
23:38:30 <Gregor-W> CakeProphet: http://pastebin.com/V3jWjXtg
23:38:31 <Sgeo> I now feel more comfortable with the idea of others seeing my code.
23:38:42 <Sgeo> Because no matter how bad it is, it is not as bad as that.
23:39:38 <Phantom_Hoover> 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 <Sgeo> He claimed that his professor liked his style
23:40:19 <Phantom_Hoover> And that he was the only person to get an A in his year.
23:40:48 <Gregor-W> He never claimed that the professor wasn't piss-drunk 24 hours a day, did he?
23:40:59 <Phantom_Hoover> Gregor-W, not that I remember.
23:42:00 <oerjan> 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 <CakeProphet> you know
23:42:28 <CakeProphet> I've actually seen worse code
23:42:28 <cpressey> Phantom_Hoover: Well, once you've lied once, the cost of additional lies goes right down
23:42:30 <CakeProphet> well, no
23:42:40 <CakeProphet> nevermind. I've seen worse code in an /actual/ piece of software
23:42:40 <Phantom_Hoover> CakeProphet, Do share.
23:42:54 <CakeProphet> it's some of the MERC/GodWars codebase
23:42:59 <CakeProphet> MUD codebase
23:43:04 <Gregor-W> Let's see it.
23:43:07 <Gregor-W> Put up or shut up.
23:43:07 <CakeProphet> hmmm
23:43:08 <CakeProphet> well
23:43:12 <Phantom_Hoover> I saw some terrible code by my fellow Computing students, but that's incidental.
23:43:25 <Phantom_Hoover> Even it wasn't anywhere near that bad.
23:43:34 <CakeProphet> 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 <aliseiphone> Night.
23:43:55 <CakeProphet> 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 <Gregor-W> CakeProphet: If it takes that much digging, then it's not as bad :P
23:44:12 <CakeProphet> Gregor-W: I mean, what it does is /functional/. but it's terrible design.
23:44:14 <Phantom_Hoover> I love the way the guy declares airpone as an int.
23:44:20 <Gregor-W> WHICH REMINDS ME hey guys where's my lambda calculus in CPP?
23:44:29 <Phantom_Hoover> Gregor-W, Lazy K?
23:44:39 <Phantom_Hoover> Oh, the C preprocessor.
23:44:41 <Gregor-W> Anything Turing-complete in CPP.
23:44:42 <Phantom_Hoover> Carry on.
23:44:42 <Gregor-W> Yes
23:44:46 <cpressey> 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 <aliseiphone> Gregor-W: I'll do it on Friday.
23:44:49 <aliseiphone> Bye.
23:44:52 <Gregor-W> Awesome
23:44:53 -!- aliseiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
23:45:01 <cpressey> Array? Loop!
23:45:08 <cpressey> And then the planes shall land with supplies!
23:45:25 <Phantom_Hoover> Somehow it took some people in my class months to write an input validation program.
23:45:50 <Phantom_Hoover> Although that class in general was so idiotic I'm glad I dropped it.
23:46:08 <Phantom_Hoover> They used *Javascript*. ON IE 5 FOR THE FREAKING MAC.
23:46:08 <CakeProphet> yeah my programming class peers have been... dismal at programming
23:46:24 <CakeProphet> but hey, I get to tutor them for money
23:46:41 <CakeProphet> so I'm not complaining. I encourage them to be stupidity so I can show them how it's done.
23:46:52 <CakeProphet> lawl stupidity
23:47:21 <Phantom_Hoover> The reason? "It has better debugging facilities."
23:47:42 <Phantom_Hoover> I.e. it would tell you if you piped /dev/random into <script> tags.
23:48:01 <Phantom_Hoover> No breakpoints, no watches, no sane syntax checking.
23:48:22 <AnMaster> <Phantom_Hoover> I want to print it out at some point and hang it on a wall. <--- where is it from? daily wtf?
23:49:07 <Phantom_Hoover> No, ##C++.
23:49:23 <Phantom_Hoover> Daily WTF doesn't do amateur code AFAIK.
23:49:48 <AnMaster> /* - By Simplicity - */
23:49:50 <AnMaster> um
23:49:54 <AnMaster> how ironic
23:50:08 <Phantom_Hoover> Well, it's simple from a certain point of view.
23:50:22 <oerjan> maybe he is using simplicity in the algebraic sense :D
23:51:04 <Phantom_Hoover> Somehow he knew that the compiled code was as efficient whether he used a 10 element array or 10 variables.
23:52:17 <AnMaster> Phantom_Hoover, it seems possible to put a non-continuous ship on there
23:52:25 <AnMaster> since it asks for all positions
23:52:32 <Phantom_Hoover> AnMaster, ah, it seems so at first.
23:52:37 <AnMaster> Phantom_Hoover, oh?
23:52:48 <Phantom_Hoover> But note! void checkShips()
23:53:20 <Phantom_Hoover> It's the second 15K lines.
23:53:35 <Gregor-W> Is ##c++ logged? This needs to be maintained for infamy sake :P
23:53:46 <Phantom_Hoover> I don't think so...
23:53:49 <AnMaster> #
23:53:49 <AnMaster> printf("Player 2 is the winner!!!\nType somthing to quit: ");
23:53:55 * Phantom_Hoover checks his client's logs
23:53:55 <AnMaster> what if player 1 wins?
23:54:05 <Phantom_Hoover> AnMaster, I haven't worked that one out yet.
23:54:15 <Phantom_Hoover> I assume my mortal mind can't handle it.
23:54:32 <AnMaster> and also: a tie
23:54:42 <Gregor-W> Can't tie in Battleship.
23:55:06 <AnMaster> hm true
23:55:12 <AnMaster> still player 1 could win
23:55:35 <Phantom_Hoover> AnMaster, but can they? I mean really, overall?
23:55:52 <Gregor-W> The truth is, when you play Battleship using this software, no one wins.
23:55:53 <Phantom_Hoover> When has Player 1 ever one when you've played Battleships?
23:56:52 <Phantom_Hoover> I want to try compiling it so much.
23:57:02 <oerjan> <cpressey> The wikipedia article on Sudoku is in the category "NP-complete problems", but mentions nothing about it on the page. Yay Wikipedia
23:57:05 <Gregor-W> Phantom_Hoover: Your compiler would never forgive you.
23:57:13 <oerjan> hm i'm pretty sure i edited the NP part of that once
23:57:23 <Phantom_Hoover> C++ compiler. I don't care whether it likes me.
23:57:51 <Phantom_Hoover> Although that program is canonical C in its entirety, AFAIK.
23:59:08 <oerjan> cpressey: oh they've split things out into a Mathematics of Sudoku article
←2010-07-27 2010-07-28 2010-07-29→ ↑2010 ↑all