00:00:11 AnMaster, I've got a good chunk of the conversation, although from around halfway in. 00:02:48 Does Co-NP = NP? 00:03:02 http://sprunge.us/OgDa has some stuff 00:03:09 that's an unsolved problem, it's believed to be false. 00:03:24 Lawl, Madk marked Schrodilang while on his Madkap adventures of finding pages to delete :P 00:03:39 oerjan: Indeed, and seems somewhat more interesting than P?=NP, at least to me right now 00:04:00 cpressey: well P=NP would imply NP=co-NP 00:04:16 -!- MizardX has joined. 00:04:30 Sure, but everybody knows that P!=NP. The argument there is simple: A lot of very smart people have been trying to prove that P=NP and have gotten nowhere ;) 00:04:33 also if NP=co-NP then NP is so called _low_ for itself (you can answer NP questions freely inside an NP computation) 00:04:48 -!- augur has joined. 00:05:29 and then all that oracle hierarchy stuff NP^NP^NP^... collapses 00:05:38 Yes. 00:06:00 just like it did for NL when NL = co-NL was proved 00:06:35 NL being? 00:06:45 nondeterministic logarithmic space 00:06:48 ah 00:06:55 Wait, I have just realised that checkShips() doesn't do what I thought it did. 00:08:14 L \subset NL \subset P \subset NP \subset PSPACE is a famous sequence of inequalities. with the exception of L, NL != PSPACE none of those are proved to be different 00:08:21 oerjan: I have some ideas about co-NP, but they involve algorithmic information theory, which is somewhere I should probably not be treading. 00:10:09 oerjan: If we could prove P < Co-NP, we prove P < NP, don't we? 00:10:16 sure 00:10:43 P = Co-P and Co- respects inclusion 00:13:55 I don't stand a icecube's chance in hell of actually proving this, but I might as well give it a go, just to understand more about it. It's enlightening to see a conjecture crash on the rocks sometimes. 00:14:27 you know I don't think an icecube could prove much of anything.. 00:14:34 except maybe some physics 00:14:45 if we accept a very vague notion of prove 00:14:48 -!- genjix has joined. 00:14:55 It ... proved itself useful in keeping my drink cool? 00:15:15 ...that gets both a "ha" and a facepalm. 00:16:45 icecube proves second law of thermodynamics 00:17:23 in a tragic heroic manner 00:19:46 Complete guess: SAT with monotonic sentences (no NOT) is in P. Maybe even a greedy algorithm 00:20:11 You know, 00:20:14 if you set all variables to true, then it has to be true iff there is any satisfying answer at all 00:20:19 Exactly. 00:20:40 I still don't know why the bug manifested itself worse given some code and not as bad other code, but it seems to be completely squashed 00:20:58 also, monotonic circuit evaluation is P-complete 00:21:28 What about monotonic TAUT? 00:21:44 set all variables to false 00:21:46 -!- genjix has left (?). 00:22:26 oerjan: then it's just false 00:22:44 x AND y is not a tautology, but x AND x is 00:22:54 assuming you actually _have_ any variables 00:22:56 um no 00:23:04 it most certainly is not :D 00:23:06 wait yeh 00:23:41 the constant true is the only monotonic tautology 00:24:08 yes. 00:24:21 I was getting there, slowly :) 00:24:47 i recall a theorem related to the clones of post's lattice: basically satisfiability is in P unless the clone includes the implication function, in which case it's NP-complete 00:24:50 OK, I'm compiling Battleships. If I die, tell someone. 00:24:56 Clearly, its paucity of tautologies means that monotonic logic is superior. 00:25:39 oh not implication, but non-implication 00:26:06 http://en.wikipedia.org/wiki/Post's_lattice#Applications 00:27:29 presumably tautology is co-NP-complete iff it contains the dual of that function 00:27:38 Good old Post. 00:27:42 FUN FACT 00:27:48 He invented the Turing machine :o 00:28:09 And then went on to found his cold cereal empire 00:28:11 O_o 00:28:44 cpressey: i assume that's an american-only pun 00:29:21 oerjan: probably. http://www.thethriftymama.com/wp-content/uploads/2010/01/post-raisin.jpg 00:30:06 non-implication is A and (not B), so the dual is A or (not B), hm that's just implication reversed 00:30:08 Phantom_Hoover: HELLO? HELLO? ARE YOU STILL THERE? 00:30:11 OH GOD NOOOOOOO 00:30:16 He shouldn't have done it 00:30:22 THE FIRST DAY OF ETERNITY I CAN SEE IT NOW 00:30:47 Some days I love this channel. 00:31:03 Anyway, g'night folks :) 00:31:06 -!- cpressey has quit (Quit: Leaving.). 00:31:07 bye 00:31:15 http://pastebin.com/8EmX5cpS is my first game. 00:31:44 Note that all ships are on (1,1) and player 1's first hit takes out all of player 2's ships. Yet player 2 wins. 00:31:57 Phantom_Hoover: AWESOME 00:31:58 X-D 00:32:12 Gregor-W, omygodlet'smicrocosmit 00:32:20 omygodyes 00:32:24 It can be our flagship game! 00:32:35 a famous theorem is that _intuitionistic_ implication has PSPACE-complete satisfiability 00:32:43 Phantom_Hoover: Excuse me, I have to go sodomize myself with a rake first. 00:32:50 OK, you need to s/conio.h/termios.h/ and s/getche/getchar/ 00:33:12 OK, need to sleep. 00:35:59 maybe every set of boolean functions is either trivial or np-complete 00:36:07 I'M WAY BEHIND YOU 00:36:34 -!- Mathnerd314 has quit (Ping timeout: 260 seconds). 00:36:37 -!- Mathnerd314_ has joined. 00:36:48 -!- Mathnerd314_ has changed nick to Mathnerd314. 00:37:57 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 00:48:08 typeof(document.createElement("object")) == "function"; typeof(document.createElement("function")) == "object"; 00:55:09 fancy. 01:01:00 -!- augur has quit (Remote host closed the connection). 01:18:22 Attention anyone who hasn't yet: Vote in the poll in the /topic. kthx :P 01:20:51 -!- ski has quit (Ping timeout: 264 seconds). 01:24:02 -!- dbc has quit (Ping timeout: 246 seconds). 01:24:31 -!- dbc has joined. 01:26:37 -!- Gregor-W has quit (Quit: Page closed). 01:27:35 -!- ski has joined. 01:37:49 Gameplay now differs between DEBUG and RELEASE 01:48:54 lol 01:48:57 what changelog is this? 01:49:28 hmm... more people should vote for the last option, then we should do it anyways 01:50:52 coppro, it's my project 01:51:05 There is a reason for it, though 01:51:19 The change made to Release makes it difficult to repeatedly play the same puzzle 01:51:28 So I decided that it made sense to omit it from Debug 01:53:23 ah 01:53:32 I guess that makes sense 01:53:39 although you might provide another means 01:53:51 * coppro knows a game where -DCHEATS does all sorts of fun stuff 01:54:27 DEBUG partially means cheats at this point 01:54:39 Mostly, actually 01:54:52 things like the ability to edit any puzzle, warp, etc. 01:54:55 Oh, and occasional verbose output into chat 02:49:55 -!- SevenInchBread has joined. 02:52:10 -!- CakeProphet has quit (Ping timeout: 258 seconds). 02:58:13 -!- sshc has quit (Read error: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number). 03:00:29 -!- sshc has joined. 03:18:49 -!- BeholdMyGlory has quit (Remote host closed the connection). 03:36:13 -!- coppro has quit (Ping timeout: 276 seconds). 03:37:28 -!- coppro has joined. 03:39:48 -!- derdon has quit (Remote host closed the connection). 03:44:42 * Sgeo learns the value of naming conventions the hard way 03:49:52 * pikhq points, mocks 03:49:55 -!- Wamanuz has quit (Read error: Operation timed out). 03:52:30 Well, that's headache inducing 03:53:21 http://pastie.org/1064906 03:56:54 Woops 03:57:00 * Sgeo makes it a decimal parse 04:03:29 -!- jcp has quit (Quit: Later). 04:32:33 -!- GreaseMonkey has joined. 04:54:37 -!- augur has joined. 04:55:55 -!- jcp has joined. 05:02:09 -!- sftp_ has quit (Read error: Operation timed out). 05:11:40 -!- cheater99 has joined. 05:12:02 -!- SevenInchBread has quit (Ping timeout: 240 seconds). 05:16:27 -!- CakeProphet has joined. 05:17:53 howdy 05:17:58 !simpleacro 05:18:01 XBFOJMHXD 05:24:57 !show simpleacro 05:24:57 haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 05:26:35 Xanthine Boards For Only Jocular Machinists Have Xenocided Dogs 05:28:00 Ok, it's been too long since I've read Station V3 05:28:05 There's an entire new arc 05:30:17 !haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick =<< pick ["AEIOU","BCDFGHIJKLMNPQRSTVWXZ"])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 05:30:20 OEAGWN 05:31:28 !haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick =<< pick ["AEIOU","BCDFGHIJKLMNPQRSTVWXZ"])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 05:31:30 UWOEIAU 05:34:35 Two arcs 05:58:38 -!- CakeProphet has quit (Ping timeout: 240 seconds). 06:02:51 -!- CakeProphet has joined. 06:02:59 no see... 06:03:05 vowels don't really contribute to easier acronyms. 06:03:08 or better suited ones 06:05:25 -!- augur has quit (Remote host closed the connection). 06:05:30 -!- augur has joined. 06:05:33 grmbl 06:08:58 -!- CakeProphet has quit (Ping timeout: 276 seconds). 06:09:50 -!- sftp_ has joined. 06:10:05 -!- myndzi has joined. 06:10:31 -!- CakeProphet has joined. 06:15:26 -!- oerjan has quit (Quit: Good night). 06:20:04 -!- cheater99 has quit (Remote host closed the connection). 06:30:17 -!- sftp has joined. 06:30:39 -!- sftp_ has quit (Ping timeout: 240 seconds). 06:39:40 -!- GreaseMonkey has quit (Quit: New quit message. Entering 2006 in style.). 06:53:56 sftp = simple fart transfer protocol 06:53:58 hurr hurr hurr 06:56:28 Yeah ... that's "humor" 07:00:29 you guys just don't know what humor is 07:01:12 here's an example of good humor: 07:01:33 you die. I kill you. the last sound you make is the release of your bowels. 07:01:34 sftp == secure file transfer protocol 07:30:45 -!- Sgeo_ has joined. 07:33:32 -!- Sgeo has quit (Ping timeout: 240 seconds). 07:43:59 -!- coppro has quit (Remote host closed the connection). 07:52:44 -!- relet has quit (Quit: Leaving.). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:32 -!- tombom has joined. 08:14:34 -!- SevenInchBread has joined. 08:14:35 -!- SevenInchBread has quit (Client Quit). 08:14:51 -!- SevenInchBread has joined. 08:16:23 -!- CakeProphet has quit (Ping timeout: 248 seconds). 08:18:12 -!- SevenInchBread has quit (Read error: Operation timed out). 08:21:26 -!- CakeProphet has joined. 08:48:23 -!- CakeProphet has quit (Ping timeout: 248 seconds). 08:55:22 -!- CakeProphet has joined. 08:58:00 -!- tombom has quit (Quit: Leaving). 09:02:48 -!- Phantom_Hoover has joined. 09:15:27 -!- sftp has quit (Ping timeout: 240 seconds). 09:15:28 -!- sftp_ has joined. 09:18:13 I think if you type "lemon" as a target into that battleships game it counts as a hit. 09:18:38 Of course, this is all moot, since Player 2 must always win. 09:26:49 -!- CakeProphet has quit (Ping timeout: 265 seconds). 09:28:25 -!- CakeProphet has joined. 09:28:55 Hm. If you type "lemon" into scanf("%d", &target), it'll leave the whole lemon in the input stream (and not modify target at all); I guess it depends on getche whether it'll remove those characters from the stream later or not. If not, all future scanf's in the loop will do nothing much, since the lemon will still be there. 09:31:12 In any case target won't get modified unless you put some digits in, so I don't see why it'd necessarily count as a hit. Not that I've looked at the madness very closely. 09:32:04 Well, I think that it would bomb the same square as you did previously. 09:33:03 Yes, but is that a hit? Anyway, if you start with lemon, target'll be 0. 09:33:24 So I assume that the reason for the lemon thing was that the lemon blocks up stdin, meaning that you repeatedly bomb the same square, and he didn't check if you had hit a square before 09:33:37 And I had hit a square before 09:33:46 s/$/./ 09:34:11 Oh, okay. 09:34:21 Wait, this takes the cake. 09:34:34 Yes, I guess you can easily keep getting hits if you just bomb the same place over and over again. 09:34:50 It doesn't partition the two boards *at all*, so player 1 can hit their own ships. 09:35:53 Wait, maybe not... 09:37:14 It is melting my brain... 09:37:27 I think they're separate; player one's positions are in [shipname]p[idx], player two's (which the hit-test is against) are [shipname]p[idx]two always? Though it seems to only ask and initialize player one's ships. 09:38:02 -!- CakeProphet has quit (Ping timeout: 240 seconds). 09:38:06 No, it does read for player 2's ships, though their initialisation is questionable. 09:38:41 Oh, okay, in checkShips. 09:38:48 It was there in the middle, I had missed it. 09:39:34 That is a very easy mistake to make. 09:40:36 -!- atroo has joined. 09:42:45 -!- CakeProphet has joined. 09:58:00 -!- sftp has joined. 09:58:30 -!- sftp_ has quit (Ping timeout: 276 seconds). 10:06:18 -!- cal153 has quit (Ping timeout: 276 seconds). 10:08:23 -!- Quadrescence has quit (Ping timeout: 245 seconds). 10:08:58 -!- Leonidas has quit (Quit: Reconnecting). 10:09:01 -!- Leonidas has joined. 10:09:47 -!- Quadrescence has joined. 10:09:54 -!- cal153 has joined. 10:11:35 -!- Leonidas_ has joined. 10:11:54 -!- Leonidas_ has quit (Client Quit). 10:13:13 -!- Leonidas has quit (Client Quit). 10:13:19 -!- Leonidas_ has joined. 10:15:10 -!- Leonidas_ has changed nick to Leonidas. 10:19:02 -!- GreaseMonkey has joined. 10:31:35 -!- Slereah has quit (Ping timeout: 265 seconds). 10:32:43 -!- Leonidas has quit (Quit: An ideal world is left as an exercise to the reader). 10:33:33 -!- Leonidas_ has joined. 10:33:48 -!- Leonidas_ has changed nick to Leonidas. 10:37:25 -!- Slereah has joined. 10:56:16 -!- augur has quit (Remote host closed the connection). 11:10:52 -!- sftp has quit (Remote host closed the connection). 11:30:22 -!- GreaseMonkey has quit (Quit: New quit message. Entering 2006 in style.). 11:32:27 Why does Flash MOCK me? 11:32:56 "Oh, look, here's a clip on the iPlayer. BUT I'M NOT GOING TO LET YOU PRESS THE PLAY BUTTON!" 11:34:55 I've had some Flash clicking problems lately; the weirdest thing is that clicking seems to work if I right-click the Flash player context menu open, keep the right button down, and then left-click whatever it was I actually wanted to click. 11:35:13 Or just plain old attack the left button with ferocity, that also sometimes helps. 11:36:13 Sorry, I think the left-right-workaround more accurately was "open context menu; keep right button pressed; left-click once outside the context menu to dismiss it; left-click the original target; release right mouse button". 11:36:21 It makes no sense, but sense is not what it makes. 11:38:24 I'll try that... 11:39:58 Thanks, fizzie. Thizzie. 11:40:37 What, it actually did something? I was half-certain it was something unique to my somehow messed-up Flash. 11:41:28 64-bit Ubuntu, Flash from APT. You? 11:42:04 Well, the same. But actually I think my wife's PPC OS X laptop's Flash has had the same thing, albeit not at constantly. 11:42:21 Also the 64-bit Ubuntu, Flash supposedly from APT here at work has no problems clicking anything. 11:42:29 http://media.glennbeck.com/app/getfile.php?filename=../../../../../../../../../../../../../../../../../../etc/passwd%00 11:42:50 This is karmic instead of the lucid I have at home, though. 11:43:18 Quadrescence, Tut. 11:45:01 fizzie, it is a mystery, then. 11:46:37 On the other hand, left-clicking, that's not such a critical feature; only those hackery sort of power users do that. It's understandable that it might not work completely right everywhere. 11:47:28 grep sarcasm 11:50:02 * Phantom_Hoover wishes he'd taken that BBC Micro his friend offered him. 11:50:21 I could break into his house while he's out of the country... 11:52:40 Yes, and set fire to it! To, uh.. I'unno. To make him pay for you not taking it earlier? 11:52:53 The first "it" referring to the house, of course. 11:53:14 Regrettably, I don't know where he lives. 11:54:00 Well, I know which bit of Edinburgh he lives in and that he lives above a Chinese restaurant, which narrows it down a bit. 11:54:07 You need to just start breaking into houses; you'll hit the right one eventually. 11:54:21 Most probably won't have a BBC Micro in them, that'll also help. 11:59:13 -!- Wamanuz has joined. 12:04:02 Quadrescence: Directory transversal? 12:04:23 http://media.glennbeck.com/app/getfile.php?filename=../../../../../../../../../../../../../../../../../../../var/www/glennbeck/htdocs/bitrix/php_interface/dbconn.php%00 12:05:19 That's such an age-old problem, is nice that people still keep doing it. 12:05:59 redjel1o 12:08:32 Nice to know that Glenn Beck can afford competent web staff. 12:11:36 * Phantom_Hoover notes that the BBC nearly made a programme called "syntax era". 12:11:47 That one's worthy of oerjan. 12:20:21 -!- derdon has joined. 12:22:43 That's programme in the sense of "TV", in case that isn't clear. 12:34:56 Quadrescence, except that one doesn't work 12:35:04 "Warning: fclose(): supplied argument is not a valid stream resource in /var/www/glennbeck/htdocs/app/getfile.php on line 75
" is all you get 12:36:17 AnMaster, worked for me. 12:36:22 hm 12:37:03 Phantom_Hoover, maybe someone found putfile.php and broke it? ;) 12:37:16 still works for me 12:37:32 Same. 12:37:47 Evidently Glenn Beck doesn't trust you Swedes. 12:37:49 how strange 12:38:07 oh that %00 didn't copy properly 12:38:48 who is that glenn beck btw? 12:39:02 Weird right-wing commentator. 12:39:15 He probably doesn't trust the Swedish in any case. 12:39:37 anyway, adding %00 at the end of course solved it 12:39:54 Phantom_Hoover, right wing, I doubt he trusts open source then either? 12:40:04 yet he uses mysql and php 12:40:07 correct 12:40:23 AnMaster, yeah, but they aren't by FOREIGNERS. 12:40:37 Phantom_Hoover, mysql used to be developed by a Swedish company iirc 12:40:48 before Sun bought them 12:40:54 (and then Oracle bought Sun) 12:42:44 AnMaster, yeah, so it's a triumphant example of American businesses conquering the Swedish ones. 12:42:47 I assume someone already checked if one of those database passwords work for ssh login as well. I'm not going to do that. Might be going a bit too far. 12:45:04 btw it seems to be RHEL4 12:45:30 AnMaster: no 12:45:35 everyone has said the same thing as you 12:45:40 "IT'S GOING TOO FAR" 12:45:47 "BLA BLA BLA" 12:46:21 Quadrescence, only if trying to hack ssh with it. I don't think just looking at various files readable by the web server is going too far :P 12:47:18 Yeah, now we know Glenn Beck's favourite colour of jello. 12:47:51 sshd_config seems to be either in some unusual location, not installed, or not readable to the web server. ssh_config however is interesting, unless it is the default RHEL4 one, I don't have any red hat distro handy so can't compare 12:48:17 hm /usr/sbin/sshd is definitely there 12:49:05 /etc/shadow was inaccessible, at which point I gave up. 12:49:28 Phantom_Hoover, well you can still get /etc/passwd 12:49:35 that gives you the accounts 12:49:46 Indeed. 12:50:32 what does the php function trim() do? 12:51:21 Removes whitespace from both ends of a string. 12:51:27 ah 12:51:48 a pity there seems to be no way to get a directory listing 12:51:48 Okay, so not necessarily just whitespace; you can give it the character set to remove. 12:51:57 well this is called with just a string it seems 12:52:24 AnMaster: you are getting me excited 12:52:27 so I guess he only likes jello on his development box. There is one good thing here at least: He isn't developing directly on the production system 12:52:32 i want to see something cool happen 12:52:33 Okay, then it's the default set, which is whitespacey. (Apparently -- looked it up -- spaces, tabs, newlines, carriage returns, nul bytes and vertical tabs.) 12:53:52 vertical tab, my favourite control character 13:24:05 -!- BeholdMyGlory has joined. 13:26:22 What does the vertical tab even do? 13:28:16 Not much. 13:30:39 Technically speaking it should have approximately the same effect on the cursor as enough line feeds to get to next vertical tab stop, cf. horizontal tab and an amount of spaces. 13:32:33 Or in other words: "A format effector which advances the active position to the same character position on the next pre-determined line." (Whereas newline has the same description sans the word "pre-determined".) 13:32:39 What a waste of a code point 13:32:57 In this xterm it seems to advance to next line without moving to the beginning of the line, while a linefeed would nowadays. 13:33:12 htkallas@pc112:~$ echo -e 'foo\nbar\vbaz' 13:33:12 foo 13:33:12 bar 13:33:12 baz 13:34:47 Many of the ASCII control codes are not so very useful nowadays. When did you last use the "negative acknowledge" control code, for example? 13:35:22 (There's a nice listing in http://www.cs.tut.fi/~jkorpela/chars/c0.html of them.) 13:38:10 Yes, half the ASCII is useless 13:39:46 Pretty much only used ones are NUL, HT, LF, CR and ESC. 13:44:16 There's DC3/DC1 for flow-control purposes, and they've co-opted some for shell job control, like end-of-text (ctrl-c) that is still sort-of related in-theory a-bit. Oh, and end-of-transmission to send an EOF in. 13:45:25 In fortuitous circumstances you can also sometimes use BEL to annoy people.- 13:48:26 ^L is used in sources sometimes. 13:48:32 I have no idea why. 13:49:05 It's also used in usenet for spoiler-protection. 13:49:39 I've seen even graphical newsreaders handle it properly on that context. 13:49:51 Not sure about Google's webterface. 13:50:19 In sources I guess the author just wants all functions to start on a separate page. 14:00:55 -!- Mathnerd314 has quit (Ping timeout: 248 seconds). 14:21:39 hm fun 14:22:06 the OpenGenera docs uses IP-TCP instead of the (nowdays?) more common TCP/IP in several places. However it does use TCP/IP in a few places as well.. 14:26:28 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds). 14:37:16 I'm just reading http://en.wikipedia.org/wiki/Befunge#Befunge-93_instruction_list 14:37:49 is there an official way to escape double quotes in string mode? what if I want to push one or more double quotes to the stack? 14:45:14 If you want 'foo"""bar' on the stack, you could do something like: "foo#"1-::"bar" -- double quote character being '#'-1, after all. 14:45:51 If you're doing Funge-98, you could "foo"'""bar" instead. Some people have done ' in supposedly Befunge-93 interpreters as an extension, too. 15:09:17 stuff not following either standard is really annoying since it is impossible to know if any program expecting either of the versions will work 15:11:06 Since 93 doesn't really say what to do with undefined ops, it's reasonably safe to add new ones and still expect 93-compliant programs to work. 15:11:29 Can't safely use those in intended-to-be-portable code, of course, but that's another thing. 15:18:45 -!- cpressey has joined. 15:20:49 -!- derdon has quit (Read error: Connection reset by peer). 15:21:42 -!- derdon has joined. 15:27:19 -!- sshc has quit (Quit: leaving). 15:37:26 -!- Mathnerd314 has joined. 15:45:39 -!- MigoMipo has joined. 16:00:51 -!- oerjan has joined. 16:02:13 -!- Wamanuz has quit (Read error: Connection reset by peer). 16:04:03 -!- BeholdMyGlory has quit (Ping timeout: 264 seconds). 16:06:22 -!- relet has joined. 16:06:34 * Phantom_Hoover notes that the BBC nearly made a programme called "syntax era". 16:06:42 looks more like a spelling era to me. 16:07:34 party, oerjan! 16:07:45 fascist! 16:07:50 :ADSF 16:08:32 you and your contorted yoga positions 16:08:41 did i mention i think i solved my first open problem 16:08:47 ooo 16:09:12 *+n 16:09:14 it was sort of trivial so i sent the prof email so he can point out my error :D 16:09:20 ah. 16:10:12 "if a 2-directional AFA can go outside the string, to north and south, to a blank space, do we still get the regular languages" 16:10:54 my answer is "trivially not" 16:10:55 um does this mean if it cannot, you _do_ get regular ones? 16:11:02 yes 16:11:05 i proved it yesterday 16:11:12 i *think*. 16:11:29 um north and south? is this some weird 2-dimensional motion? 16:11:39 yes 16:11:51 the original question is about picture languages 16:12:04 "does it help to be able to go outside the pic" 16:13:04 that does sound weird that it should make a difference 16:13:25 can you go as far from the string as you want, or just one space? 16:13:26 just hover on top of the string and you can simulate a two-headed NFA 16:13:41 O_o 16:13:46 um, how? 16:14:05 guess what the cells to your bottomright and bottomleft have, check this, and move accordingly 16:14:30 if head on the right goes left, you go bottom-left etc 16:14:40 have to have some bookkeeping for even distances between heads 16:15:20 i still don't see this. how do you keep track of two heads simultaneously? 16:20:46 befunge is funny: "Integer division: Pop a and b, then push b/a, rounded down. If a is zero, ask the user what result they want." 16:21:11 -!- BeholdMyGlory has joined. 16:21:12 lol 16:25:54 -!- MigoMipo has quit (Ping timeout: 276 seconds). 16:29:00 what's the name of the game? 16:29:15 oklopol: Are you listening to ABBA again? Bad oklopol! 16:29:26 is that an abba song? :D 16:29:33 Sadly, yes 16:29:38 abba is the perfect band for formal language theorists tho 16:29:48 or theoreticians 16:29:49 And it's like the first thing that popped into my head when I read that 16:29:57 Because my parents are ABBA fans 16:29:59 * cpressey shudders 16:30:01 well for game theorists too. the winner takes it all. 16:30:06 :D 16:58:17 -!- MigoMipo has joined. 16:59:58 "most strings are complex in the sense that they cannot be significantly compressed: K(s) is not much smaller than | s | , the length of s in bits" -- wikipedia 17:00:17 K(s) being the Kolmogorov complexity function 17:00:43 anyone know: Is this true, and if so, where I can find a reference? 17:01:21 I'm certain it's true, I don't have a citation handy. 17:01:24 And if there is a precise notion of "most" 17:03:05 cpressey: it's a trivial application of the pigeonhole principle 17:03:31 you cannot compress most strings because there aren't enough smaller strings to compress them into 17:03:50 oerjan: OK -- I can easily see that for "there exists an uncompressible string" -- I guess it extends to a collection of string 17:03:54 *strings 17:04:23 well you know there are 2^n strings of length n, at _most_ half of them can be compressed at all 17:04:30 er 17:04:42 *length <= n 17:04:56 let me fix that 17:05:05 2^n-1 strings of length < n 17:05:27 and 2^(n-1)-1 strings of length < n-1 17:05:38 that gives about half, maximum, i think 17:06:03 if you compress by at least k bits, you can only do about 1/2^k of the strings 17:06:07 Everything you are saying makes sense. Actually, I'm sure I've seen it before, now, in another context. 17:08:47 So, define sumK(L) to be the sum of K(s) for every string s in the language L. Then sumK((0|1)^n) = O(2^n)? 17:09:25 Er, wait 17:10:15 Describing the language in English: L = {all strings of 0's and 1's of any length up to and including n} Then sumK(L) = O(2^n)? 17:12:01 I think so, but it would take me a while to draw it all out 17:18:24 -!- Phantom_Hoover has joined. 17:18:41 P******_H*****! 17:19:43 O(2^n * log n), perhaps 17:21:49 OK. Well, 17:21:59 * cpressey hits head against wall 17:22:21 (you need to actually store the strings, not just count them :D) 17:22:57 er wait duh 17:22:57 I was actually hoping for >= O(2^n), and that works. But now I think I see why it doesn't even matter. 17:23:05 O(2^n * n) 17:23:29 I know, abuse of O() there. I believe it's o() for lower bound? 17:23:36 -!- Gregor-P has joined. 17:23:44 no, that's Omega 17:24:26 oh right, i was confusing omega with theta 17:24:31 o() is like O() but stricter, ratio must approach 0 rather than being bounded by a constant 17:24:59 anyway, later 17:25:00 haha 17:25:02 small theta 17:25:05 :D 17:25:21 -!- oerjan has quit (Quit: Bye). 17:25:29 * oklopol is funny 17:25:41 -!- jcp has quit (Ping timeout: 265 seconds). 17:27:54 What algorithm are we talking about? 17:29:08 Phantom_Hoover: Compress all possible strings of length n or less, basically. 17:29:28 cpressey, can that even work? 17:29:46 Pigeonholing would make it impossible. 17:30:59 -!- jcp has joined. 17:31:36 Phantom_Hoover: Er, I mean "compress them all as far as possible, even if that means 0% compression for some of them, which it does". 17:32:21 It means -% compression if anything is compressed at all 17:32:59 Well, I was looking for a lower bound, so I was happy to ignore expansion 17:35:51 By expansion do you mean making a few strings much larger? 17:36:32 Phantom_Hoover: Well, somewhat larger, yes. You should never need to make a string much larger. 17:37:10 I assumed you meant expansion by "-% compression". 17:37:16 Yes. 17:37:33 But you would need some kind of definition of "useful" for that. 17:37:42 -!- Wamanuz has joined. 17:43:00 -!- Mathnerd314 has quit (Read error: Connection reset by peer). 17:43:01 -!- Mathnerd314_ has joined. 17:43:16 -!- Mathnerd314_ has changed nick to Mathnerd314. 17:43:38 Phantom_Hoover: This is all pretty pure theory -- no usefulness express or implied :) 17:44:01 cpressey, but then how do you decide which strings to expand or compress? 17:44:28 Phantom_Hoover: Try compressing them all. Any ones you can't compress, leave be. 17:44:44 cpressey, pigeonholing, though. 17:44:57 Phantom_Hoover: ? 17:45:04 You'll have to embiggen some of them. 17:45:31 Phantom_Hoover: By a constant amount, only, which could be ignored even if I wasn't looking for a lower bound. 17:45:48 I'm not sure what your concern is 17:45:52 -!- cheater99 has joined. 17:46:14 cpressey, are you trying for the biggest average compression? 17:48:10 No. I have a set of all possible strings of length n or less. I want to compress them all and stick them on a disk (say), and I want to know the order of how much space that'll take. According to oerjan, it's omega(2^n * n). I'm happy just knowing it's omega(2^n). 17:48:43 Well, I'm not happy, exactly, but yeah. 17:50:02 -!- cheater99 has quit (Ping timeout: 240 seconds). 17:53:13 It's kind of a rabbit hole, because "set of all possible strings of length <= n" is sort of a theoretical worst case. Hey, actually, if you knew the set contains all possible strings, you could compress the whole thing very well -- just write a program to generate them! 17:58:57 -!- Gregor-W has joined. 17:59:15 -!- Gregor-P has quit (Quit: Bye). 18:00:01 -!- Mathnerd314_ has joined. 18:01:01 -!- atroo has quit (Quit: Abandonando). 18:02:00 -!- Mathnerd314 has quit (Disconnected by services). 18:02:08 -!- Mathnerd314_ has changed nick to Mathnerd314. 18:04:14 -!- cheater99 has joined. 18:05:07 * Phantom_Hoover has a strange desire to write a processor emulator 18:05:45 I get those sometimes... 18:09:35 It was weirdly directed at the 6502... 18:09:57 http://www.devtopics.com/category/languages-obscure/ 18:10:03 Apparently Haskell is "obscure". 18:10:03 I don't think that's realistic, though, since I have no idea how a 6502 works. 18:10:17 cpressey, they deserve what's coming to them 18:11:16 I think by "obscure" he means "script kiddies haven't heard of them". 18:11:24 I guess so. 18:12:33 -!- cheater99 has quit (Ping timeout: 245 seconds). 18:13:07 6502 is not a particularly complex processor, so it's a reasonable project. 18:14:02 "The Cyclone programming language is a safe dialect of C." 18:14:10 How can that possibly work? 18:14:22 Er -- I used to know 18:14:30 Phantom_Hoover: How about instead of writing a processor emulator, you make an existing processor-emulator (JSMIPS) better? :P 18:14:53 Gregor-W, does that stand for JS? 18:15:01 s/JS/JavaScript/ 18:15:08 Yes, JS does stand for JS :P 18:15:21 It even stands for JavaScript 18:15:32 Phantom_Hoover: It works by adding semantics to C to allow for static and runtime memory safety. 18:15:49 Phantom_Hoover: the wikipedia page gives an overview. Pointer arith is restricted, importantly. 18:15:56 Most obviously, it adds multiple types of pointers 18:17:28 I'll bet it would be really difficult to write an interpreter with a garbage collector in Cyclone :P 18:17:50 -!- cheater99 has joined. 18:18:10 Gregor-W, I have JS trauma. 18:18:15 Cyclone appears to provide GC itself 18:18:53 cpressey: Ahhhhh well that makes sense then, I guess the real question should have been how it could be safe without GC, but I guess the answer is it has GC :P 18:19:10 Phantom_Hoover: But JS is lurrrrrrvely! 18:19:28 Hmh? It could be safe without GC 18:19:33 Gregor-W, I believe I mentioned the cause of the trauma yesterday. 18:19:54 Phantom_Hoover: JSMIPS probably doesn't work on IE5 :P 18:20:25 Gregor-W, I, being sane, used Safari or Firefox. 18:21:12 It was more being asked to write the same program about 5 times. And then test it thoroughly. 18:22:01 The point was to check that an integer was within certain bounds, and sometimes whether you were in jail. 18:22:05 cpressey: Yes, that'd require static checking of all allocations. 18:22:28 When I pointed out that if you were in jail you'd be unlikely to answer honestly, no-one listened. 18:22:52 pikhq: It makes no claims of being *statically* safe 18:23:21 cpressey: Yes; hence the GC. 18:23:25 :) 18:23:48 OK, I give up then 18:24:11 * Phantom_Hoover really needs to stop bitching about that 18:28:07 How does GC make it safe while lack of GC would make it not safe? 18:29:28 cpressey: I pass a pointer into a complex maze of functions, one of which frees it. Now I use that pointer. 18:29:48 How does GC make that safe? 18:30:03 I can't free it. If I have references to it, it won't screw up. 18:30:14 But Cyclone has a free(). 18:30:19 It also does region analysis. 18:30:21 It does? Well that's just stupid. 18:32:28 I guess how I see it is, it's not GC that makes that safe, it's lack-of-dangerous-free. Whether you reclaim the memory or not is moot. (Useful in practice, sure, but moot for safety, because you will *always* be able to run out of memory at some point.) 18:32:59 -!- cheater99 has quit (Ping timeout: 240 seconds). 18:37:01 -!- cal153 has quit. 18:39:19 Gregor-W, moreover, I don't actually know what MIPS is. 18:41:17 It's a nice, clean, simple RISC. 18:41:33 Many SGI boxes run on MIPSy things. 18:41:47 (Also many other things do.) 18:42:09 Is there no better language to do this than JS? 18:42:24 Possibly (maybe even probably), but then it wouldn't run in your browser. 18:42:37 Having Vim in a browser is something I wholeheartedly support. 18:43:20 Also there are existing MIPS emulators in non-JavaScripty scenarios, so it wouldn't have such novelty value. 18:44:10 (At least SPIM, which was used on our MIPS assembly programming course, but I'd hope there's something more serious too.) 18:45:08 What kind of clock speeds does it get? 18:45:45 Oh, right, qemu does MIPS too. 18:46:05 Which, the architecture or the emulators? 18:46:30 I don't think SPIM is very fast at all, it's designed for educational purposes. 18:49:19 fizzie, JSMIPS/ 18:49:56 Ohhh. Well, I'll let Gregor-W answer that one; I haven't really played with it. 18:49:57 -!- nooga has joined. 18:50:43 Gregor-W, what clock speed does JSMIPS run at, on modern hardware? 18:51:26 It might depend on what you're doing, anyway. 18:55:29 Heh, nice 6502 trivia bit in Wikipedia: "The 6502 was introduced at $25 at the Wescon show in September 1975. The company had an off-floor suite with a big jar full of the chips. However with this early run they only had a handful of working ones. To give the appearance of larger quantities, the bottom of the jar was stuffed with defective chips, and only the ones at the top of the jar worked.[3] At the same show the 6800 and Intel 8080 were selling for $179.[4 18:55:30 ] At first many people thought the new chip's price was a hoax or a mistake, but while the show was still ongoing both Motorola and Intel had dropped their chips to $79.[5] These price reductions legitimized the 6502, which started selling by the hundreds.[3]" 18:59:56 Baah, where's oerjan? 19:01:13 He's busy being Norwegian. 19:01:30 The nerve. 19:02:12 The norwe. 19:03:20 -!- Gregor-W has quit (Ping timeout: 252 seconds). 19:04:23 pikhq, that does it! I am definitely buying "Conquering Norway for Dummies". 19:05:19 -!- MizardX has quit (Read error: Connection reset by peer). 19:05:39 -!- MizardX has joined. 19:10:03 Phantom_Hoover: Better than "Conquering Russia". 19:10:39 pikhq, CNfD has the approval of the King of Sweden. 19:15:01 Of course it does. 19:15:01 -!- Sgeo_ has quit (Ping timeout: 265 seconds). 19:17:12 -!- cal153 has joined. 19:22:58 so the JSMIPS actually reads ELF compiled for some MIPS unit and runs them in a browser? 19:24:05 -!- augur has joined. 19:25:37 nooga, premusably. 19:26:21 I don't think it *quite* does; there are some (very small) GCC patches you need to apply before you have a cross-compiler that can produce JSMIPS binaries. 19:27:15 a friend of mine, quite good hardware hacker btw, said 'WTFIDONTEVENWTFWTF' when he saw our wiki and Greg's creations 19:28:12 I think it's still an ELF system, there was just a tiny bit of trickery. 19:28:46 At least the binutils patches seem to mostly just add mips*-*-jsmips* into the mips*-*-elf* line of the config script. 19:28:50 -!- Sgeo has joined. 19:29:04 sick 19:29:38 * Sgeo coughs on nooga 19:34:18 fizzie: copypaste the following on the channel w/o quotes please ":d:D:D:D:Dd:Ddddd:-D:DDDDD" 19:34:27 preferably not right away 19:34:51 i wanna see you smile 19:35:06 Is ":d" a smile? 19:35:13 Here I thought it was something that would make EgoBot freak out 19:35:42 It looks as if you surprised me during a tooth-brush experience. 19:35:47 My client certainly thinks :D is a smile, it translated it into a little yellow head smiling its face off 19:36:20 :d is a smileY 19:36:34 nooga, Gregor is very good at cross-compilers. 19:40:42 btw. i'm implementing modified SADOL as an OS for plain 8088 computer that we've build from spare ICs and some wires 19:41:20 since it can talk via xmodem with the internet... it's getting more and more interesting 19:43:49 * Phantom_Hoover has just noticed that Eminem seems to have an ego to rival Wolfram's. 19:48:06 A New Kind of Hip-Hop 19:52:29 "yo yo check out my homie wolfram calculating the mic, while i'm stealing your bike" 19:53:04 ah, massive 19:58:35 The mic? 19:59:06 Why would one calculate a microphone? 20:00:31 i don't know 20:00:43 but wolfra is calculating 20:00:48 Perhaps it could be Turing complete. 20:00:55 Thought that's more our territory. 20:01:31 -!- Gregor-W has joined. 20:01:44 Phantom_Hoover: I don't have a canonical "clock speed" 20:02:03 It's fast enough to run vim on Chrome at full-speed and pretty OK on Firefox. 20:02:34 Also it doesn't have every instruction take the same amount of time, it's not that accurate an emulator (it's just an ISA emulator) 20:03:02 And some instructions are slow for really stupid reasons, e.g. addition is slower than bitwise math because I don't have integers in JavaScript. 20:03:40 And so... You *implemented* integer arithmetic. Wows. 20:04:25 http://codu.org/projects/jsmips/hg/index.cgi/file/e87fc75afcb6/nomath.js <-- in the best-named file EVER. 20:05:24 Gregor-W, so that's why it's slow, presumably. 20:05:43 You're doing tonnes of JS for multiplication. 20:06:20 -!- Gregor-P has joined. 20:06:52 while i'm making the world Turing complete, my CAs are boxing the beat yo 20:07:02 prepare for your bitter defeat 20:07:04 huh 20:07:11 i suck at freestyle 20:07:30 Not as much as I would. 20:13:01 -!- coppro has joined. 20:13:53 also I suck at English 20:13:59 Gregor-P, how often are the nomath functions used? 20:16:53 -!- tombom has joined. 20:27:20 -!- coppro has quit (Remote host closed the connection). 20:29:01 Is it a bad idea to have an emulator that emulates the processor to the pin level? 20:33:12 Phantom_Hoover: For some applications you'd want that, I think 20:33:21 I think so too. 20:33:44 I decided that it's the closest thing I'm going to get to a home-made computer, given my laziness. 20:37:34 -!- Gregor-W has quit (Ping timeout: 252 seconds). 20:43:06 no 20:43:22 making own computer is suprisingly easy 20:43:42 just read proc's datasheet, assemble and enjoy 20:44:15 I've done it 20:44:21 It requires getting up! 20:44:40 It requires stripping wire 20:44:56 http://www.youtube.com/watch?v=19txZDTkbBw 20:45:00 even i've done it 20:45:02 Unless you like etching PCBs or doing something else creative 20:46:16 It also needs a soldering iron, which I haven't got. 20:46:25 no it does not 20:46:28 watch the vid 20:47:02 Stop discombobulating my arguments! 20:51:08 sorry :{ 20:53:43 Look at them! 20:53:55 They have no combobles! 20:55:22 Phantom_Hoover: Everywhere, they're the fundamental math primitives. 20:55:50 Gregor-P, surely that accounts for a lot of slowdown? 20:57:09 Phantom_Hoover: Yup 20:57:40 So is there a feasible way to get rid of it? 20:57:58 Nope. 20:58:12 Well, that sucks. 20:58:40 Define a MIPSIJ machine 20:59:15 It handles all integer math, you need it for the whole thing. 21:00:10 What's wrong with the built-in integer maths? 21:00:17 Define a MIPSIJ machine whose instructions are like MIPS but which supports arithmetic identical to what JS natively supports. Then tweak the MIPS compiler backend to produce MIPSIJ. 21:00:45 does gcc still support 16 bit archs ? 21:01:03 JS doesn't have any built-in integer maths, is probably the problem. All the numbers are double-precision floats. 21:01:25 What 21:02:13 But why does that stop you from using the built-in stuff for integer operations? 21:02:32 A 32*32 bit multiply doesn't fit in a double, it needs to be faked, I assume. 21:02:49 As for addition and such, you'll have to wrap it around manually. 21:04:38 It's overflows that are the issue. 21:04:39 As for GCC, I don't think at least the stock one supports any 16-bit archs. 21:05:05 MAX_INT+1 should wrap. 21:06:24 -!- ais523 has joined. 21:07:25 Gregor-P: I wonder how often C programs rely on that. You could turn it into a processor trap 21:07:35 Or whatever MIPS has for that sort of thing 21:08:07 Specifically, I wonder if VIM relies on that 21:08:15 You'd still need to test for it every time, though. 21:08:40 A test would be faster than this mul32... thing 21:08:44 cpressey: EVERYTHING relies on that 21:09:01 Subtraction relies on it, I guess. 21:09:23 Or adding negative numbers, anyway. 21:09:43 -!- Gregor-W has joined. 21:09:55 Wait, just because C specifies the bits appear in a certain way does not mean every C program relies on it. 21:10:08 cpressey: And yet, they do. 21:10:12 cpressey: Believe me :P 21:10:14 They really, really do. 21:10:20 cpressey, OK. C programs without subtraction might not. 21:10:33 After having munged that nomath.js a billion times and broken it in horrible ways and fixed it and broken it again, oy. 21:10:35 They so, so do. 21:10:52 OK. 21:11:03 Was just wondering. 21:11:43 The multiplication sounds worse, though. If you just blindly multiply two 32-bit numbers, I guess the default double maths will cheerfully perform the multiplication but lose precision in the result, since the significand has just 52 bits. 21:11:59 Yup 21:12:34 OK -- communicate with a Java app running on the same page, have it do the integer arith for you. 21:12:35 Har. 21:12:53 BRILLIANT 21:13:07 The thing is, you guys, it's really not that slow :P 21:13:16 Or maybe a SOAP web service that you can post XML "multiplication requests" to? 21:13:23 The overhead of talking to a Java applet is probably much higher ;) 21:13:45 Also, compilers avoid MUL like the plague. It's not super-common. More common than DIV of course, but not super-common. 21:13:54 The array construction in mul32 would make me nervous, but of course I know very little about the cleverness of JavaScript implementations. 21:13:55 ok, this is ridiculous: I was just emailed by ESR 21:14:12 ais523: That's already ridiculous, but go on. 21:14:29 Gregor-W: wtf I just realized mul32 is *recursive*. Good job! 21:14:31 basically, he was looking to ask me to cooperate on the next INTERCAL release 21:14:35 cpressey: Yup! 21:14:45 because Knuth had asked him for one 21:14:46 cpressey: The scariest part is it works. 21:14:59 Gregor-W: is that gcc's mul32, or someone else's? 21:15:15 I forget where I got it from, I wrote that years ago :P 21:15:24 ais523: Thank you for bringing today's "scary quotient" up to quota. 21:15:38 I know, I'm pretty scared too 21:15:40 Gregor-W: it certainly is better than my "// TODO: implement DMULS.L" that I had in a JavaScript SuperH-3 core. 21:15:49 ais523: I think it's of vital importance that you do this >: ) 21:15:51 I'm not sure whether to expect a huge collaboration or a trademark infringement lawsuit 21:16:04 ghee 21:16:23 BTW, feel free to go to http://codu.org/jsmips/system.html and see that JSMIPS does in fact work. 21:16:24 i need C compiler that targets 8086/88 21:16:32 nooga: OpenWatcom 21:16:41 Open... ah, I'm so slow. 21:16:42 I just used the rexec protocol 21:16:44 guess why 21:16:58 AnMaster: Because you were out of rakes? 21:17:15 Gregor-W, joke detected but not identified 21:17:24 Unidentifiable :P 21:17:34 # cd bin                                                                         21:17:34 # ls                                                                             21:17:34 out of memory 21:18:14 cpressey: What terrible browser is this? :P 21:18:23 Gregor-W: FF 3.6.6 21:18:31 other things about the system I used it against: nmap could only identify these services: ftp, smtp. However other open ports include: 59, 79, 80, 111, 259, 261, 262, 512, 514, 517 21:18:32 Oh, it downloads and loads everything in ./bin if you "ls" it? 21:18:38 Heh, this seems like it'll take a moment. 21:18:42 ./bin/vim loaded. \ \ E418: Illegal value: %s 21:18:46 fizzie: Yeah, that's bad. 21:18:54 fizzie: Haven't fixed it yet. 21:18:58 Anyway, just run vim :P 21:19:00 Stop listing stuff. 21:19:03 Gregor-W, any guess about this system? 21:19:09 AnMaster: Nope! 21:19:11 Oh, OK, it's working now 21:19:13 Gregor-W, OpenGenera! 21:19:27 vim is missing a few syscalls, but runs *shrugs* 21:19:44 AnMaster: ... ow. 21:19:46 Gregor-W, I think both OpenGenera and nmap went spare from trying to nmap it. 21:19:47 -!- Mathnerd314_ has joined. 21:19:50 jsmips vim? 21:19:57 ais523: Yuh 21:20:02 For the record, my FF 3.6.7 was capable of listing bin (and running vim), though a bit slowly. 21:20:05 go for it! 21:20:07 Gregor-W, you need to make jsOpenGenera 21:20:20 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 21:20:34 Oh I'm sorry. I'm a FF 3.6.8 now 21:20:45 -!- Mathnerd314_ has changed nick to Mathnerd314. 21:20:57 echo -e '\0Lisp-Machine\0\0Help Commands\0' | netcat 10.0.0.2 514 21:20:59 that works 21:21:08 assuming you are not logged in on the lisp machine at the same time 21:21:28 if you are, it returns an error stating "This machine is in use by " 21:21:50 Lisp-Machine there is my user name 21:22:29 -!- Mathnerd314 has quit (Read error: Connection reset by peer). 21:22:51 AnMaster: NO U 21:22:53 -!- Mathnerd314_ has joined. 21:22:59 Gregor-W, XD 21:23:03 Gregor-W, then go work on microcosm 21:23:08 -!- Mathnerd314_ has changed nick to Mathnerd314. 21:23:14 AnMaster: NO U 21:23:22 ais523, ESR has called upon you to help him make an INTERCAL release for Knuth? 21:23:32 Gregor-W, YES YOU 21:23:33 That could easily become awesome. 21:23:45 Did he ask you to come to his volcano base? 21:23:48 Phantom_Hoover: that statement, while correct, is too ridiculous for me to verify without bursting out into laughter 21:23:49 Phantom_Hoover, wait what? Where did ais523 state that? 21:23:57 AnMaster: earlier when you weren't paying attention 21:24:08 ais523, oh when I was nmaping opengenera then I guess 21:24:20 intercal release for knuth? 21:24:27 how would it differ from normal releases? 21:24:33 now I'm all confused 21:24:34 no idea; probably it wouldn't 21:24:39 In addition to OpenWatcom, I think I did run across bcc -- http://dir.filewatcher.com/d/NetBSD/1.5/i386/bcc-95.3.12.tgz.83488.html -- earlier; it's very small and limited and early ("K&R1 syntax"), but I guess you can still call it a C compiler, and it targets 8086. 21:24:46 ais523, Or maybe like this: 21:24:54 write gcc backend for MMIX 21:24:59 ais523: It'd be just like any other INTERCAL release, except with better typography. 21:25:00 use that to compile ick 21:25:08 fizzie: I've used bcc, it was one of the build dependencies of virtualbox 21:25:13 AnMaster: GCC already *has* a MMIX backend, I think. 21:25:19 INTERCWEBAL 21:25:25 cpressey, or that 21:25:33 fizzie: well, INTERCAL's main manual has moved from nroff to Texinfo 21:25:39 so it is being TeX-typeset nowadays, indirectly 21:25:40 -!- Gregor-W has quit (Quit: Page closed). 21:25:42 literate programming in intercal would be kind of weird-awesome 21:25:56 fizzie, I guess the world is more awesome than I thought 21:26:05 it's actually relatively easy in CLC-INTERCAL 21:26:10 DO ABSTAIN FROM COMMENTS 21:26:14 At least the 4.5.0 manual has a chapter on MMIX, http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/MMIX-Options.html 21:26:17 then write anything you like, so long as it doesn't look like code 21:26:35 There's a funnily named "-mknuthdiv" flag. 21:26:36 ais523, what about the please ratio? 21:26:49 good point 21:26:50 but then, you only need 1/5 21:27:01 and as each comment would count as one statement, you'd have plenty of actual commands to put pleases on 21:27:06 ais523, are you willing to give quotes? 21:27:22 fizzie, heh 21:27:36 Phantom_Hoover: as in, quotations, or as in hypothetical bills for work I haven't agreed to do yet? 21:27:48 Quotations from ESR's mission for you? 21:28:02 "Your mission, should you choose to accept it, ..." 21:28:02 not yet, there's not much to say yet 21:28:07 maybe at some point 21:28:23 * Phantom_Hoover has an amazing revelation 21:28:30 Valinor is Australia! 21:30:00 ais523, does he actually say why Knuth wants him to do this? 21:30:11 no, basically no info yet 21:30:21 also, you're asking a load of questions I don't know the answer to, that's AnMaster's job 21:30:56 Yes, you'd better not be barging on his "turf". 21:31:00 OK. I'll stick to easy ones. 21:31:14 Is Wolfram's 3-state Turing machine universal? 21:31:59 I wonder if my sed understands UTF-8 or whatever the heck this is 21:33:53 My 'sed' at least seems to treat input as bytes: "echo ä | sed -e 's/\xc3/Q/' | iconv -f iso-8859-1" => "HAH¤"; so it picked the 0xc3 first-byte of ä without interpreting it as a single unit. 21:34:09 I'm trying: find . -type f -exec sed -i 's/ú/ú/g' {} \; 21:34:27 Guess we'll see, huh 21:34:30 That sounds like it should work even when interpreting as bytes. 21:35:29 I assume modern INTERCALs support Unicode? 21:35:42 cpressey: depends on what you mean by "support" 21:35:46 In some idiomatically INTERCAL-esque fashion? 21:35:47 they are capable of reading Unicode, yes 21:36:00 -!- cheater99 has joined. 21:36:15 DUDES 21:36:22 UTF-8 is even pleasant enough that you can't have two >= U+0080 UTF-8-encoded characters next to each other so that some substring that contains parts of both would be valid UTF-8 too, so a "s/ú/.../" shouldn't match anything else than real characters. 21:36:31 i've temporarily taken over a project that manages uranium storage and transport 21:36:35 and! it's written in php 21:36:51 I suppose this means we're all going to die. 21:37:02 So, the "scary quotient" just kind of skyrocketed 21:37:03 is that fantabulous or what ^_^ 21:37:22 So... radiation: it's what's for dinner? 21:37:50 yes 21:37:50 we are 21:37:54 cpressey: let's just say, some characters have encoding-specific meanings 21:37:59 AND 21:38:08 Vala natively uses UTF-8 21:38:15 as in, what various operators do depend on the encoding which they were written with in the source code 21:38:19 this is one of the biggest companies in europe 21:38:21 for that shit 21:38:28 ais523: Sounds about right! 21:38:33 Which is refreshing, after Python's implenentation dependent "Do we do it correctly, or not?" 21:39:31 cheater99, why does PHP → we're all going to die? 21:39:51 also, you're asking a load of questions I don't know the answer to, that's AnMaster's job <-- Does that mean I have a "license to ask such questions" kind of thingy? 21:39:56 BECAUSE TURQUOISE. 21:40:03 AnMaster: well, it annoys me whoever does it 21:40:11 but at least from you it's expected 21:40:33 Is there anyone that could help me with my little BitBlt problem? 21:40:36 Phantom_Hoover: I've worked at large corporations which won't even use PHP to sell books. 21:40:45 Sgeo> Flonk, ask on #esoteric? 21:40:45 Sgeo: yeah well its C++, so not that esoteric :P 21:40:56 cpressey, Wikipedia trusts it... 21:41:06 -!- Flonk has joined. 21:41:23 Phantom_Hoover: To perpetrate questionable information -- sure, it's good at that 21:41:30 cpressey, ha. 21:41:31 Wait, perpetrate? 21:41:42 Flonk, what is your esoteric question? 21:41:44 `addquote (in #irp) Flonk, ask on #esoteric? Sgeo: yeah well its C++, so not that esoteric :P 21:41:56 200|(in #irp) Flonk, ask on #esoteric? Sgeo: yeah well its C++, so not that esoteric :P 21:42:20 cpressey: I thought "perpetrate" was the usual verb for creating an INTERCAL compiler 21:42:36 Phantom_Hoover: nothing :) But If someone in here could help me with C++, thatd be awesome 21:43:04 C++ is an esolang of unprecidented complexity, so it does seem appropriate here 21:43:12 Has your compiler attacked you with a fork or other piece of cutlery 21:43:13 ? 21:43:31 not yet 21:44:02 In full seriousness, there is a ##C++ 21:44:07 What seems to be the problem? 21:44:12 well, so my question: 21:44:17 Sgeo, STOP RUINING THINGS 21:44:36 We won't mind if you ask here 21:44:43 yep, this channel's off topic half the time 21:44:57 and enough of us fail to know C++ less than average that we might be able to help 21:45:37 case WM_PAINT: 21:45:38 hdc = BeginPaint(hWnd, &ps); 21:45:40 bitDC = CreateCompatibleDC(hdc); 21:45:42 paint_frac(bitDC); 21:45:43 BitBlt(hdc, 0, 0, width, height, bitDC, 0, 0, SRCCOPY); 21:45:45 DeleteDC(bitDC); 21:45:47 EndPaint(hWnd, &ps); 21:45:48 the problem is, it doesnt do anything. 21:45:49 paint_frac basically just draws lots of lines, and works fine if i use it on the window dc (hdc) 21:45:51 But I have my problems with memory DC's, so it seems 21:46:05 AAAAAAAAGH GUIs 21:46:17 I'm sorry. 21:46:37 * Phantom_Hoover sobs 21:47:10 * Sgeo is GUI-disabled after having learned VB5 as a first language 21:47:21 Or at least, that's what I claim 21:47:22 "Before an application can use a memory device context for drawing operations, it must select a bitmap of the correct width and height into the device context. This may be done by using CreateCompatibleBitmap to specify the height, width, and color organization required in the function call. " 21:47:39 hmm, is that Win32 API? 21:47:45 I used to use that a lot 21:47:51 ais523: it is 21:47:54 Sgeo, VB5? 21:48:02 It is unmistakably it. 21:48:05 I will never again bemoan my first use of Pascal. 21:48:11 cpressey: alright! thanks :) 21:48:15 anyway, I'm not convinced that bitDC is the right sort of DC at all 21:48:29 at least, I'd expect there to be memory backing it somewhere 21:48:34 its just aa variable name 21:48:45 I know, but normally I used MemoryDCs for that sort of thing 21:48:49 Flonk: Note that I am running about 90% on intuition here. I googled CreateCompatibleDC, skimmed the first page that came up, picked a paragraph, and copied it here. 21:48:53 hmm, let me try to find some code I wrote to remind me about how it works 21:49:07 Also, BitBlt returns a bool; check it first. If it's zero, do GetLastError once. 21:49:33 yeah well, if it doesnt work I'll notice it :P 21:49:49 sometimes it's useful to know whether the computer thought it worked 21:49:53 regardless of whether it actually worked 21:50:35 hmm, it seems I never /did/ make my DCs by hand, I always used a third-party library 21:50:42 so I can't really help, as my memory of how this works is all wrong 21:50:47 yeah, but thats basically the whole program 21:50:58 ais523: okay :) thanks anyway 21:51:48 And if the computer thought it didn't work, it's usually useful to know why it thinks so. 21:52:22 * cpressey wonders why so many are GUI-adverse in this channel 21:52:51 cpressey: my guess is that it's because we're used to doing the sort of horrendously complex things that command lines can do but GUIs generally can't 21:53:07 I imagine half this channel could write a nontrivial shell script 21:53:14 and the only real reason the other have couldn't is that they use Windows 21:53:22 and thus don't have a decent shell-script interpreter 21:53:43 ais523: perhaps, perhaps... 21:54:12 Okay, yes. 21:54:27 MSDN on CreateCompatibleDC: "When the memory DC is created, its display surface is exactly one monochrome pixel wide and one monochrome pixel high. Before an application can use a memory DC for drawing operations, it must select a bitmap of the correct width and height into the DC. To select a bitmap into a DC, use the CreateCompatibleBitmap function, specifying the height, width, and color organization required." 21:54:44 So it's not enough just to create a DC like that. 21:54:52 DC? 21:54:56 that pretty much matches my memory of the general way you do things, even if I don't know any of the function names as I wasn't using them 21:55:01 Phantom_Hoover: basic Windows unit of graphics 21:55:06 in the sense of "one window, one bitmap, etc" 21:55:09 rather than in the sense of "one pixel" 21:55:15 Ah. 21:55:22 fizzie: Ha! My intuitive leap is justified by actual research. 21:55:30 Device Context; it has pen attributes and things like that in it. 21:55:34 well, used to be 21:55:35 -!- nooga has quit (Ping timeout: 260 seconds). 21:55:51 it's a GDI32 concept, and that whole toolkit's deprecated nowadays 21:56:00 because Microsoft keep changing their mind about how best to do graphics 21:57:44 Gregor: ^C ^V ^X do some interesting things to the JSMIPS term 21:58:18 In other news, I tried recently to do a custom-draw widget with Gtk#'s Gtk and Pango bindings, and text-layouting was hellishly slow; but they included a CairoHelper that let you create a Cairo.Context on a Gdk.Drawable (GDK's built on Cairo nowadays, I think), and drawing directly with it was a couple of magnitudes faster. 21:58:36 Gregor: Oh and hey, cd bin; echo * doesn't run out of memory 21:59:05 whoami makes the whole page flash red. nice 21:59:06 DC is Drawing Canvas, isn't it? 21:59:11 Device Context 21:59:23 cheater99: no, Device Context 21:59:30 OK! 21:59:34 just guessing :D 21:59:36 cheater99: some sort of canvas you can use for everything 21:59:56 note, Microsoft: discussing your graphics toolsets in #esoteric isn't even really offtopic. You should fix that! 22:00:16 Flonk: Noticed the bit about CreateCompatibleDC being 1x1 monochrome pixel unless you create a bitmap on it? 22:00:55 fizzie: i did, thanks :) googling a bit about that atm 22:01:11 (It's noisier here than what I'm accustomed to, so felt like checking.) 22:02:47 cpressey: The problem is that stat downloads the file. 22:03:04 The official example, also: 22:03:06 cpressey: The flash is \a 22:03:07 HDC memDC = CreateCompatibleDC ( hDC ); 22:03:07 HBITMAP memBM = CreateCompatibleBitmap ( hDC, nWidth, nHeight ); 22:03:07 SelectObject ( memDC, memBM ); 22:03:16 -!- cheater99 has quit (Quit: Leaving). 22:03:26 (And then a DeleteObject() on memBM when done.) 22:04:19 cpressey, fizzie: kinda works now, thanks guys :) 22:06:07 You're welcome, though I did get some nasty flashbacks to five years back when I actually did work on a win32 app that was a lot of GDI drawing; and 2D DirectDraw, and a third-party sprite thing on top of that, bhrrrrrr. 22:07:41 :D 22:08:05 why is Windows programming so dominated by third-party libraries? 22:09:26 -!- Mathnerd314 has quit (Disconnected by services). 22:09:46 -!- Mathnerd314_ has joined. 22:10:01 -!- Mathnerd314_ has changed nick to Mathnerd314. 22:10:50 I try to use as little third party code as possible, just doesnt feel like I did it myself otherwise :D 22:11:18 Flonk, write your own OS! 22:11:29 We'll have your soul yet! 22:11:30 Thatd be awesome 22:11:38 like, in Brainfuck or something 22:11:47 Naw, that wouldn't work. 22:11:54 With PSOX! 22:11:56 well, its touring complete 22:12:05 TC != OSable. 22:12:12 turing complete does not mean can do anything, just can compute anything 22:12:18 That's what PSOX was meant to help address 22:12:19 You can't control outputs or anything. 22:12:26 Without PSOX or kwrap. 22:12:31 true. 22:12:47 MS deprecated the 2D DirectDraw completely in favour of Direct3D, the graphics people kept wanting to do translucency tricks but we just had color-key transparency, no alpha channels, the sprite engine wasn't ours to bugfix... gah. 22:13:00 -!- augur has quit (Ping timeout: 276 seconds). 22:13:27 You should've seen the "sprites with frames that match tinted versions of different parts of the background" workarounds. 22:14:00 why not just dither? 22:14:06 or would that be even worse? 22:14:14 It's not pretty enough, I guess. 22:14:17 ais523, Microsoft are kindred spirits? 22:14:27 yay I have a working http server under open-genera 22:14:39 now to figure out how to make it load anything but the documentation 22:14:50 AnMaster: Scary....... 22:14:56 Phantom_Hoover: not really 22:15:00 AnMaster, how did you get a Lisp machine? 22:15:00 Gregor-P, how so? 22:15:05 You lucky bastard. 22:15:08 Phantom_Hoover, note: opengenera 22:15:27 Phantom_Hoover, that is a virtual lisp machine 22:15:32 Ohh. 22:15:35 probably way faster than a real one would be 22:15:38 I do sympathise with Microsoft's programmers to some extent, though; I blame most of Microsoft's misdeeds on a huge corporate hivemind that somehow manages to take over despite the desires of any of the individual employees 22:15:47 I still think we should write our own Lisp OS, BtW. 22:16:08 Oh, there was also a dirty hack on the sprite engine to make it possible to set a "y cut" value to hide the lower half of a sprite starting from specific pixel line; then you could put two sprites on top with different background-translucencies, and alter the y-cut as the sprite moved from bottom part of screen to top. 22:16:10 ais523: They eventually learn to stop having those desires 22:16:28 Clucky is an MS.. oh, you don't know him 22:16:40 Phantom_Hoover, I don't think you could pull off installing it. Mainly because of stuff like "if you don't read every single line of the guides found on the web, and every single message that the system throws at you, you likely will end up having to start over from the beginning" 22:16:47 and well, that isn't your forte :P 22:16:48 cpressey: Except in MSR! 22:16:59 cpressey: I don't feel that evil is any more highly concentrated in Microsoft than elsewhere in the general population 22:17:09 Microsoft Res... gah! Stop pre-empting my sentences, Gregor. 22:17:26 I was about to say that they seem like a froody bunch. 22:17:30 also setting up NIS was a real pain 22:17:40 fizzie: On a phone, from within MSR :P 22:17:40 ais523: I think what I said applies to the corporate world in general 22:17:44 Allegiance is from MSR 22:17:48 cpressey: yes, probably 22:18:02 Research units are not as badly effected 22:18:07 *affected 22:18:12 Gregor-P: On a phone, from within my bathroom, trying to get to a shower; so there! 22:18:36 Gregor-P, I think this is the most unsecure linux system ever (in virtualbox). It is an old unsupported ubuntu version (because opengenera breaks with modern X servers it seems), running without shadow passwords, nis wide open, telnet too. 22:18:53 AnMaster: Sweet 22:18:58 Gregor-P, at least I installed all patches, otherwise it would have had the openssl bug _as well_ 22:19:15 But is it worse than the "Damn Vulnerable Linux" distro? 22:19:16 Gregor-P, oh and nfs is there too, but not quite as wide open 22:19:21 fizzie, link? 22:19:26 As a replacement for those desires, they bikeshed about the content of 404 pages and details of their "agile method" procedures 22:20:00 AnMaster: http://www.damnvulnerablelinux.org/ 22:20:11 AnMaster: is it online? 22:20:46 ais523, that vm? no 22:21:00 good 22:21:10 not being connected to the Internet does wonders for a system's security 22:21:14 ais523, for a start, I can't get virtualbox NAT forwarding to work 22:21:21 ais523, but it does have access to the internet 22:21:27 but yeah behind multiple firewalls 22:22:09 first my router, then virtualbox's NAT, then "not yet properly setup NAT between eth0 and tun0" in the guest 22:22:46 besides I have no clue how to make dns lookup work 22:23:12 I'm supposed to enter the root servers in one place I know. And also there is this checkbox if root servers do recursive resolving or not 22:23:16 which is somewhat strange 22:24:33 fizzie, interesting link 22:25:00 ais523, anyway, lisp machines allow rsh and rexec as long as no local user is logged in 22:25:13 oh and there is no such thing as passwords for logging in on a lisp machines 22:25:19 lisp machine* 22:25:38 oh and you can get a list of valid accounts without logging in 22:25:47 oh and you can even create a new one without logging in 22:26:18 ais523, however it does seem to not crash on nmap version scan, just complains loudly 22:29:00 http://sprunge.us/EajT 22:29:07 Gregor-P, ^ 22:29:39 Scary 22:29:45 I assume that most 64-bit systems don't use all 64 bits of an address, 22:30:36 Phantom_Hoover, hm? x86-64 uses 48 bits, sign extended 22:30:57 kernel lives in the negative half of the address space, user space in the positive 22:31:04 Indeed. 22:31:28 if you check /proc/cpuinfo it will probably tell you that your actual cpu is even more limited 22:31:31 So can those 3 wasted bytes be used for anything? 22:31:32 like 40 bits 22:31:33 or such 22:31:41 address sizes: 40 bits physical, 48 bits virtual 22:31:46 for my sempron 3300+ 22:31:55 address sizes : 36 bits physical, 48 bits virtual 22:31:58 on my core 2 duo 22:32:14 * Phantom_Hoover has 36 bits 22:32:37 Phantom_Hoover, iirc the cpu checks that addresses are properly sign extended 22:32:55 so probably not 22:33:01 Damn them! 22:33:11 unless you fix it up before dereferencing 22:33:57 -!- ais523 has quit (Remote host closed the connection). 22:34:14 Phantom_Hoover, besides, afaik x86-64 specs says it might be extended to the full 64 bits in the future 22:34:20 I used the 8 bits for type-tagging in that x86-64 Scheme implementation. 22:34:27 May they rot in something. 22:35:00 fizzie, I was thinking of using that for the aforementioned Lisp OS. 22:35:44 * Phantom_Hoover checks how SBCL does things. 22:35:51 AnMaster: Yeah; the omitted bits are merely for the sake of reducing the work in the CPU, IIRC. 22:35:52 Though technically I had the type tag as the least significant byte (since that's independently usable in a x86 reg) and then just shifted by 8 to get raw pointers. 22:39:08 -!- oerjan has joined. 22:40:09 oerjan! No, wait 22:40:15 -!- ais523 has joined. 22:40:30 and a good evening to you too 22:40:47 oerjan, ais523: remind me to ask you to review my proof that P != NP when I finish writing it 22:40:58 and then to call up the asylum, of course 22:41:07 cpressey: I'll happily review it for you 22:41:18 and try to find the bug 22:41:25 AnMaster: Yeah; the omitted bits are merely for the sake of reducing the work in the CPU, IIRC. <-- indeed 22:41:35 I'm pretty curious as to how you prove the != there, given that diagonalisation doesn't work 22:41:42 you can compare it with augur's proof that P=NP to see which of you is wrong 22:41:47 fizzie, wait, which 8 bits 22:41:51 XD 22:41:52 the ones between 40 and 48? 22:42:00 or the ones above 48? 22:42:05 ais523: Clearly you assume P=NP and then prove that 1=1 from that. 22:42:33 you can compare it with augur's proof that P=NP to see which of you is wrong <-- a flawed proof I assume? 22:42:35 pikhq: unforunately, converses are not always correct 22:42:43 AnMaster: I don't know, he hasn't shown anyone for fear they'll steal it 22:42:48 ais523, -_- 22:42:56 ais523: Erm. 1=100 22:43:03 that's better 22:43:04 ais523: Thinkotastic. 22:43:21 pikhq, but maybe 1 *is* equal to 100 22:43:23 That's... Actually a valid proof strategy, rather than nonsense. :P 22:43:23 ;P 22:43:43 * Phantom_Hoover decides to murder whoever wrote SBCL's docs. 22:43:49 AnMaster: Maybe in the retard axiomatic system. 22:43:54 Good thing that's not what we use. 22:43:58 pikhq, touche 22:44:23 AnMaster: The least significant. You know, 0..7. Then you do an arithmetical right-shift of 8 to get a raw pointer, so there's 56-bit pointers with the usual low/high half thing. 22:44:37 AnMaster: I don't know, he hasn't shown anyone for fear they'll steal it 22:44:38 wtf 22:44:48 I just found out that this web server CL-HTTP is still developed 22:44:48 ok _that_ is surely one of the crank signs :D 22:44:55 and lisp machines is still a supported target 22:45:00 that's... extreme 22:45:12 (paranoia. in fact i read a list of crank signs yesterday, so...) 22:45:22 oerjan, link? 22:45:24 oerjan: how many apply to Feather? 22:45:30 hm... 22:46:00 AnMaster: Obviously it's flawed, as I have proved P != NP. No, you can't steal it either!!! 22:46:02 fizzie, hm that only works for user space pointers 22:46:08 cpressey, XD 22:46:10 ais523: i don't think feather makes any _claims_ yet, does it? so possibly none. 22:46:21 well, no 22:46:28 I'd be mad to make claims about Feather without being able to verify them myself 22:46:34 hm i think it was on reddit 22:46:43 oerjan! 22:46:52 -!- aliseiphone has joined. 22:47:06 Hi. 22:47:13 oerjan, have you been fiddling with the BBC lately? 22:47:15 aliseiphone, http://sprunge.us/EajT 22:47:31 They very nearly made a show called "syntax era", and it smacks of you. 22:47:35 Haldo, enohpiesila 22:47:40 hi alise 22:47:40 aliseiphone, and I just found out that web server is still developed, and lisp machines is still a supported target 22:47:42 AnMaster: No, it works just fine for kernel-space pointers; that was the whole point of "arithmetical right-shift -- with the usual low/high half thing". 22:47:44 should get the new version 22:47:48 AnMaster: /orgasm 22:47:55 I know of cl-http. 22:48:01 But AWESOME. 22:48:05 (and it says something about me that I decided what to say, then tabcompleted aliseiphone's nick, then deleted the iphone bit 22:48:05 aliseiphone, rather than using the old one included with opengenera 22:48:07 ) 22:48:16 aliseiphone, there are established server frameworks for CL. 22:48:17 aliseiphone, this is the most insecure ubuntu vm ever 22:48:20 hm possibly it was just in a comment 22:48:25 AnMaster: Whitehouse archive site used to run on lisp machines. 22:48:33 Phantom_Hoover: I know. And? 22:48:51 I don't know. 22:48:53 aliseiphone, non-shadow passwords. Wide open NIS. wide open telnet. Somewhat open nfs 22:48:53 * oerjan googles instead 22:49:10 aliseiphone, and if I hadn't updated it, it would have had the infamous openssl bug 22:49:22 so yes, outdated version 22:49:22 AnMaster: http://skepticblog.org/2010/07/08/martin-gardners-signs-of-a-crank/ 22:49:24 7.10 I think 22:49:39 AnMaster: Shadow passwords r 4 lamrz 22:49:40 AnMaster: the openssl bug doesn't make the computer it's on particularly insecure, though 22:49:41 (Oh, and there was the usual 63-bit immediate integer thing, leaving 7 bits for other types 22:49:45 it makes /other/ computers more insecure 22:49:49 ais523: i guess you hit the first, at least :D 22:50:05 which one is that? 22:50:25 ...skeptic... 22:50:30 aliseiphone, well, it is due to NIS. opengenera doesn't support NIS with shadow 22:50:32 ais523: i suggest you check the logs for the URL i just pasted 22:50:54 * oerjan whistles stubbornly 22:50:57 anyway, can anyone suggest what I should do if my computer smells like a soldering iron? 22:51:03 that's it! it's not burning, it's desoldering itself 22:51:10 umm, I should probably turn it off again 22:51:19 I'll read logs in the morning to see what your advice is 22:51:23 -!- ais523 has quit (Remote host closed the connection). 22:51:27 whaaat 22:51:36 that's some serious issues 22:52:41 AnMaster: there's also the crackpot index: http://math.ucr.edu/home/baez/crackpot.html 22:53:57 that one seems to require more work, though :D 22:54:46 " I'm pretty curious as to how you prove the != there, given that diagonalisation doesn't work" <<< if no other way to separate classes is invented at some point, god must seriously hate computer scientists 22:55:11 and in the finite state world, the only technique is pigeonholing, which is just as boring 22:55:22 -!- MigoMipo has quit (Remote host closed the connection). 22:56:07 you can use reductions and closure properties to make using them less bothersome ofc 22:56:09 Phantom_Hoover: if you checked the logs for your nick you'd know i already commented on your syntax era. to be more precise, i said it looked more like a spelling era to me 22:56:20 GRRR 22:58:21 -!- ais523 has joined. 22:58:34 ...skeptic... <-- it might behoove you to note that that link also mentions that some annoying _skeptics_ display many of the crank signs. *whistles innocently* 22:58:52 well, different computer, running Windows (ugh), using a webclient... 22:59:24 ais523, computer conflagrated yet? 22:59:32 "I find that a few skeptics are little different methodologically from the pseudoscientists they so fervently argue against, and so I believe it.s of great value to everyone to familiarize himself with Gardner's list." 22:59:34 maybe there's an invariant we could compute for P and NP to check they're different?!? 22:59:55 -!- MigoMipo has joined. 22:59:59 Phantom_Hoover: I turned it off, and am using a different one 23:00:06 and it doesn't smell of burnt silicon, but burning solder 23:00:32 It is evidently possessed by Satan. 23:00:35 oerjan: Well I don't consider myself a "skeptic" and dislike e.g. RationalWiki and the Dawkins forums. 23:00:47 oerjan: So THERE. :P 23:00:47 aliseiphone: any idea of what I should do? it's the same model as yours IIRC 23:00:56 -!- Mathnerd314 has quit (Disconnected by services). 23:01:02 aliseiphone: LALALALA I CAN'T HEAR YOU 23:01:02 ais523: turn up the fan 23:01:11 (the reason that won't work is invariants are usually only useful when the isomorphisms are too complex to find, so we just find something that a theoretical isomorphism would keep invariant, here we know exactly what the isomorphism will be, because it's simply the isomorphism of Set) 23:01:15 -!- Mathnerd314_ has joined. 23:01:16 ais523, so was that your netbook? 23:01:19 aliseiphone: there's a fan control? 23:01:20 AnMaster: yes 23:01:21 that desoldered itself? 23:01:27 Not netbook. 23:01:30 -!- Mathnerd314_ has changed nick to Mathnerd314. 23:01:39 It's a high power machine with an 11" screen. 23:01:40 it's a sort of pseudonetbook 23:01:45 Subnotebook 23:01:49 is the term 23:01:49 think "netbook except it's meant to run windows 7" 23:01:50 hm 23:01:55 ais523, right :P 23:02:08 ais523: Must be a fan control 23:02:11 It's dynamic 23:02:13 anyway, doesn't the computer control the fan itself? 23:02:17 Skeptic: I shall beat you over the head with conventional wisdom! CONVENTIONAL!!! 23:02:19 yes, normally 23:02:25 Blow on it! 23:02:26 Try bios; failing that download program to control it 23:02:31 sometimes the fan gets stuck and I have to hit it hard in the top-left corner to get it starting again 23:02:35 but the fan was running fine this time 23:02:43 besides, it turns itself off when it overheats 23:02:44 there usually - always - is a way to control it. 23:02:59 ais523: it's probably just heat 23:03:13 what would the BIOS section do? set the fan to run constantly? 23:03:19 so, my wunnderful sed UTF-8 attempt didn't actually replace the UTF-8 character -- just inserted the replacement after it, apparently. 23:03:24 also, what do you mean by "just heat" here? 23:03:31 ais523: Most likely. It's a temp solution 23:03:36 sometimes the fan gets stuck and I have to hit it hard in the top-left corner to get it starting again <-- aaaaaaaargh 23:03:40 Smell just due to heated components 23:03:43 cpresseySkeptic: I shall beat you over the head with conventional wisdom! CONVENTIONAL!!! 23:03:55 well, there needs to be an actual chemical to make the smell 23:04:01 It's an alise! 23:04:05 oerjan: I've actually seen that list before, but had just forgotten it 23:04:12 cpressey: Why is evolution true? ATTENBOROUGH SAYS IT'S TRUE, THAT'S WHY. 23:04:26 there usually - always - is a way to control it. <-- yes, but the computer and it's software tend to go out of it's way to protect you. I need to pass a special module parameter to some kernel module to allow manual fan control 23:04:43 cpressey: dick lipton over at the Godel's Lost Letter blog uses "Conventional Wisdom" as a slightly derogatory term. 23:04:49 The computer and it is software? 23:04:55 Sgeo, yes? 23:04:55 oerjan: as are we 23:05:05 Sgeo, OS in this case 23:05:18 I don't think it is possible to control it manually at all from under windows 23:05:27 Yes it is. 23:05:32 Very common program. 23:05:35 aliseiphone, on my thinkpad I meant 23:05:40 PowerFan... Or something. 23:05:41 there usually - always - is a way to control it. <-- yes, but the computer and it is software tend to go out of it is way to protect you. I need to pass a special module parameter to some kernel module to allow manual fan control 23:05:43 oerjan: Feather quite possibly hits number 26 23:05:47 Works with thinkpads 23:05:49 but seems to dodge most of the others 23:05:52 hm 23:06:07 Sgeo, yes I know what I said 23:06:12 Sgeo, I fail to see the issue with it 23:06:12 ais523: I will pay you to work on Feather. 23:06:15 ais523: wait you're actually looking at the crackpot index? that's not the first link i gave, anyway. 23:06:32 Sgeo: what's with the literal backspaces around AnMaster's nick in those quotes? 23:06:47 ais523: How does 1p a year sound? 23:06:57 ais523, I think XChat tried to copy color codes when I copied that part 23:07:02 ais523: Xchat formatting goop often copies 23:07:03 yes something is strange there. I see the highlight stops right after the first > in my client 23:07:25 When someone gives me a brief outline of Feather I will be happy. 23:07:31 Phantom_Hoover, XD 23:07:36 Phantom_Hoover: same 23:07:40 hahah 23:07:43 The color code ends after that > 23:07:52 ais523: ha 23:07:52 this channel blocks colour codes 23:07:57 ais523: Can you tell me what cpp yields for this? 23:08:08 aliseiphone: this isn't my computer 23:08:11 #define f(x,y) x 23:08:13 and it doesn't have a C compiler as a result 23:08:22 #define a foo,bar 23:08:25 aliseiphone, I'll do it. 23:08:26 f(a) 23:08:28 so I can try to do it in my head, but might not be accurate 23:08:28 Well, whether it has a C compiler or not is irrevant >.> 23:08:34 Phantom_Hoover: that ^ 23:08:37 I think it just gives you f(a), but I'm not completely sure 23:09:05 I get :3:4: error: macro "f" requires 2 arguments, but only 1 given 23:09:05 f 23:09:08 Phantom_Hoover: Just the last line 23:09:10 hmm 23:09:14 ok try this 23:09:25 #define f(x,y) x 23:09:43 #define g(x) f(##x##) 23:09:51 aliseiphone: undefined behaviour 23:09:53 well, see you guys. bye! 23:09:55 -!- Flonk has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716]). 23:09:56 #define a foo,bar 23:10:00 g(a) 23:10:04 Phantom_Hoover: ^ 23:10:07 you're trying to token-paste a punctuation mark to an identifier, I know that one 23:10:10 ais523: what is? 23:10:13 erm 23:10:15 what happens in practice could be interesting, though 23:10:28 ais523: Mm 23:10:34 Phantom_Hoover: Well, try it. 23:10:41 Lots of error. 23:10:54 I like using "error" as an uncountable noun. 23:10:56 ais523: I suspect if this yielded "foo" cpp would be TC. 23:11:03 I shall do it more often. 23:11:05 (with self includes) 23:11:16 :4:1: error: pasting "(" and "a" does not give a valid preprocessing token 23:11:17 :4:1: error: pasting "a" and ")" does not give a valid preprocessing token 23:11:17 :4:1: error: macro "f" requires 2 arguments, but only 1 given 23:11:17 f 23:11:32 Just use f( x ) instead of f(##x##) 23:11:39 * Sgeo likes Vala's distinction between runtime errors and assert things 23:11:39 Silly 23:11:57 Phantom_Hoover: Do what Gregor-P said in g 23:12:00 Please :) 23:12:09 foo 23:12:11 YAY! 23:12:15 Omg 23:12:24 Cpp is TC prolly! 23:12:35 WANT PROOF 23:12:36 Gregor-P: Proof on Friday. Promise. 23:12:38 I thought self-includes didn't tail recurse. 23:12:45 Can't on iPhone 23:13:03 Phantom_Hoover: We assume an implementation unrestrained so. 23:13:15 Phantom_Hoover: Better than "Conquering Russia". 23:13:24 Like we assume interpreters have infinite memory. 23:13:39 Conquering Poland > Conquering Norway > Conquering Russia > Conquering Afghanistan 23:13:48 ais523: So we have lists! 23:13:50 Yeah, the fact that our interpreters suck is irrelevant. 23:14:03 We can store them, pack them, unpack them. 23:14:17 __VA_ARGS__ helps too. 23:14:20 Sweeet 23:14:21 * Phantom_Hoover wants to go off and do that. 23:14:22 (everybody and their dog has conquered poland) 23:14:29 Phantom_Hoover: :( 23:14:33 Phantom_Hoover: MY JOB 23:14:36 No, just the lists! 23:14:37 so cpp fails to be TC just because it's allowed to put arbitrary limits on recursion? 23:14:42 My research. :( 23:14:45 How do you configure a function to accept varargs in C++? 23:14:55 Phantom_Hoover: Aww please don't. 23:15:00 I wannaaaaa 23:15:00 Sgeo: you run away screaming 23:15:06 I'll keep it to myself! 23:15:10 saves time in the long run 23:15:24 I mean, in C, if you don't have (void) in the arglist, it's vararg 23:15:26 What of C++? 23:15:28 Phantom_Hoover: this is why I don't discuss things publicly >_> 23:15:39 Sgeo: false 23:15:55 aliseiphone, lists are pretty trivial after what you just did. 23:16:00 (or other argument list) 23:16:10 Phantom_Hoover: Aww c'mon 23:16:22 OK. I'm definitely not doing it. 23:16:26 I hate repeating work but I have NIH >.> 23:16:42 And i'm almost as immature as Sgeo! 23:16:48 lol 23:16:58 Phantom_Hoover: :| 23:17:03 Phantom_Hoover: I can see you 23:17:10 s/ $// 23:17:16 How many fingers am I holding up? 23:17:37 None. You got tired and put them down. 23:17:45 Nope. 23:18:01 /That/ doesn't count. 23:18:07 10 in some base 23:18:13 Can you see what's in my terminal? 23:18:13 I'm going to go into psychology, specializing in treating NIH 23:18:25 cpressey: NO I LIKE IT 23:18:47 Phantom_Hoover: list.h 23:18:53 Also, what was false about what I said, alise? 23:18:59 aliseiphone, no. 23:19:08 Sgeo: Need ... In c for varargs 23:19:13 Ah 23:19:16 the programmers who say NIH 23:19:28 So what's the point of (void)? 23:19:44 Sgeo: hysterical raisins 23:19:48 you did like 23:19:55 oerjan: LOW BLOW 23:19:59 void weirdosthing(); 23:20:03 I think 23:20:11 Then weirdosthing(x,34); 23:20:24 weird os thing 23:20:31 Not weirdo's thing 23:20:38 Sgeo, () means it takes anything. 23:20:44 Now I'm confused. You don't need ... for varargs? Or just in the special case of an OS li... AAAAAA 23:20:47 (void) means it takes nothing. 23:20:52 When you do need ...? 23:21:01 Sgeo: All the time. 23:21:08 Sgeo, when you're doing it properly. 23:21:14 -!- tombom has quit (Quit: Leaving). 23:21:27 () means "this thing takes anything". It is hopelessly vague. 23:21:32 You use it SM 23:21:38 *it never. 23:21:48 Wouldn't (...) also mean the same thing? Except I guess it's clearer to do (...) 23:21:54 sado-masochistically 23:21:55 Anything as in unspecified 23:22:01 Sgeo: INVALID 23:22:11 ? 23:22:17 Variadic funxtins must have one normal arg 23:22:22 Sgeo, you *cannot* have a varargs function that can take 0 args. 23:22:24 *functions 23:22:32 ...why? 23:22:35 It follows from the calling convention. 23:22:43 Sgeo: Calling conventions. 23:22:48 Arguments are pushed onto the stack, so you need to know how many there are. 23:22:57 Phantom_Hoover: No 23:23:09 Phantom_Hoover: That is NOT the only convention 23:23:16 I think Vala poisoned my mind 23:23:18 aliseiphone, it's probably the most common one. 23:23:24 What Vala does is have the last thing be null 23:23:28 Valinor is Australia! 23:23:33 aliseiphone, OK, I needed to clarify. 23:23:34 Phantom_Hoover: Yes. But this is standards. 23:23:39 the elves went a _bit_ downhill, don't you think? 23:23:44 Phantom_Hoover: We're anally retentive. 23:25:02 Sgeo, example: printf("%p") will print the address of the calling function with my CC. 23:25:23 -!- cheater99 has joined. 23:25:28 So printf is printf()? 23:25:36 And not printf(string, ...)? 23:25:52 Sgeo: #define foo(...) if (!*#__VA_ARGS__) foo0(); else fooN(__VA_ARGS__) 23:26:01 NEVER USE THIS. 23:26:04 Sgeo: No. 23:26:20 int printf(char *, ...); 23:26:26 Oh, right 23:26:27 >.> 23:26:36 Sgeo, the format tells printf what to do with the rest of the args. 23:26:49 Sgeo: Also, that foo hack only works for void returns 23:27:04 Can work for returns with gcc statement expressions. 23:27:10 NEVER EVER USE IT. 23:27:37 I won't even remember it 23:28:11 Sgeo, just remember: don't use () for variadic functions. 23:28:40 Unless valac produces code that uses it 23:28:46 *valac 23:29:06 Bleh, that l looked like an I for some reason. There was, in fact, no typo 23:29:51 I feel giggly 23:30:10 #define hd_(x,...) x / #define hd(x) hd_( x ) / #define tl_(x,...) __VA_ARGS__ / #define tl(x) tl_( x ) / #define foo a,b,c,d / hd(tl(foo)) 23:30:14 Phantom_Hoover: ^ 23:30:22 Phantom_Hoover: / is newline 23:30:25 OK. 23:30:31 What does it output? 23:30:39 I cannot type that fast! 23:30:48 :-) 23:30:50 What would happen if you did something like #define test #define y 5 23:30:50 I eas a 23:30:51 ? 23:31:01 *I was asking for when you did 23:31:11 Sgeo: it would expand to literally that 23:31:20 Sgeo: see iterated cpp 23:31:37 In file included from :1: 23:31:38 list.h:6:1: error: unterminated argument list invoking macro "hd" 23:31:38 hd 23:31:38 # 1 "" 2 23:31:56 -!- CakeProphet has quit (Ping timeout: 246 seconds). 23:31:59 ais523: ^ what 23:32:09 aliseiphone, I'm "restoring" the last CL-HTTP from a tape image 23:32:09 My fault... 23:32:11 Typo. 23:32:22 Phantom_Hoover: Wait, line 6? 23:32:24 brb, updating Firefox 23:32:29 aliseiphone, argh that I forgot to disable the automatic | more equiv 23:32:30 aliseiphone, it's b. 23:32:33 -!- ais523 has quit (Quit: Page closed). 23:32:36 I forgot the last bracket. 23:32:41 Phantom_Hoover: !!!! 23:32:46 Phantom_Hoover: It works. 23:32:55 I wrote that on an iPhone. 23:32:59 Damn I'm awesome. 23:33:20 Wiat 23:33:22 *Wait 23:33:27 Cpp == C preprocessor? 23:33:30 And not C++? 23:33:31 Yes. 23:33:36 Ok, I can definitely prove it's TC. Probably. Tomorrow. 23:33:42 now do cons 23:33:43 Sgeo: Yes. *cpp 23:33:52 cpressey, unnecessary. 23:33:57 , is cons. 23:33:59 -!- CakeProphet has joined. 23:34:03 cpressey: what Phantom_Hoover said 23:34:07 x,lst 23:34:11 although 23:34:12 CakeProphet, we have lists in the C preprocessor. 23:34:13 No wonder I was confused. I was wondering why you were working with C++ for this 23:34:18 F(x,lst£ 23:34:23 Won't work 23:34:28 Phantom_Hoover: Okay wait 23:34:36 Does this mean that C is turing-complete now? 23:34:38 "We" as in humanity. 23:34:42 Replace the foo define line with 23:34:45 -!- ais523 has joined. 23:34:46 I TYPED THINGS. 23:35:00 #define cons(x,y) x,y 23:35:02 Erm 23:35:03 then 23:35:24 #define foo cons(a,cons(b,cons(c,d))) 23:35:26 Can the non-cpp C code take advantage of the turing-completeness of the preprocessor to itself be turing-complete? 23:35:30 Phantom_Hoover: Then try. Thx. 23:35:33 Sgeo: No. 23:35:45 b 23:35:47 I haven't proved it's tc yet. Stay calm :P 23:35:50 aww 23:35:51 -!- poiuy_qwert has quit (Quit: Leaving). 23:35:54 because it can't re-invoke the preprocessor while running 23:35:56 Phantom_Hoover: There we go. 23:36:05 ais523: I just did lists in cpp 23:36:10 I know 23:36:11 Proper ones. 23:36:27 aliseiphone, wait, you need to be careful with the last element. 23:36:32 ais523: is the f( x ) trick standards compliant? 23:36:36 Phantom_Hoover: I know. 23:37:13 Hmm, it seems to behave correctly. 23:37:30 *f(x,lst) (from before) 23:37:39 This is just doing basic pattern-matching, isn't it? 23:37:41 Phantom_Hoover: it should do 23:37:45 yes 23:38:07 Phantom_Hoover: Im not sure you can do map 23:38:15 How would you detect nil? 23:38:26 Ok. You could do it will self includes. 23:38:28 I don't think you could. 23:38:32 I see how. 23:38:36 Well, fair enough. 23:38:37 *with 23:38:47 Maybe. 23:38:59 aliseiphone: I don't know 23:39:04 the spaces are likely irrelevant 23:39:08 Yeah. Make nil 0 23:39:10 it's the indirection that does it 23:39:14 *0. 23:39:22 #if lst == 0 23:39:36 ais523: mm. 23:40:24 We tryed that, didn't we? 23:40:31 s/tryed/tried/ 23:40:37 Uck 23:41:04 the issue is that it has to be an arithmetic expression both ways round 23:41:11 what you should do is define true and false unlambda-style 23:41:22 say, use head and tail as true and false 23:41:30 f(x) works, BtW. 23:41:39 and apply them to a cons cell in order to extract their values 23:42:51 Wait, cpp has first-class macros? 23:43:35 no 23:43:45 it has first-class tokens, which can be macro names, though 23:43:59 It doesn't do recursive expansion, though. 23:44:00 -!- ais523 has quit (Quit: Page closed). 23:44:26 Nice quit message 23:44:40 Just webirc 23:44:47 yeah 23:45:05 http://google.com 23:45:38 * Sgeo saw someone once type a URL into chat so they could click it 23:45:46 On eir iPod 23:46:06 Sgeo, aah, lumerelapse. 23:46:22 ? 23:46:43 Um... Google "lumeniki". 23:46:45 Can't I devise an offline adversary that pessimizes the solution to TAUT? 23:47:22 Oh, that guy 23:47:46 I have an article! 23:48:07 Phantom_Hoover: Why lumerelapse? 23:48:13 eir? 23:48:18 Yep. 23:48:32 standard spivak pronoun ;) 23:48:53 Sgeo: Thats why I typed it 23:48:58 For iPhone 23:49:06 * Sgeo vaguely happies at his Nexus One 23:49:14 aliseiphone, I know that. I still get involuntary spasms. 23:50:30 I don't shudder in fear every time I see the word... you know what, now that I think of it, it may be offensive 23:50:47 aliseiphone, the last CL-HTTP version doesn't work... It complains about not finding the host "wilson.ai.mit.edu" 23:50:57 aliseiphone, I know where it comes from, considering how to fix it atm 23:52:34 Sgeo, I shudder in fear of Lumenos. 23:53:55 -!- MigoMipo has quit (Read error: Connection reset by peer). 23:54:23 "Sometimes I think you no longer love me. I know that is just my low self esteem talking but, you know, it would be nice to hear you say it every now and then." 23:55:21 Why is an ineffectual egomaniac anyone to be afraid of? 23:55:54 Because no-one can be *that* weird without being out to hunt me. 23:56:49 I still wish I knew where that picture on my article came from. 23:57:38 Lumenos talks to himself? 23:58:25 Oh. 23:58:27 I assume so, 23:59:21 http://podictionary.com/wp-content/uploads/2009/05/dude.jpg seems to be a source.