00:00:12 oi, revel in its awesomosity 00:00:27 It reminds me of... 00:00:30 ehird, forth is a fun language 00:00:34 but why upper case? 00:00:42 is it to show it is a SERIOUS LANGUAGE? 00:00:45 ;D 00:00:47 AnMaster: ANS Forth only guarantees that the standard routines are available in uppercase form 00:00:55 so, generally, you just TURN ON THE CAPSLOCK AND TYPE 00:01:21 kerlo: of... 00:01:26 ehird, well. ok. but I mean upper case only languages reminds me of COBOL and SQL. Not a nice combination 00:01:38 even though SQL is okish 00:01:42 : CAT [ , . ] ; 00:01:44 Forth is mainly used for embedded work. It's not pretty. It's a pretty closed-world system. 00:01:52 true 00:01:52 kerlo: That's essentially it :P 00:02:03 I mean, key returns as soon as one keyboard key is pressed. 00:02:06 ehird, it also reminds me of INTERCAL 00:02:18 and if you press , it just does a carriage return and goes to the start of the line 00:02:23 no new line, no clearing of the current one 00:02:37 err 00:02:41 s/carriage return/line feed/ 00:02:43 Are you trying to tell me that KEY gets a keystroke? 00:02:46 ehird, it wants CRLF? 00:02:46 or w/e 00:02:48 kerlo: yes 00:02:50 AnMaster: no 00:02:55 ehird, err what? 00:03:10 A line feed goes to the start of the line and does not give you a new line? 00:03:18 In other words, it returns the carriage and does not feed a line? 00:03:25 Okay, okay, it's a carriage return 00:03:33 but in forth, the word CR prints a carriage return/line feed so :P 00:03:34 confusing 00:03:50 indeed confusing 00:04:04 gah, my nc is not BIG_GAPING_SECURITY_HOLE'd 00:04:09 * ehird tries to make it so 00:04:59 make it .so 00:06:53 kfdfhgf 00:08:00 someone give me a working netcat 00:09:18 Didn't I have a befunge interpreter in forth somewhere? Maybe I should try enhancing it to do funge-98 some day... 00:09:28 : INIT-USER ." USER forthbot forthbot forthbot forthbot" CR ; 00:09:28 : INIT-NICK ." NICK forthbot" CR ; 00:09:30 : INIT-JOIN ." JOIN #esoteric" CR ; 00:09:32 : INIT INIT-USER INIT-NICK INIT-JOIN ; 00:09:34 : MAIN-LOOP ; 00:09:36 : RUN INIT MAIN-LOOP ; 00:09:38 is that good style? :P 00:10:08 * kerlo takes a look at su 00:11:09 Here's my Forth style, but I have no idea whether it's good or not; probably not: http://zem.fi/~fis/be.fs.html 00:11:58 BE-GETC is vey long 00:12:05 and you have stack diagrams up the wazoo 00:13:10 wazoo? 00:13:32 They are aligned in vim; I think the syntax/2html.vim gets confused by them tabs somehow. 00:13:48 ehird, wazoo - Zoo in, Washington, US 00:13:48 ? 00:13:55 s/in,/in/ 00:14:07 fizzie: yes but you're not meant to have them outside of word definitions 00:14:09 AnMaster: fail 00:14:20 ehird, was just guessing 00:14:27 A damn useful little "backend" utility begun 950915 or thereabouts, 00:14:27 as *Hobbit*'s first real stab at some sockets programming. Something that 00:14:29 should have and indeed may have existed ten years ago, but never became a 00:14:31 standard Unix utility. IMHO, "nc" could take its place right next to cat, 00:14:33 cp, rm, mv, dd, ls, and all those other cryptic and Unix-like things. 00:14:35 lol, nc was the guy's first sockets prorgam 00:14:53 great program, wonder why he fell of the face of the earth 00:15:11 nc rocks 00:15:19 ehird: Well, they were useful when debugging the thing. 00:15:22 AnMaster: not gnu nc 00:15:24 however I usually use socat instead 00:15:26 gnu netcat sucks 00:15:29 it is way more powerful 00:15:36 ehird, why does gnu netcat suck? 00:15:48 apart from bloated size 00:15:52 bloated, shitty, like all gnu programs, and not a real improvement over hobbit's original code 00:16:04 yea, gnu sucks in general 00:16:07 ehird, gnu emacs isn't shitty! 00:16:10 yes it si 00:16:12 but apart from that, sure 00:16:14 si 00:16:15 right 00:16:16 all bloated, un-unix-ish 00:16:19 Spanish? 00:16:21 original netcat is only 1668 lines long and does everything gnu netcat does 00:16:27 trying to do vender-lockin all the time 00:16:31 ehird, well yes, I prefer socat 00:16:33 as I said 00:16:44 and they code c like it was lisp 00:16:47 it is pretty awesome 00:16:58 the gnu coding standard is horrible 00:17:06 flexo, agreed 00:17:16 but gnu emacs rocks 00:17:18 gnu cat is a good laugh 00:17:22 that is the single exception 00:17:27 i like netbsd 00:17:33 gnu emacs is exactly like the rest of the gnu tools 00:17:33 I like freebsd 00:17:44 The original netcat doesn't do ipv6. Although I have to admit I use here openbsd's netcat, which is the original with IPv6 support patched in. 00:17:47 yea, well, i've got taste 00:18:12 flexo, I also use openbsd 00:18:16 that's the reason i don't like emacs either 00:18:22 Still, I think the GNU compiler collection doesn't suck that much. 00:18:27 agreed 00:18:34 oh it does 00:18:37 the gnu coding style is used there too though 00:18:45 yes and it sucks too 00:18:48 gcc is about the only gnu program which doesn't totally suck 00:18:55 flexo, it sucks more than gnu emacs 00:19:00 nope. 00:19:07 flexo, that is your opinion 00:19:11 gcc is alright 00:19:12 yea, and i'm right 00:19:22 flexo, except it is subjective clearly 00:19:30 actually.. nope 00:19:46 gcc is only nice because it works, though 00:19:47 code-wise, more of the same 00:19:50 flexo, well, I'm sure vim has nicer coding style, EXCEPT it doesn't do what I need 00:19:50 i disagree 00:19:54 so that is irrelevant 00:20:04 yea, vim isn't so nice 00:20:10 flexo don't bother arguing with AnMaster, he doesn't have mutable state 00:20:12 it's rather bloated 00:20:20 flexo, same for vi, it doesn't do what I need 00:20:24 ehird: look again, do you see me arguing? 00:20:27 yes :D 00:20:33 * AnMaster agrees with ehird 00:20:36 "yea, and i'm right" is not really an argument 00:20:52 Anyways, g'netcat. I mean, g'night. 00:20:53 AnMaster: well, you need the wrong stuff 00:20:55 ehird, I have a mutable state except when I don't 00:21:02 flexo, now that is subjective 00:21:07 nope 00:21:25 things can be subjective but there only be one right answer. 00:21:28 's called taste. 00:21:31 exactly 00:21:33 but then AnMaster is a hypocrite 00:21:38 see: "rock music" 00:21:41 ehird, how so? 00:21:47 hmm wonder why forthbot isn't joining 00:21:48 also I dislike rock music, and what about it? 00:21:54 how is that hypocritical? 00:21:57 emacs is like rock music 00:22:00 don't you see the connection? 00:22:01 nop 00:22:04 AnMaster: you force that on anyone who mentions rock music 00:22:05 ask ehird about it 00:22:06 flexo, it isn't 00:22:26 ehird, no it is my personal view point, which I indeed promote 00:22:40 that's it 00:22:41 you promote it 00:22:43 I don't go 00:22:45 hey AnMaster classical sucks 00:22:49 ehird, I learned how by your way of promoting OS X 00:22:49 whenever you mention classical music 00:22:50 :P 00:22:55 so you are a hypocrite too 00:22:59 i only do that when people are having an OS pissing match 00:23:05 or i'm blabbing to myself 00:23:16 os x sucks, actually 00:23:24 :) 00:23:33 flexo, not really 00:23:37 .. 00:23:47 this is how i got into esoteric programming 00:23:50 flexo, I mean, not compared to windows 00:23:51 i got so fucking frustrated 00:23:56 i like os x. some people with poor taste dislike it. 00:23:57 that's ok. 00:24:00 they're just misguided. 00:24:00 because all programming languages suck at some point 00:24:02 all apis suck 00:24:05 are inconsistent 00:24:07 everything sucks, flexo 00:24:11 the operating systems are buggy 00:24:11 etc. 00:24:13 the thing to do is to optimize for least suckage 00:24:13 ehird, YES! 00:24:16 I agree 00:24:19 everything sucks 00:24:31 yes. it's just a matter of paying the right amount. 00:24:34 but in brainfuck it's not possible to do inconsistent APIs 00:24:35 * ehird *groan* 00:24:38 to break naming schemes 00:24:42 or use sillyOnes 00:25:05 flexo, err yes it is, see gcc-bf 00:25:07 compiles C to bf 00:25:15 so? 00:25:17 % ./forthbot.sh 00:25:17 USER forthbot forthbot forthbot forthbot 00:25:19 NICK forthbot 00:25:21 JOIN #esoteric 00:25:23 PRIVMSG #esoteric :I am an awesome cake 00:25:25 [hangs] 00:25:27 isn't that sufficient? 00:25:28 brainfuck is by definition always beautiful 00:25:32 i like that 00:25:43 flexo, obviously it must be related, so you can trace it back to the original code 00:25:48 even though names have been lost 00:26:02 it's related - so? 00:26:06 all the uglyness has been compiled out 00:26:14 no functions 00:26:29 no "real" abstraction mechanisms 00:26:33 ok, forth phails at unix pipes 00:26:34 tee hee 00:26:36 but you could do inconsistent parameter order, like stack_pop(stack, count) stack_push(count, stack, outvariable) 00:26:37 and so on 00:26:42 and it would be there in the result 00:26:50 flexo: another non-sucky piece of gnu software: gforth 00:26:51 yea well. but you don't see it. 00:26:52 ehird, funny 00:27:01 flexo, yes the calling convention you see 00:27:06 in brainfuck? 00:27:12 you don't see anything in brainfuck code 00:27:14 flexo, certainly, check gcc-bf out 00:27:21 if ais found somewhere to host it 00:27:29 ask ehird about details where it is hosted 00:27:45 i'm not going to check anything out to have you destroy my worldview 00:28:04 hah, ok 00:28:15 % ./forthbot.sh |cat 00:28:16 at least I accept that I'm wrong, when I *am* wrong 00:28:17 [hang] 00:28:29 ehird, funny, so gforth sucks? 00:28:33 no 00:28:36 what? 00:28:36 AnMaster: so do i 00:28:37 trying to get forth to integrate with unix sucks 00:28:41 ehird, ah 00:28:42 i just happen to never .. am? 00:28:48 eh. be! 00:29:02 flexo, hah 00:29:05 ... 00:29:06 :) 00:29:19 If you pipe into Gforth, your program should read with read-file or read-line from stdin (see General files). 00:29:20 well I'm sometimes wrong, but well saying subjective is objective is a bad one 00:29:21 o.k. 00:29:34 AnMaster: you know, i might have been kidding 00:29:36 ehird, the other way around then? 00:29:37 Now, time to try to figure out how to use Hugs. 00:29:46 AnMaster: type instead of ." 00:29:47 it seems 00:29:48 i'm fully aware that it's not possible to argue with insane people 00:29:48 kerlo, use ghc? 00:29:48 kerlo: don't 00:29:50 ghci 00:29:52 :P 00:29:57 someone prefering emacs over vi is obviously insane 00:30:06 so i must have been kidding in my tries to argue 00:30:09 AnMaster: type instead of ." <--? 00:30:16 ." a" 00:30:16 should be 00:30:19 S" a" type 00:30:20 well 00:30:22 it should be 00:30:23 char a emit 00:30:24 ehird, is that forth code? 00:30:25 but :P 00:30:27 yes 00:30:30 AnMaster: GHC doesn't work under Xen, I believe. 00:30:30 hmm that doesn't work 00:30:34 kerlo: wat 00:30:36 of course it does 00:30:39 i use ghc on rutian occasionally 00:30:42 kerlo, err there is no reason it shouldn't 00:31:01 Well, when I run GHCi, it gives me a fancy error. 00:31:15 kerlo, well whatever causes that it isn't xen 00:31:22 did you check if it was something else? 00:31:30 also why not look around for that error 00:32:36 aha, just need to flush stdout 00:32:46 : say stdout write-line stdout flush-file ; 00:32:50 I looked around for that error. The bug page says it seems to be caused by Xen. 00:32:55 ehird, it doesn't flush at exit? 00:32:59 i want line-flush 00:33:07 kerlo, what is this error? 00:33:25 -!- forthbot has joined. 00:33:25 I am an awesome cake 00:33:25 ehird, what is wrong with flush-file? 00:33:29 woop woop 00:33:30 it works 00:33:34 AnMaster: flush-file flushes it 00:33:36 stop being stupid 00:33:40 ." didn't work 00:33:42 neither did write-line 00:33:43 i needed to flush 00:33:44 so i did 00:33:46 as i said above 00:33:46 -!- forthbot has quit (Remote closed the connection). 00:33:51 ehird, well " i want line-flush" <-- why? 00:34:03 ok, i'm not talking to you until you can comprehend basic english 00:34:10 you made no sense 00:34:15 i see. 00:34:22 and if flush-file works, why did you want flush-line? 00:34:28 what would the difference be? 00:34:30 Okay, maybe it's not quite so Xen-related. 00:34:31 http://hackage.haskell.org/trac/ghc/ticket/2063 00:35:25 Though it doesn't actually look like that bug; it looks like this one: http://hackage.haskell.org/trac/ghc/ticket/2013 00:37:33 why do they need 32-bit 00:37:40 can't they use full 64-bit pointers? 00:41:31 -!- oerjan has quit ("Good night"). 00:43:44 kerlo, idea, if you have multilib, just build an -m32 haskell 00:43:51 ghc/ghci that is 00:43:54 he didn't build haskell. 00:43:56 almost certainly. 00:44:00 building ghc is nigh-on impossible 00:44:11 i.e., it takes 4-5 hours even on this fast machine 00:44:15 with parallel make 00:44:20 ehird, true, even gentoo offers a binary package for it 00:44:46 ghc, openoffice, firefox and thunderbird all have binary packages 00:44:53 what about x11/kde 00:45:03 compiling those is stupid, wasteful and slow 00:45:06 ehird, no, but they are much faster here 00:45:13 hm. k 00:45:16 X11 takes about 2 hour at most 00:45:26 kde takes like 8 hours 00:45:26 a complete KDE would take a bit less than 5 hours 00:45:45 ehird, depends, I only use kdebase and kdesdk + a few random other apps 00:45:51 gentoo uses split ebuilds for them 00:45:58 so you can just merge the programs you want 00:46:12 no need to compile each whole kde package 00:46:32 Here's an example of an invocation of Gforth that is usable in a pipe: 00:46:32 gforth -e ": foo begin pad dup 10 stdin read-file throw dup while \ 00:46:34 type repeat ; foo bye" 00:46:39 kill it 00:46:50 i don't think that can handle lines of more than 10 chars 00:47:14 ehird, ouch 00:47:23 This example just copies the input verbatim to the output. A very simple pipe containing this example looks like this: 00:47:24 cat startup.fs | 00:47:26 gforth -e ": foo begin pad dup 80 stdin read-file throw dup while \ 00:47:28 type repeat ; foo bye"| 00:47:30 head 00:47:32 and it magically changes to 80 00:47:32 hah 00:47:34 confirming my suspicions 00:47:38 yes 00:47:45 ehird, can't you copy n chars? 00:47:50 where n is unknown 00:47:52 probably. 00:47:59 but I don't want to figure it out until tomorrow. 00:48:02 on that note... ciao 00:48:06 ehird, night! 00:48:10 sleep well 00:48:15 or whatever you say in English 00:48:25 that works 00:48:44 :) 01:13:02 -!- Corun has quit ("This computer has gone to sleep"). 01:41:55 -!- seveninchbread has joined. 01:53:54 -!- seveninchbread_ has joined. 02:02:01 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 02:13:08 -!- seveninchbread has quit (Connection timed out). 02:16:14 -!- Corun has joined. 02:47:04 -!- seveninchbread_ has changed nick to CakeProphet. 04:11:29 Okay. Can anyone name *any* IRC bot that allows IRC users to more or less execute arbitrary code, other than lambdabot and bsmnt_bot? 04:11:41 why? 04:11:51 it's a pretty stupid thing to do 04:12:10 The guys who run lambdabot and bsmnt_bot do it. 04:13:57 and we are pretty stupid 04:14:19 Oh. 04:14:53 Okay, let me see if I can hack GHC into working on normish.org. 04:16:51 Oh, let's try a newer version. 04:26:53 kerlo: geordi 04:27:12 (in ##c++) 04:27:53 Oh, please. That is *so* last ten-minute period. 04:36:49 -!- kerlo has quit (Remote closed the connection). 04:45:57 -!- kerlo has joined. 05:07:08 -!- Corun has quit ("This computer has gone to sleep"). 05:22:12 -!- psygnisfive has quit (Read error: 110 (Connection timed out)). 05:41:32 <3 job karma 05:42:12 ooooooooooooooooooo 05:52:13 -!- psygnisfive has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:10:58 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 08:12:48 -!- CakeProphet has joined. 08:25:50 -!- oerjan has joined. 10:22:19 -!- oklopol has quit (Read error: 110 (Connection timed out)). 10:51:48 -!- Hiato has joined. 12:24:29 -!- oerjan has quit ("leaving"). 12:42:32 -!- Hiato has quit (Read error: 110 (Connection timed out)). 13:03:18 -!- jix has joined. 13:51:30 -!- Corun has joined. 14:42:54 04:14 Okay, let me see if I can hack GHC into working on normish.org. 14:42:54 04:16 Oh, let's try a newer version. 14:43:00 itt: kerlo has never heard of apt-get 14:44:17 ehird 14:44:22 I want to eat your bones. 14:44:28 okay 14:44:29 do so 14:45:14 Could you send your bones through the mail? 14:45:18 done 14:45:36 I hope they arrive soon. 14:54:08 -!- Corun has quit ("This computer has gone to sleep"). 15:23:39 http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/RequestProcessorFactoryFactory.html?rel=html 15:31:54 we need a higher-order factory calculus 15:34:35 Abstractions run amok 15:39:01 [[Please, use more civilized language; remember, you're on the Internet.]] -- reddit 16:05:03 -!- KingOfKarlsruhe has joined. 16:18:20 -!- oerjan has joined. 16:21:00 http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/RequestProcessorFactoryFactory.html?rel=html 16:21:07 clearly this is a monad 16:21:14 moar liek gonad 16:21:38 requestProcessorFactoryFactory :: IO (IO Processor) 16:21:42 :D 16:21:57 oerjan: does yi work 16:22:05 never tried it 16:22:13 i am downloading it :D 16:22:40 -!- FireFly has joined. 16:23:21 actually there should probably be another IO on that, since the initial request is really a factory too 16:24:16 (IO replaced with another monad as appropriate, of course) 16:24:45 [[Please, use more civilized language; remember, you're on the Internet.]] -- reddit 16:25:00 [[Please, use more civilized language; remember, you're on the Internet.]] -- reddit 16:25:00 that would be sensible. 16:25:10 unfortunately, the internet rarely is. 16:26:02 CWD="`(cd \"\`dirname \\\"$0\\\"\`\"; echo $PWD)`" 16:26:04 impressive 16:26:23 O_O 16:27:37 rube goldberg programming? 16:43:30 -!- MigoMipo has joined. 16:57:33 -!- KingOfKarlsruhe has quit (Remote closed the connection). 17:45:44 ehird, http://rcfunge98.com/rcsfingers.html#UNIX <-- crazy idea. And format of mask isn't specced 17:45:58 That's not crazy. 17:46:01 That's reasonable. 17:46:07 Also, you know what a umask is, presumably. 17:46:20 That spec is fine, and looks useful. 17:46:36 Change file access <- the only really vague part 17:46:57 true, guess: permissions 17:47:08 yes, probably chmod 17:47:20 almost certainly, in fact. 17:47:42 ehird, also his list of fingerprints is now crazily long 17:47:52 he's an odd guy. 17:48:01 but that spec is one of the better ones, it's just terse 17:48:01 ehehehe,,,, yes... 17:48:16 AnMaster: want vagueness? 17:48:16 http://rcfunge98.com/rcsfingers.html#TRGR 17:48:54 ehird, indeed, my policy nowdays is to avoid implementing any RCS fingerprints that mycology doesn't test. 17:49:01 that's no fun 17:49:09 AnMaster: you should implement TRGR without looking at rc/funge 17:49:09 yes he wrote his own test suites sometimes, but often they are buggy 17:49:22 just implement what it says there, make up the unspecified parts (like wtf a trigger is) youreslf 17:49:30 and claim it to be spec-compliant, which it would be 17:49:51 ehird, well I have done similar before and it ended up with flames 17:49:59 when, which? 17:50:16 ehird, hm, interpreting REXP as using a global buffer for example 17:50:22 ah. 17:50:25 "flames"? 17:50:31 i don't think i've ever seen mikeriley show emotion :D 17:50:38 ehird, eheheheheheh,,,,,,,,,,,,! 17:50:47 ok, that got old when I specced mkry 17:51:12 ehird, true 17:52:57 I love the way that spec is called "UNIX" when it provides 15 instructions related mostly to unix permissions 17:53:31 it seems reasonable to me 17:53:33 they're unix syscalls 17:53:43 "UNIX", to me, implies all of unix 17:53:47 ehird, what about other unix stuff 17:53:56 I mean UPRM might have been a better name 17:54:01 i guess 17:54:34 Either provide all of unix in one fingerprint or split it into multiple fingerprints each of has a cohesive purpose 17:54:45 Deewiant, agreed 17:54:45 Not "some unix permission stuff and oh, domain names too" 17:54:54 it does domain names? 17:54:55 ok, thats stupid 17:54:56 D and N 17:55:00 what the hell's the difference anyway 17:55:11 why not use SCKE? 17:55:19 doesn't it perform those? 17:55:34 no 17:55:36 that makes sens 17:55:37 e 17:55:41 why 17:55:44 one is a reverse dns lookup of the current host 17:55:48 one is the /etc/hostname 17:55:56 hm 17:55:56 which is which 17:55:58 i'd only provide the latter, admittedly 17:56:02 Deewiant: N is hostname 17:56:04 D is domainname 17:56:09 figure it out :P 17:56:30 H( -- id)Get host id 17:56:31 huh? 17:56:33 what is that 17:56:45 ummmmmmm. 17:56:45 ehird: domainname comes from uname according to man 2 getdomainname 17:56:48 AnMaster: i don't know 17:57:03 in which case that may make sense but it still doesn't fit in the same fingerprint IMO 17:57:08 yes 17:57:10 but teh separation isn't bad 17:57:28 right, I just got what you meant by "one is a reverse dns lookup" 17:57:31 you meant SCKE, not D 17:57:49 AnMaster: hostid 17:58:17 hm 17:58:41 `hostid' prints the numeric identifier of the current host in 17:58:42 hexadecimal. This command accepts no arguments. The only options are 17:58:42 `--help' and `--version'. *Note Common options::. 17:58:43 interesting 17:58:47 so those aren't arguments? 17:58:56 no, they're options 17:59:02 ok 17:59:07 whatever 18:00:09 hostid supposedly comes from the MAC address of eth0 but I don't see the resemblance 18:00:16 nor do I 18:00:44 % hostid 18:00:44 00000000 18:01:03 ahaha 18:01:10 007f0100 18:01:14 I just realised what that is 18:01:16 besides my hostid 18:01:17 what 18:01:22 it's 0.127.1.00 18:01:23 ?? 18:01:28 lol wat 18:01:30 Deewiant, ah yes, and it is same as mine 18:01:31 which is the byte transposition of 127.0.0.1 18:01:35 XDD 18:01:40 which is unsurprisingly what's under localhost in /etc/hosts 18:01:41 yeah, 0.0.0.0 also works 18:01:44 and that's my unique host id 18:01:45 ehird, well it seems like a rather silly command 18:01:52 ::1 localhost 18:01:55 Deewiant, it tries to read /etc/hostid btw 18:01:56 I suppose that's what's causing it 18:02:00 doesn't seem documented 18:02:06 AnMaster: yes, if you've got one 18:02:08 the file doesn't exist though 18:02:23 Deewiant, can't find what the file is supposed to do 18:02:31 ehird: yeah, it probably does a scanf("%3d.%3d.%3d.%3d") :-P 18:02:46 no, 0.0.0.0 resolves to this machine 18:02:47 here 18:02:53 wtf 18:02:57 that's usual 18:02:58 try it 18:03:00 err 18:03:02 AnMaster: echo "foo" > /etc/hostid 18:03:02 hostid 18:03:05 ehird, resolves in what way? 18:03:06 0a6f6f66 18:03:09 Deewiant: doesn't work for me 18:03:14 ehird, DNS? 18:03:14 AnMaster: as an ip. 18:03:17 ah 18:03:25 ehird: what doesn't 18:03:25 ehird, because it doesn't resolve in DNS 18:03:29 running a server on 127.0.0.1 doesn't let anyone else access it 18:03:33 does with 0.0.0.0 18:03:33 but if you mean it is possible to bind to... 18:03:37 so, slightly different semantics on listening 18:03:41 ehird, yes of course, but that isn't same as "resolve" 18:03:43 but for connection 18:03:45 it's the same 18:03:46 it means "listen to all" 18:03:47 AnMaster: oh stfu 18:03:55 you can connect to 0.0.0.0 18:03:57 and get localhost 18:03:59 that's what i'm saying 18:04:00 ehird, resolve means "reverse DNS resolve" 18:04:07 shut upppppppp 18:04:21 just because you're a freaking pedant doesn't mean you have to complain even if you understand me 18:04:42 yes it does! 18:04:50 AnMaster: let resolve = "reverse DNS " ++ resolve in resolve ===> "reverse DNS reverse DNS reverse DNS reverse DNS " ... 18:05:09 wait, i'm late for that argument thread... 18:05:28 -!- Hiato has joined. 18:05:30 Deewiant, checking if the result from reverse lookup resolves to same ip is a common check 18:05:32 ^ul ((reverse DNS )S:^):^ 18:05:32 reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS ...too much output! 18:05:39 for example ircds use it before showing host 18:05:49 if it doesn't exist someone is trying to fake reverse dns 18:05:56 a lot of other software also use it 18:06:09 wow, AnMaster excells further in the field of "totally irrelevant misunderstandings leading to ranting about minor points" 18:06:17 someone give him a reward 18:06:26 ehird, nice! 18:06:27 * Deewiant gives reward to AnMaster 18:06:47 AnMaster: now you need to give a speech 18:06:54 oh god, you'll set him off again 18:07:13 oerjan, oh? what sort of speech? 18:07:15 ^ul ((acceptance speech )S:^):^ 18:07:15 acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech ...too much output! 18:08:09 Well I think this rewardm which seems to be oerjan's frying pan with the word "reward" painted on it, is very nice 18:08:17 but isn't stealing it a bit mean Deewiant? 18:09:20 Whence do you infer that I stole it 18:09:43 Deewiant, because I don't think oerjan would give it away voluntarily 18:09:57 You thought wrong 18:10:13 you said it was for short selling! 18:10:27 deewiant if I write a befunge-98 implementation in 5 characters will you rewrite mycology to give it all GOODs 18:11:16 ehird: no 18:11:22 deewiant why not 18:11:33 ehird: mu 18:12:23 deewiant why not 18:13:07 ehird: why would I rewrite something only to recreate the original: if your implementation is a befunge-98 implementation it will get all GOODs 18:13:20 well it would be a fuzzy implementation. 18:13:26 specifically, it would execute random parts of memory. 18:13:30 sometimes, that will run befunge-98 code. 18:13:35 you can do that in 5 chars? 18:13:55 then sometimes it will pass mycology. what's the problem? 18:14:06 Deewiant: yes. 18:14:18 ignoring the main() { } boilerplate. 18:14:21 well. 18:14:24 it'll be more like 10 chars. 18:14:34 -!- oklopol has joined. 18:14:51 i thought it was gonna be J or something... 18:15:14 jjjjjjjjjjjjjjjjjjjjjj! 18:15:34 but J is probably memory safe 18:15:40 Deewiant: 18:15:44 #include 18:15:47 main(){return((int(*)(int))rand())();} 18:16:21 well, that doesn't bode for command args 18:16:22 ok 18:16:23 try this 18:16:38 #include 18:16:39 main(a,v){return((int(*)(int))rand())(a,v);} 18:18:00 hmm wait 18:18:02 that needs to be 18:18:10 #include 18:18:12 main(a,v){return((int(*)(int,char**))rand())(a,v);} 18:18:12 yw 18:18:32 RAND_MAX is too small, it'd only work on a small part of my memory 18:18:48 Deewiant: patches welcome, but that isn't an issue 18:19:02 i mean, the chances of the befunge-98 interp in ram being at a piece of ram < RAND_MAX is like 100% 18:19:14 ehird, is it? 18:19:18 yes. 18:19:18 hmm 18:19:23 ehird, why? 18:19:25 can one see from somewhere where stuff is in memory 18:19:29 AnMaster: because of magic 18:19:33 Deewiant: wut 18:19:41 and possibly set a minimum memory location where they must live ;-) 18:20:01 O0oOOOooo0ooo0oOoooo0oO0oOOoo0oo0000oo....... 18:20:02 ehird: well, stuff tends to have mappings to virtual memory 18:20:18 I'd guess there's something in /proc that'd tell me 18:20:22 Deewiant, you can see where things are mapped in the current process cat /proc/self/maps 18:20:23 iirc 18:20:27 on linux 18:20:38 mostly useful for debugging 18:20:58 so I see 18:21:06 hmm 18:21:25 any chance of seeing where the program counter is? :-P 18:21:32 Deewiant, gdb 18:21:37 attach gdb to it 18:21:53 meh 18:21:56 then it is show registers or something like that 18:22:14 cat I had installed, gdb I don't :-P 18:22:46 Deewiant, well obviously replace the "self" part in the path with the pid you are interested in 18:23:17 doesn't solve the problem of lacking gdb 18:23:45 Deewiant, well I guess you could write your own debugger to do it 18:23:45 I should write this interp in haskell. Wait, Asztal's done that 18:24:01 OoOOoO 18:24:17 waiiiiiiit 18:24:19 Asztal: that's in C++!!! 18:24:23 who did it in haskell? 18:24:44 I forget his nick, the finnish guy 18:25:13 :DD 18:25:14 fizzie? 18:25:21 oooh 18:25:22 ilari? 18:25:25 nope 18:25:30 did what? 18:25:30 has to be 18:25:32 not here now, I don't think 18:25:32 it's the rubiks cube guy 18:25:34 right? 18:25:55 I know a lot of finnish rubik's cube guys :-P 18:26:02 XD 18:26:15 ehird: looking at some programs on my machine it seems they all have their IP at locations beyond RAND_MAX 18:26:16 Deewiant, hm something on f? 18:26:23 Deewiant: that's their problem 18:26:35 Deewiant: the idea isn't to hit into a program 18:26:37 ehird: your interpreter likely has a 0% chance of success 18:26:42 the idea is to hit into some memory that happens to be valid machine code 18:26:45 that runs befunge-98 programs 18:27:08 funktio 18:27:10 that was his nick 18:27:10 ehird, err no, it is likely you will hit an unmapped area. then segfault due to that 18:27:16 http://funktio.awardspace.com/misc/hsfunge/ 18:27:17 AnMaster: wait, why are you using an OS? 18:27:20 and it's no longer up 18:27:20 I don't support operating systems 18:27:42 ... 18:27:48 ehird: good luck getting such memory without an OS 18:27:55 without stuff going on, the memory doesn't change much :-P 18:27:58 Deewiant: sure, it's meant to fit into your own OS 18:27:59 in kernelspace 18:28:17 does that not mean supporting operating systems 18:28:26 no, i don't support oses i.e. i don't support it in userspace 18:28:32 right 18:29:49 so I guess hardware drivers don't support much of anything then :-P 18:29:55 Deewiant, how goes work on ccbi2? 18:30:44 AnMaster: stalled since september due to DMD bug #2339 18:30:54 Deewiant, still not fixed. huh 18:31:08 AnMaster: my oldest open bug is from 2006 june 18:31:19 Deewiant, how many have patches? 18:31:25 AnMaster: ~none 18:31:27 a few might 18:31:29 ok 18:31:40 not by me, though 18:31:54 it /is/ a frontend problem so I /could/ fix it... if I could 18:31:56 also poll: should I make up a fingerprint for interfacing SQL databases? If yes which of these DBs: SQLite, MySQL, PostgreSQL 18:32:02 note I may not implement it 18:32:09 DB-independent 18:32:16 interpreter-defined 18:32:30 Deewiant, you still need DB-dependent connection of some sort hm 18:32:47 Deewiant, or it would be quite useless 18:33:04 interpreter-defined 18:33:18 i'll do better 18:33:23 i'll write OBJDB 18:33:28 well. 18:33:33 GRDB? 18:33:33 OBDB 18:33:38 funge object database. 18:33:43 basically, persistent fungespace. >:D 18:33:45 ehird, what about graph DB? 18:33:52 -!- Hiato has quit ("Leaving."). 18:33:54 ehird: basically o and i? 18:33:55 AnMaster: no, that's too ... practical 18:34:05 Deewiant: yes but, can you use fingerprints with that? 18:34:11 ehird, FILE? 18:34:14 ehird: meaning what? 18:34:15 basically 18:34:24 Deewiant: e.g. say you have an OOP fingerprint that stores objects in fungespace 18:34:29 you could make it use the persistent fungespace 18:34:39 instead of regular fungespace 18:34:43 ehird: sure, you could use o and i to store that 18:34:48 Deewiant: o rly? 18:34:50 i mean like 18:34:51 new object 18:34:54 just gives you fungespace coords 18:34:59 the actual fungespace is in the fingerprint code 18:35:01 sure 18:35:05 but the persistent fungespacer 18:35:08 makes the fingerprint use it 18:35:12 -!- Hiato has joined. 18:35:15 can't do that with o/i 18:35:26 no clue what you mean. 18:35:27 ehird: VMEM? 18:35:38 ehird: sounds like virtual memory, anyway :-P 18:35:41 Deewiant, that exists? 18:35:46 RCS I assume? 18:35:49 AnMaster: nope 18:35:55 ah 18:35:58 Deewiant: it's basically mmap 18:36:10 wait hm, paging segments in funge space 18:36:10 ? 18:36:10 you can swap out some fungespace usage with a version that writes to a fil 18:36:11 e 18:36:18 VMEM indeed then 18:36:28 combine with an OOP fingerprint 18:36:30 ehird, also a crazy nice idea 18:36:31 and you have a funge object database. 18:36:33 :DD 18:36:36 ehird: you can write fungespace to a file using threads which do o every tick 18:36:49 but the code would need to handle paging itself 18:36:51 of course 18:37:00 fingerprints can't do it behind the scens 18:37:01 ehird: so the only new thing here is something like virtual memory unless I misunderstood 18:37:02 scenes* 18:37:14 Deewiant: that's 1) inefficient, 2) it's a separate fungespace: you can have multiple of them, and only do some things in them, etc 18:37:37 ehird: 1) that's probably how I'd implement it on windows anyway 18:37:41 ehird: 2) MVRS 18:37:58 VMEM should have memory protection too 18:38:02 Deewiant: can MVRS cause certain fingerprints to write to one of the fungespaces, 18:38:05 but have the rest of the program outside of it? 18:38:11 and still be able to access the fungespaces the fingerprints are using? 18:38:17 without these fingerprints knowing about mvrs, that is 18:38:26 hm. some nice ideas for this vmem 18:38:34 * AnMaster writes them down 18:38:36 ehird: yes, just run the code in a different mvrs? 18:38:41 basically a DMA-hole to disk! 18:38:41 er, universe 18:38:44 by mmap() 18:39:01 meh 18:39:04 also DMA has nothing to do with it 18:39:10 how far did hsfunge get? 18:39:11 but it sounds cool ;P 18:39:13 -!- olsner has joined. 18:39:26 ehird: it found a bug in mycology, can't remember if he did any fingerprints though 18:40:02 so should i do this in haskell or C :P 18:40:11 i should do it in haskell and be faster than cfunge for the lulz 18:41:14 good luck with that 18:41:31 :P 18:42:06 brb 18:42:18 I have some hidden ideas for funge-space algos which should be comparatively about as fast as cfunge without being as lame as 'static array the size of the biggest program I know of' 18:42:41 but only 'about' because that's obviously cheating and can't really be beat :-P 18:43:18 well, the static array thing is a good idea, but the biggest program i know of is kind of stupid 18:44:04 it's the size of mycology rounded up to powers of two 18:44:18 (256*1024) 18:44:25 yeah 18:44:41 still, the static array is still a good idea, right? 18:44:42 mycology is 180*800 or so and uses a bit of space on the negative side making it around 190*810 18:44:55 I don't like static arrays :-P 18:45:14 why not :P 18:45:54 if you have dynamic data it's just extra complexity 18:46:01 or a source of bugs :-P 18:51:05 poll time 18:51:15 "BEFUNGE-98EHIRD": C or Haskell or Other 18:53:48 Other. Specifically, Malbolge. 18:54:18 invalid option 18:54:20 Factor 18:54:37 Doesn't run on OS X Tiger because slava pestov is a kid with ADHD and can't stop using shiny APIs. 18:54:45 Joy 18:54:53 Does Joy even have file IO? 18:55:30 Doesn't it? 18:55:41 hm, "Grief programming language" 18:55:45 Well, okay, does it have any other OS interfaces Deewiant? 18:56:15 Probably not, I don't know 18:56:38 ehird: Cat, then. 18:56:53 "BEFUNGE-98EHIRD": C or Haskell or Other <- other, weird 18:57:04 or is it wired? can't remember 18:57:07 AnMaster: The author of Cat is a retard. he claimed that a lazy map function was O(1). 18:57:11 AnMaster: wierd 18:57:16 ehird, ah yes 18:57:17 thanks 18:57:22 well I suggest using it 18:57:25 of course it's O(1) 18:57:29 AnMaster: no 18:57:31 all lazy functions are O(1) 18:57:36 well, exactly 18:57:41 but you don't talk about them like that 18:57:44 because that's _idiotic_ 18:57:44 Haskell—the constant-time programming language 18:57:50 ehird, also i and o are optional 18:57:56 your mom is optional 18:57:59 so you can manage without file io 18:58:10 ehird, also I admit jitfunge is faster 18:58:13 AnMaster: he has to read the befunge file somehow 18:58:19 AnMaster: whence the source without I/O? 18:58:26 Deewiant, hm true 18:58:49 Deewiant, anyway fast mmaped IO in funge space sounds fun 18:58:59 hhmm. 18:59:03 can't you load fungespace with mmap? 18:59:04 I'm not sure how much it will impact stuff when I need to check if some area should be mmaped 18:59:08 for every read/write 18:59:12 and copy-on-write 18:59:27 ehird, I open with mmap() to avoid issues like fread() ends with \r and next start with \n 18:59:43 ehird, one issue is the source file line length will vary 18:59:49 I mean 18:59:51 without parsing 18:59:53 you need to build a line index or something 18:59:53 just mmap() and go 19:00:11 ehird, well don't think so due to varying line length, you need to locate newlines somehow 19:00:18 I did consider that a lot you know 19:00:21 for extra speed 19:00:37 and at least I couldn't figure out a way to do it 19:01:02 ehird, so basically you need to parse for \r, \r\n and \n 19:01:08 all are valid line ending 19:01:21 mycology uses \r\n for example 19:01:37 i'm gonna go for haskell because i don't wanna fuck with memory management more than i have to 19:02:00 hm copy on write in C, I know kernel does it by page faults and such 19:02:02 now convince me not to call it butts 19:02:16 ehird, call what butts? 19:02:22 the interp. 19:02:36 well, interp-and-possible-future-compiler-to-llvm because haskell has libraries for that and i am fucking nuts 19:02:37 well why should I convince you about that? 19:02:40 (nutphillia) 19:02:48 -!- MigoMipo has left (?). 19:03:03 AnMaster: because if you try it out you'll have to phrase things awkwardly to avoid mentioning its name 19:03:07 ehird, and I only claimed cfunge was the current fastest _interpreter_ 19:03:18 I admit that jit compilers like jitfunge are faster 19:03:46 ehird: butts has nothing to do with fungi, and therefore cannot be the name of a funge implementation. that's just the way it is. 19:03:55 oerjan, good point 19:04:15 ok then, i'll call it neocallimastigomycota 19:04:35 oerjan, what about FBBI? Flaming Bovine Befunge Interpreter 19:04:39 funge 19:04:40 written by C. Pressy 19:04:42 is in befunge 19:04:44 is in FBBI 19:04:44 ehird, true 19:04:51 good point 19:05:35 oerjan: link to that page with funge-related names? 19:05:37 you linked to it a while ago iirc 19:05:43 ehird, and don't claim I can't admit when I was wrong in the future, now that it actually happened you saw me admit that right above 19:05:55 ~ 19:06:21 http://rcfunge98.com/rcsfingers.html#IMTH <-- why... 19:06:47 quite a few of those exist in FIXP 19:07:03 the rest are trivial without IMTH I think 19:07:21 ehird: this time i might suggest http://en.wikipedia.org/wiki/Category:Lists_of_fungal_species 19:07:49 meh 19:07:52 I preferred the flat list 19:07:56 darn latin 19:08:04 yeah those were in english 19:09:36 here's a big one: http://www.britmycolsoc.org.uk/files/ENGLISH_NAMES.pdf 19:09:43 it wasn't a pdf either :P 19:10:12 _and_ i didn't save the link 19:10:13 ehird, that isn't an issue when they open inline in the browser and without silly plugins 19:10:23 it just works here with konqueror 19:10:31 umm, that's a plugin. 19:10:35 also, pdfs suck anyway. 19:10:54 ehird, hm? kpdf is a kpart, which is used both by kpdf itself and by konqueror 19:11:11 AnMaster: kpart - you mean, a plugin 19:11:18 ehird, no a module 19:11:29 wow. it's not a module, it's a plugin. 19:11:31 how profound. 19:11:32 or kingerprint 19:11:34 ;P 19:11:34 a rose by any other name. 19:11:55 ehird, well I said "silly plugins", implying third party acrobat one 19:12:03 so sure it may be a plugin 19:12:15 if that makes you happier 19:15:21 another one: http://www.english-country-garden.com/fungus.htm 19:15:21 Deewiant, looks like Mike did his own variant of SNGL... SGNE 19:18:33 * AnMaster ponders a 3 letter fingerprint: SQL 19:18:36 well 19:18:50 I got some ideas for the "db independent" 19:19:46 all I will need is basic common SQL support. I mean, the concept of a database with one or more schemas, with views and tables (and possibly stored procedures and so on) 19:19:50 btw I just got an idea 19:19:54 for PostgreSQL 19:20:12 there is PL/pgSQL 19:20:17 and PL/Tcl 19:20:19 and several more 19:20:22 what about 19:20:26 PL/Befunge 19:20:27 :D 19:20:38 ehird, what do you thing? 19:20:43 think* 19:20:43 ? 19:20:53 ehird, about a PL/Befunge for Postgres 19:20:57 it's a crappy idea, like most of yours. 19:20:57 just a wild idea 19:21:04 did you want that, or the lie? 19:21:08 ehird, why is it crappy? 19:21:20 it's thoroughly uninteresting 19:21:22 there is a PL/sh even 19:21:25 which is worse IMO 19:21:46 (third party) 19:25:36 possible name: milkcap 19:26:28 ehird, for your interpreter? 19:26:34 yes 19:27:31 ehird, also if you decide to jit I'm not going to care, I don't have the time to add jitting to cfunge currently, no idea about later 19:28:26 it's the jitterbug 19:28:54 sigh 19:29:16 hm. mutability violating the liskov subtitution principle. interesting. 19:29:27 oerjan, that was too bad even for a groan 19:33:04 night all 19:34:17 Joel Spolsky reaches the minimum in substantive content: http://www.joelonsoftware.com/items/2009/01/13.html 19:34:31 -!- olsner_ has joined. 19:34:45 what, he has even less content now? 19:34:56 you should have said reaches a new mininum 19:34:59 :-) 19:35:34 lament: he's still got a bit to lose, though... he wrote a full title summarizing the article which he found & linked to, he picked a quote to excerpt, and found a relevant picture and resized & embedded it into the post 19:35:37 pianos are so nice, they have black keys and white keys 19:35:39 still way too much work 19:35:51 while on a fretboard all notes look the same :( 19:36:15 ebony and iiiivory... 19:36:55 i seriously conteplate labeling a fretboard. 19:41:04 -!- MigoMipo has joined. 19:41:07 -!- olsner has quit (Read error: 110 (Connection timed out)). 19:46:44 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 19:48:47 -!- CakeProphet has joined. 20:02:00 http://www.riffraff.info/2009/1/12/writing-a-shakespeare-interpreter-with-parrot 20:11:17 ^style 20:11:17 Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp 20:11:34 ^style ss 20:11:34 Selected style: ss (Shakespeare's writings) 20:11:56 fungot: don't you think these parrots are getting uppity? 20:11:57 oerjan: lucil. seruilius? you are they that hear their detractions, and can digest as much: make no compare between that love a woman can bear me and that i am 20:15:12 -!- kar8nga has joined. 20:21:26 -!- KingOfKarlsruhe has joined. 20:21:30 ^style irc* 20:21:30 Not found. 20:21:35 ^style ff7 20:21:35 Selected style: ff7 (Full script of the game Final Fantasy VII) 20:21:48 * means selected 20:21:50 fungot: poop. 20:21:51 ehird: aooooooh!! get in the attack on weapon. we can't use it in time! don't let your guard down! or ain't my hospitality good enough for you to the ancients, only aerith can save our lives. 20:21:55 fungot: poop out some text. 20:21:55 ehird: we've finally found you. 20:22:12 oh dear oh dear 20:25:01 -!- Corun has joined. 20:30:47 two yesses and i'll watch an ep, otherwise not. 20:30:49 ^bool 20:30:49 Yes. 20:30:50 ^bool 20:30:50 Yes. 20:30:55 * oklopol watches 20:37:58 fungot: you enabler you 20:37:58 oerjan: got it going to let them get any customers so. your orders? where are you talking about this? simply destroy a group like that you a copy once i push this button, they'll hear you. 20:41:55 -!- KingOfKarlsruhe has quit (Remote closed the connection). 20:46:53 -!- KingOfKarlsruhe has joined. 21:08:58 -!- Hiato has quit (Read error: 110 (Connection timed out)). 21:21:29 -!- Sgeo has joined. 21:23:37 -!- Corun has quit ("Leaving"). 21:23:44 Is the answer to this question "No."? 21:23:44 ^bool 21:23:45 No. 21:23:57 Great Success! 21:24:47 Is the answer to this question maybe? 21:24:48 ^bool 21:24:48 Yes. 21:25:10 erm... 21:25:15 According to fungot, the answer to MizardXs question isn't "No." 21:25:16 FireFly: i thought you were alive somewhere... before. goin' on!? da-chao statue and leviathan are ashamed!! you all right 21:25:25 'kay. 21:25:39 Is the answer to this question yes? 21:25:41 ^bool 21:25:42 Yes. 21:30:44 What is the answer to this question? 21:30:51 ^ul (A cheat.)S 21:30:51 A cheat. 21:37:07 -!- MigoMipo has quit. 21:37:34 How did Vundo manage to protect itself even in Safe Mode? 21:39:57 -!- BeholdMyGlory has joined. 21:40:28 idea: 21:40:39 a virtual machine running unpatched windows xp, with a mail account 21:40:46 a daemon runs on the machine containing it 21:40:54 whenever it gets an email with an attachment, it puts the attachment into the vm 21:40:57 and executes it 21:41:03 any next buttons are automatically clicked or sth 21:41:11 and, regularly, screenshots are automatically taken 21:41:14 and posted to a website 21:41:16 -> chaos 21:43:25 ehird: http://xkcd.com/350/ 21:44:19 ha 21:58:37 I'm pretty sure a file I have on my computer is part of Vundo, even though almost nothing detects it 21:58:43 Is there any place I can submit it? 21:59:06 yes. email a security company. 21:59:52 Like who? 21:59:56 try google 22:01:02 Found a place 22:01:20 where 22:01:55 -!- comexk has changed nick to comex. 22:02:32 "Because Vundo has random file names, it is not possible for VundoFix to have a 100% detection rate. Often, the infected files must be removed using VundoFix's "Add more files" option (they cannot be removed manually in any way)." 22:02:38 maybe that is relevant? 22:03:10 VundoFix has an "Add more files" option? 22:03:24 * Sgeo goes to use 22:03:27 (from wikipedia:VundoFix) 22:03:38 Although, if I knew of that earlier, I would not have found this second file 22:04:17 sgeo, how did you get infected? 22:04:26 Don't know 22:04:27 stoopid :| 22:04:38 so why are you using windows again 22:04:48 Various windows-only games 22:05:18 wut is wine/vmware 22:05:28 oooooooooooooooooooooo 22:05:35 VMware doesn't work with 3d 22:06:13 and WINE doesn't work with one of the programs I want 22:06:38 so use wine with all but the one which it doesn't work with, use vmware for that one 22:06:41 better not have fun than to use windows. 22:06:56 -!- olsner_ has changed nick to olsner. 22:06:57 The one it doesn't work with is a 3d program 22:07:11 just stop playing and quit wineing. 22:07:25 Sgeo: so boot into windows for that one 22:07:47 Or have a separate Windows laptop maybe.. OH WAIT 22:20:24 -!- Corun has joined. 22:24:27 -!- Corun has quit (Client Quit). 22:25:18 funge 98 in haskell project 22:25:19 i 22:25:20 s 22:25:22 GO 22:25:54 -!- pikhq has quit ("leaving"). 22:26:00 i wonder what i should implement first 22:26:12 > 22:26:18 wut? 22:26:35 or maybe v ? 22:26:38 -!- kar8nga has quit (Read error: 110 (Connection timed out)). 22:26:43 oerjan: nowhere near that stage first 22:26:50 that has to come after a complete fungespace impl... 22:27:47 -!- flexo has quit (Remote closed the connection). 22:27:53 -!- flexo has joined. 22:28:57 hm 22:32:48 so. who's alive of {fizzie,Deewiant,AnMaster,Asztal}? 22:32:52 {,Azstal} 22:33:18 hm? 22:33:30 trying to get the funge implementors :^) 22:33:51 oh that sz/zs thing 22:34:31 :-P 22:36:42 MEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 22:37:17 i detect a distinct lack of membership in the presented set 22:37:25 :| 22:37:31 :< 22:37:34 :( 22:37:36 have you implemented funge-98 oklopol 22:37:48 nope, nuvvah 22:37:53 -!- KingOfKarlsruhe has quit (Remote closed the connection). 22:38:05 93 a few times, does that count as one 98? :P 22:38:41 no :P 22:38:51 oh :( 22:39:45 i guess the first problem is to choose the datastructure for an infinite, reasonably efficient mutable array, 93 experience won't help there 22:40:06 oerjan: also, N-dimensional 22:40:27 yeah 22:40:47 also, lahey space 22:40:54 oh right 22:41:04 so need to detect line ends 22:41:22 scratch my Data.Map suggestion for simplicity then 22:41:34 Data.Map wouldn't be nearly fast enough anyway. 22:41:40 Note, oerjan, that it does need to be sparse. 22:41:52 Data.Map is sparse 22:41:55 yes 22:41:57 oerjan: {} 22:42:05 I need an infinite efficient mutable sparse array in N dimensions, that I can use as a lahey space 22:42:10 oklopol: hm? 22:42:13 I'm going to tell #haskell that 22:42:14 :DD 22:42:16 oerjan: py 22:42:24 hmm 22:42:27 oerjan: 22:42:28 The requirements for a line in Lahey-space are the following: Starting from the origin, no matter what direction you head, you eventually reach the origin. If you go the other way you reach the origin from the other direction. 22:42:37 doesn't that break down for infinite arrays? 22:42:57 er 22:43:21 as i said, you need to detect the end 22:43:49 well just store max coords in all directions. 22:43:52 (of inhabited space) 22:44:34 oerjan: then... that's not fungespace 22:44:39 fungespace is finite, isn't it? 22:44:40 AnMaster? 22:44:41 Deewiant? 22:44:49 http://www.gopromusic.com/get.php?id=1235 22:44:52 what are you talkin about? 22:45:13 lahey-space was invented for funges afaik 22:45:23 and they are infinite 22:46:31 meh, okay 22:46:37 but 22:46:37 oerjan: 22:46:40 Starting from the origin, no matter what direction you head, you eventually reach the origin. 22:46:43 that implies finiteness 22:47:04 only in an abstract sense 22:47:11 what really goes on iirc: 22:47:45 when you reach the end of the inhabited part of a line, you turn around and go to the other end, then turn again 22:47:50 ah 22:47:54 so you jsut keep track of current bounds 22:47:57 oerjan: i just mean that's a way to know when there's only uninhabited shit left. 22:47:58 and expand when you put stuff further? 22:48:01 yep 22:48:03 max coords of el habitation. 22:48:51 oerjan: but e.g. "g" still works on uninhabited space 22:48:51 like 22:48:56 if we just have 0,0 inhabited 22:49:00 also, the "going to the other end" is of course without executing anything 22:49:01 does 1,1 == 0,0 22:49:02 when you g it? 22:49:05 i.e., does g wrap 22:49:07 or only the ip 22:49:21 only the ip 22:49:41 heck otherwise there would be no easy way to expand the space... 22:49:52 no 22:49:53 that'd be using p 22:49:56 im talking about g 22:50:04 well yeah 22:50:18 http://search.cpan.org/~jquelin/Language-Befunge-4.07/ latest release november, i wonder if it works under mycology 22:50:19 but they are opposites so it would be insane 22:50:24 tru 22:50:40 i don't _think_ funge-98 is insane in that particular way 22:51:38 it's not exactly obvious how it's wrap if it wrapped. 22:51:45 *it'd 22:52:26 lucky i have fuzzy parsing on :D 22:53:56 keeping only global bounds could be inefficient though 22:54:16 what do you do then 22:54:29 keeping bounds for each line 22:54:49 ah 22:54:50 so 22:54:57 > 22:54:57 aaaaaaaaa 22:55:02 the first > meets itself instantly? 22:55:08 right 22:55:09 ofc 22:55:17 befunge-98 is fucking crazy 22:55:30 the wrapping is instantaneous 22:55:37 holy fack. 22:55:38 the other option is to loop infinitely anyway 22:55:45 lol 22:55:50 which is important for synchronized threading iirc 22:56:14 well not that important, you don't actually need to wrap, ever. 22:56:27 what is more important is that whitespace is instaneous 22:56:53 i vaguely recall someone mentioning it was ambiguous if it wrapped in a string 22:57:58 huh? 22:58:11 like if you have string mode and start moving into the infinite? 22:58:16 yes 22:58:24 err 22:58:32 in string mode, was whitespace space or not? 22:58:51 well obviously it's space if it's inside 22:59:03 if it's space, then moving out of bounds should, imo, simply start making an infinite string and exhaust all memory. 22:59:16 the whitespace is collapsed XML-style in a string :) 22:59:27 O_O 22:59:33 yep 22:59:34 the idea is just whitespace is a special optimized nop 22:59:36 'tis 22:59:37 ok that part _may_ be insane :D 22:59:38 hi Asztal 22:59:44 hello 22:59:47 it's not in string mode 22:59:55 Asztal: i assume you're willing to answer my endless qs :D 23:00:15 I can try :) 23:01:08 i wonder if I should ask Haskell "So. I need an infinite efficient mutable sparse array in N dimensions (settable at runtime), that I can use as a lahey space" again 23:09:17 again? 23:10:34 yes 23:11:19 -!- Corun has joined. 23:18:37 23:18 from that page: "Lahey-Space is a mathematical model of the space used in Funge-98" <-- that is a lie 23:18:38 23:18 rwbarton: is it now 23:19:01 23:18 Yes 23:19:02 23:18 There is no math in the subsequent section 23:19:03 fail 23:21:27 -!- Corun has changed nick to SomeGuy. 23:21:45 -!- SomeGuy has changed nick to KEITH-EMULATOR. 23:22:04 -!- olsner has quit ("Leaving"). 23:22:06 -!- KEITH-EMULATOR has changed nick to Corun. 23:22:32 Corun: so there's a shortage of real keiths now? 23:22:35 <_< 23:22:36 Syntax 23:22:36 The syntax for identifiers draws from the best parts of the esteemed languages BASIC and Perl. Like Perl, all identifiers must be preceded by a $ symbol, and like BASIC, identifiers must be followed by a symbol indicating their type. Except we don't care about their type really, so we say they must be followed by $. (Studies also show that this syntax can help serious TeX addicts from "bugging out".) 23:22:41 -- http://catseye.tc/projects/quylthulg/doc/quylthulg.html 23:24:17 ehird: sure it was fail and not a joke? 23:24:22 oklopol: nope 23:24:26 it was fail 23:24:27 >_< 23:24:37 i mean it was a pretty classic joke. 23:24:58 was a pretty lucky fail 23:25:45 I'm glad I didn't bother with the N dimensions thing 23:25:50 As an example, 23:25:50 -foreach $x$ = [2, 3, 4] with $a$ = 1 be *$a$*$x$* else be null-1- 23:25:51 will evaluate to 23. On the other hand, 23:25:53 foreach $x$ = null with $a$ = 1 be $a$ else be 23 23:25:55 will also evaluate to 23. 23:26:24 i think there's still some serious tex bugging there 23:27:03 Now you see why we don't need arguments to these macros: you can simply use macros as arguments. For example, 23:27:03 {*[SQR][*{X}*{X}*]}{*[X][5]}{SQR} 23:27:35 The first school (Chilton County High School in Clanton, Alabama) says that most comments that programmers write are next to useless anyway (which is absolutely true) so there's no point in writing them at all. 23:27:36 The second school (Gonzaga College S.J. in Dublin, Ireland — not to be confused with Gonzaga University in Spokane, Washington) considers comments to be valuable as comments, but not as source code. They advocates their use in Quylthulg by the definition of macros that are unlikely to be expanded for obscure syntactical reasons. For example, {*[}][This is my comment!]}. Note that that macro can be expanded in Quylthulg using {}}; it's just that the Gon 23:27:41 zaga school hopes that you won't do that, and hopes you get a syntax error if you try. 23:27:43 The third school (a school of fish) believes that comments are valuable, not just as comments, but also as integral (or at least distracting) part of the computation, and champions their use in Quylthulg as string literals involved in expressions that are ultimately discarded. For example, <"Addition is fun!"<+1+2+<. 23:31:05 -!- BeholdMyGlory has left (?). 23:38:50 -!- FireFly has quit ("Later"). 23:39:22 Is Quylthulg turing complete? 23:39:35 yes. 23:40:02 beyond all doubt, apparently 23:40:03 with addition of the turing-completeness instruction? 23:40:54 * oerjan sprays Sgeo and lament with Doubt-B-Gone 23:42:19 PHHSHHHHHHHHHHHHHHTt. 23:42:51 a language with no iteration would be fun 23:42:54 the code is a list 23:43:04 so loops are making lists that cycle a few times 23:45:26 a cyclopean language 23:46:08 it cycles, just like the bass guitar fretboard 23:57:13 AAAAAAHHHHHHHRRRRRRRGGGGGGGHHHHHHHH! 23:57:34 what 23:57:38 why did you say that in both channel 23:57:39 s