00:01:00 -!- oerjan has joined. 00:05:46 -!- MizardX- has joined. 00:06:02 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 00:06:24 -!- MizardX- has changed nick to MizardX. 00:13:32 -!- jix has quit ("sleep"). 00:18:52 -!- Dewio has joined. 00:31:20 -!- Dewi has quit (Read error: 101 (Network is unreachable)). 00:38:24 wow... Primer is an awesome movie 00:38:54 the first time you watch it, you think things start getting weird 20 minutes before the film ends 00:39:09 but really... they start getting weird only 20 minutes after the film begins 00:39:49 it's pretty screwed up... and amazing... 00:41:18 are there any threading-oriented esolangs? 00:43:19 NOOOOOOOOOOOOOO 00:44:03 * coppro pokes Gracenotes 00:45:12 -!- puzzlet has quit (Remote closed the connection). 00:45:15 -!- puzzlet has joined. 00:48:59 coppro: check out http://esoteric.voxelperfect.net/wiki/Category:Concurrent_programming 00:49:11 only 4? 00:50:56 it's fairly rare, but there might be uncategorized ones 00:52:15 heh Network Headache may be one 00:52:33 (found from http://esoteric.voxelperfect.net/wiki/Category:Nondeterministic) 00:54:16 hm SNUSP has a concurrent variant 00:54:25 (found by searching for "thread") 00:54:33 hmm 00:54:44 of those 4, two are BF variants and two are Befunge-likes 00:55:05 and there is Threaded INTERCAL 00:55:26 yeah, good point 00:55:38 coppro: just bad categorization i take 00:56:02 SNUSP is both! 00:56:51 CLoop is parallel but not concurrent (no interaction) 00:57:46 TwoDucks 00:57:52 there are many 01:18:48 -!- oerjan has quit ("leaving"). 01:37:06 -!- GregorR has quit (Remote closed the connection). 01:38:19 -!- GregorR has joined. 01:43:13 -!- puzzlet_ has joined. 01:54:47 -!- oerjan has joined. 01:55:07 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 01:56:55 -!- psygnisfive has joined. 01:59:29 -!- Sgeo has joined. 02:00:36 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 02:01:41 -!- puzzlet has joined. 02:29:14 * oerjan finds a bug 02:29:39 * pikhq sticks a cockroach on oerjan's keyboard 02:30:33 this one was virtual 02:30:45 although i found another ant in the bathroom earlier 02:30:50 That one is not. 02:31:01 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW 02:31:04 (it is non-existent; big difference) 02:31:08 oh 02:35:00 OMG IT'S WORKING 02:37:44 lessee 02:38:03 !delinterp slashes 02:38:03 Interpreter slashes deleted. 02:38:25 !addinterp slashes perl http://oerjan.nvg.org/esoteric/slashes.pl 02:38:27 Interpreter slashes installed. 02:38:37 (slightly improved) 02:38:53 !slashes http://oerjan.nvg.org/esoteric/counter.slashes 02:39:02 bah 02:40:16 !slashes test 02:40:16 test 02:40:42 problem is, without newlines it never prints anything, with newlines no one but me will see it 02:41:09 Screwy. 02:41:09 !slashes http://oerjan.nvg.org/esoteric/counter.slashes 02:41:10 * 02:41:26 except the first line 02:41:36 hm no DCC CHAT 02:42:11 my other fear seems to come true: EgoBot doesn't allow enough time to reach the next iteration 02:42:20 oh well 02:43:16 wait what 02:43:23 now it doesn't work in my terminal either 02:45:12 huh the slashes interpreter has some trouble with newlines 02:47:18 * oerjan suspects some multiline setting problem 02:49:52 ah indeed missing s options on s/// 02:50:12 a backslash followed by newline won't be unescaped 02:50:56 et voila 02:51:10 !delinterp slashes 02:51:10 Interpreter slashes deleted. 02:51:18 !addinterp slashes perl http://oerjan.nvg.org/esoteric/slashes.pl 02:51:19 Interpreter slashes installed. 02:51:28 !slashes http://oerjan.nvg.org/esoteric/counter.slashes 02:51:29 * 02:52:11 !slashes http://oerjan.nvg.org/esoteric/counter.slashes 02:52:12 * 02:52:27 hmph 02:52:44 it now gives _one_ more line (with **) in DCC CHAT 02:53:00 this program is expensive :D 02:53:40 oh well it works in a terminal window 02:58:20 !slashes http://oerjan.nvg.org/esoteric/counter.slashes 02:58:21 * 03:01:10 !delinterp slashes 03:01:10 Interpreter slashes deleted. 03:01:18 !addinterp slashes perl http://oerjan.nvg.org/esoteric/slashes.pl 03:01:18 Interpreter slashes installed. 03:01:35 (my own interp still had an old bug that was fixed on the wiki) 03:02:13 GregorR: do you see anything more than two lines? 03:02:20 Nope 03:04:31 i think ive built my first generic-ish parser that produces a parse tree. o.o; 03:04:51 all my previous parsers were really customized to the language, but this one, no! 03:04:57 this one uses normal parsing methods. lol 03:13:05 god, what, did i kill the conversation? 03:13:49 * oerjan is busy preparing his slashes program with continuation line breaks 03:14:02 by modifying the haskell generator 04:20:32 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 04:21:59 -!- puzzlet has joined. 04:22:16 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 04:26:59 -!- puzzlet has joined. 04:48:39 How's that ///ology coming along? 04:48:49 kerlo: see the wiki :) :) :) 04:50:38 slashes has so much potential 04:51:03 yeah now my bet is certainly on turing-completeness 04:51:20 Cool. 04:51:38 And yeah, non-Turing-completeness is kind of hard to imagine at this point. 04:51:54 I guess you win the $500 prize. 04:52:00 yay! 05:15:23 -!- coppro has quit (Remote closed the connection). 05:16:42 -!- Dewio has quit (lindbohm.freenode.net irc.freenode.net). 05:16:42 -!- ineiros has quit (lindbohm.freenode.net irc.freenode.net). 05:16:42 -!- Ilari has quit (lindbohm.freenode.net irc.freenode.net). 05:16:43 -!- Asztal has quit (lindbohm.freenode.net irc.freenode.net). 05:16:43 -!- ehird has quit (lindbohm.freenode.net irc.freenode.net). 05:16:43 -!- rodgort has quit (lindbohm.freenode.net irc.freenode.net). 05:16:43 -!- Sgeo has quit (lindbohm.freenode.net irc.freenode.net). 05:16:43 -!- comex has quit (lindbohm.freenode.net irc.freenode.net). 05:17:06 -!- Sgeo has joined. 05:17:06 -!- comex has joined. 05:17:42 -!- Dewio has joined. 05:17:42 -!- ehird has joined. 05:17:42 -!- ineiros has joined. 05:17:42 -!- Ilari has joined. 05:17:42 -!- rodgort has joined. 05:17:42 -!- Asztal has joined. 05:26:57 ew netsplit 05:30:34 -!- oerjan has quit ("leaving"). 05:58:04 -!- asie[brb] has joined. 05:58:08 -!- asie[brb] has changed nick to asiekierka. 05:58:12 Hello 05:58:14 ^style 05:58:14 Available: agora alice c64* darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube 05:58:19 yay 05:58:22 fungot: say something 05:58:22 asiekierka: another problem is that stop causes the keyboard matrix tables should not exceed the limit. it will " wrap around" back to ascii text of the basic rom. 05:58:39 fungot: I understand. Now, why would it wrap around? 05:58:39 asiekierka: preparatory routines: none note: ror instruction is tacked on to location 894 which is decoded by your program will continue to do this either by hitting the return key 05:58:50 :D 05:58:54 ^style youtube 05:58:55 Selected style: youtube (Some YouTube comments) 05:59:01 fungot: How do you feel? 05:59:01 asiekierka: and if there hadn't been people on board 05:59:09 fungot: Then what? 05:59:09 asiekierka: ive seen so many people wher on board this plane hit a forest at 200mph within 4 seconds of data to make a great father... your son seem to suggest, vote on. 05:59:16 ^style c64 05:59:16 Selected style: c64 (C64 programming material) 05:59:20 :D 05:59:28 so we have new styl-o-matics 06:00:08 ^style speeches 06:00:09 Selected style: speeches (misc. speeches from Project Gutenberg) 06:00:15 fungot: Are you nice? 06:00:23 ... 06:00:28 ......................... 06:00:34 what happened to the n-gram model? 06:00:40 fungot: Are you nice? 06:00:45 fungot: Hello. 06:00:49 ...O_o; 06:03:19 "Because I'm too busy right now to respond to important emails and update the site in a timely manner, I've taken the majority of the archives down." 06:04:02 what? where? 06:05:30 -!- Infinitismal has joined. 06:06:02 http://sites.google.com/site/c3dsarchives/ 06:12:28 i'm amazed how no-one made a "twitter" style yet 06:17:54 hm? 06:19:52 a twitter style what? 06:22:44 twits 06:22:50 just like youtube comment style 06:22:53 it has a lot of youtube comments 06:23:00 so twitter style would have many "twits" 06:29:16 no thats people who use twitter 06:32:45 oh 06:32:48 twitter messages then 06:32:49 also 06:32:51 going off 06:32:56 -!- asiekierka has quit. 07:02:17 -!- bsmntbombdood has changed nick to bsmntbombgirl. 07:11:11 -!- kar8nga has joined. 07:25:55 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)). 07:29:26 -!- kar8nga has joined. 07:54:49 -!- kar8nga has quit (Remote closed the connection). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:29 -!- puzzlet has quit (Remote closed the connection). 08:03:33 -!- puzzlet has joined. 08:32:46 -!- lereah_ has joined. 09:05:35 The messages themselves are "tweets", as I understand it. 09:28:23 -!- OKLOPOL has joined. 09:28:29 hello i'm an OKLOPOL 09:28:35 -!- OKLOPOL has changed nick to oklopol. 09:29:28 Now you gone went smaller. 09:29:54 that's how i manage, man. 09:30:08 i just broke a plate. 09:30:13 i dropped it. 09:30:19 it made a crash. 09:30:29 my ears said yikes 09:30:32 . 09:31:37 Manage the age of man. 09:37:00 sera meganame manage mares <<< makes no sense maybe, but it's the best i could do. 09:43:04 E-manage moon, no omega name. 09:46:27 -!- oklopol has quit (Read error: 60 (Operation timed out)). 09:46:56 I didn't think it was that bad. :/ 09:48:30 -!- Sgeo has quit ("Leaving"). 09:57:38 -!- oklodok has joined. 10:03:18 -!- oklopol has joined. 10:21:17 -!- oklodok has quit (Read error: 113 (No route to host)). 10:41:08 -!- ais523 has joined. 11:20:40 -!- tombom has joined. 11:22:28 -!- jix has joined. 11:44:11 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 12:32:16 -!- ais523 has quit (Remote closed the connection). 12:46:51 -!- KingOfKarlsruhe has joined. 12:57:32 -!- asiekierka has joined. 12:57:34 Hello 12:57:38 ^style 12:57:38 Available: agora alice c64 darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches* ss wp youtube 12:57:43 ^style youtube 12:57:43 Selected style: youtube (Some YouTube comments) 12:57:51 fungot: Esoteric stuff! 12:57:59 ...WTH? 12:58:02 fungot: Hi 12:58:44 I'm guessing it's in ignore mode; it only does four or so replies for one particular person consecutively, to make it a bit less annoying for people who try to get something done. 12:59:00 fungot: Walk like a YouTubeian. 12:59:00 fizzie: did every body die? sorry but thats just cuz she older and well documented crash but people died! put this in a box, and it wasn't... 12:59:14 There, now you have four replies again. 13:01:20 fizzie: Oh. 13:01:29 well, I just wanted to see if it works 13:02:42 and also, I just want to make a C64 OS :P 13:04:42 And I think I finally know how to do it :D 13:07:28 Well, I first need to have a way to output a single char. Answer: self-modifying code! :D 13:07:40 well, you can also do it with A and X but nah 13:07:48 you would still need to output it there anyway 13:27:14 -!- jix has quit ("leaving"). 13:33:18 -!- lereah_ has quit (Remote closed the connection). 13:37:47 Erlang is perfect for a bf optimiser really 13:37:55 the pattern matching makes it very easy 13:38:07 + the "multiple entry points to function" 13:38:34 for example the "combine ++ into +" is: 13:38:36 optimise([#bfn{ ins = add, off = Offset, val = V1 }|T], 13:38:36 [#bfn{ ins = add, off = Offset, val = V2 } = A|Result]) -> 13:38:36 optimise(T, [A#bfn{ val = V1 + V2 }|Result]); 14:09:46 -!- KingOfKarlsruhe has quit (Remote closed the connection). 14:23:44 -!- upyr[emacs] has joined. 14:33:10 fungot: what does this do 14:33:10 tombom: megadeth is who plays the role heath ledger plays in the movie? 14:36:13 hi upyr[emacs] 14:36:16 haven't seen you around 14:36:18 you new? 14:38:54 slashes is totally a reverse ripoff of my lanaugae 14:40:35 http://oerjan.nvg.org/esoteric/SlashesCounter.hs 14:40:36 wow 14:40:37 oerjan coding 14:40:46 punossible 14:44:33 It's not just oerjan-coding, but clever coding too. I did have the "use a character which scans through the program" idea too (it's so common in string-rewritingy things) but thought it'd need some looping; but of course it doesn't need to be unbounded there. 14:45:08 verily 14:52:54 ehird: hi. 14:53:04 hi 14:54:30 pseudorandom number generator with brainfuck - it's real? 14:55:02 upyr[emacs]: Sure. it produces the same results every run, of course ... 14:55:18 But the list of results it outputs should be more or less sufficient for pseudorandom purposes. 14:55:54 I should implement it for my C64 OS later on 14:56:01 upyr[emacs]: If you need, say, 1000 random numbers from 0-255, you can just tell the user to run as ((head -c 1000 /dev/urandom && cat) | bf foo.b) 14:56:12 and 1000 ,>s at the start of your program 14:56:20 but if you don't mind it being the same evry time... 14:59:56 YOu could pretty much say "PRESS ENTER" and run an infinite loop of pseudorandom generation until the user hits enter 14:59:57 :D 15:00:09 also, doh, my printing code does not work 15:00:19 asiekierka: you can't run code while listening for input 15:00:38 ... 15:00:42 you can't? 15:00:49 , blocks 15:00:53 this is trivial shit 15:01:03 no 15:01:07 this is IMPLEMENTATIONAL shit 15:01:13 what 15:01:23 ehird: ok.thanks 15:01:23 oh wait 15:01:26 i forgot about something 15:01:33 upyr[emacs]: yw 15:01:37 -!- asiekierka has set topic: #esoteric, the international hub for esoteric programming language design and deployment - #esoteric is not associated with the joke language Perl, please visit www.perl.org - logs: http://tunes.org/~nef/logs/esoteric/ | to make fungot talk different use ^style. 15:01:44 here 15:02:00 -!- ehird has set topic: international pub http://tunes.org/~nef/logs/esoteric/. 15:02:25 -!- asiekierka has set topic: international pub http://tunes.org/~nef/logs/esoteric/ | to make fungot talk different use ^style. 15:03:39 ^help 15:03:39 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 15:03:52 -!- ehird has set topic: international pub http://tunes.org/~nef/logs/esoteric/. 15:03:53 ^show 15:03:53 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble 15:03:55 everyone knows about ^style 15:03:57 :p 15:04:13 ^show scramble 15:04:14 >>,[>,]<[<]>[.>>]<[>>]<2[.<2] 15:04:19 ^scramble asciikierka 15:04:19 aciirakekis 15:04:29 ^scramble asterisks 15:04:30 atrsskies 15:04:33 ^unscramble atrsskies 15:04:34 asterisks 15:04:43 ^unscramble acirakekiis 15:04:43 asciiirkaek 15:04:45 :P 15:04:48 it's the ehird srmlebac algorithm 15:04:52 ^show srmlebac 15:04:53 >>,[>,]<[<]>[.>>]<[>>]<2[.<2] 15:04:53 and its inverse 15:05:00 they're the same 15:05:01 doh 15:05:08 asiekierka: scramble is an alias for srmlebac 15:05:15 same with unscramble/uenlsbcmra 15:05:23 ^scramble uenlsbcmra 15:05:23 unscramble 15:05:53 18273645 is how it works 15:06:04 I know 15:06:10 ^scramble 123456789 15:06:10 135798642 15:06:17 asiekierka: I did invent the algorithm, you know :P 15:06:18 ^scramble 12345678 15:06:18 13578642 15:06:24 erm... 15:06:25 ^unscramble 123456789 15:06:26 192837465 15:06:30 ^unscramble 12345678 15:06:30 18273645 15:06:34 There you go. 15:06:35 whew 15:06:54 ^unscramble eggs 15:06:54 esgg 15:07:10 ^scramble d eggs 15:07:10 degsg 15:07:13 http://oerjan.nvg.org/esoteric/SlashesCounter.hs <-- "-- By �rjan Johansen, May 2009."? 15:07:21 AnMaster: What about it? 15:07:28 ehird, encoding fail I think. 15:07:33 Nope, it's your fail. 15:07:35 * AnMaster tries ISO 15:07:36 It slows up perfectly fine for me. 15:07:39 *shows 15:08:00 It has no charset= in the Content-Type, but oh well. 15:08:02 ehird, maybe your client auto detect it as "ISO" and uses that. 15:08:11 No, in my client it displays wrongly. 15:08:12 on IRC I mean 15:08:14 In my browser it does not. 15:08:15 ah 15:08:16 right 15:08:20 -- By Ørjan Johansen, May 2009. 15:08:23 well mine defaulted to UTF-8 15:08:24 ^def ascram bf >>,[>,][[<]>.[-]>.[-][>]<.[-]<.[-]<] 15:08:24 Defined. 15:08:24 copy/pasting autoconverts 15:08:29 ^ascram spartans 15:08:39 ... 15:08:57 ^def ascram bf >>,[>,]+[[<]>.[-]>.[-][>]<.[-]<.[-]<] 15:08:58 Defined. 15:09:00 ^ascram spartans 15:09:00 sp 15:09:06 ... *sigh* 15:09:21 ^scramble spartans 15:09:21 satnsarp 15:09:23 scrambled spartans 15:09:31 i want to have my own algorithm too 15:09:38 mwaha 15:10:00 ^def ascram bf >>,[>,]<[[<]>.[-]>.[-][>]<.[-]<.[-]<] 15:10:01 Defined. 15:10:05 ^ascram testing! 15:10:05 te 15:10:30 The server sends "Content-Type: text/x-haskell" with no charset modifier, so it's a bit debatable. Unless Haskell happens to have a well-defined standard encoding? 15:10:43 Oh, ehird mentioned already. Still. 15:11:04 Still, there's a lot of mojibake out there if you don't autodetect. 15:11:13 ^def ascram >>,[>,]<[---<-<--<-----<][>>.<.>] 15:11:14 Usage: ^def 15:11:18 ^def ascram bf >>,[>,]<[---<-<--<-----<][>>.<.>] 15:11:19 Defined. 15:11:22 ^ascram test 15:11:27 *SIIIGH* 15:11:35 ^show scramble 15:11:35 >>,[>,]<[<]>[.>>]<[>>]<2[.<2] 15:11:42 try that 15:11:52 i'm using my own algorithm 15:11:52 its shorter too 15:11:52 doh 15:12:16 ^def ascram bf >>,[>,]<[---<-<--<-----<]>[>>.<.>] 15:12:16 Defined. 15:12:19 ^show ascram 15:12:19 >>,[>,]<[-3<-<-2<-5<]>[>>.<.>] 15:12:26 it looks like a crap algorithm :) 15:12:28 ^ascram testtest 15:12:28 rcoqrc 15:12:44 ...testte... forgot about 2 bytes 15:12:53 ^ascram testtestt 15:12:53 `qsq`qsq 15:13:03 O_O;; 15:13:57 * AnMaster considers non-destructive copy in bf. The shortest I can think of uses one scratch cell: [->+>+<<][+>-<] to copy to the cell two above, and use the one at one above for scratch. 15:14:00 Any shorter way? 15:14:33 ^def lasi bf ,[[>+<-],] 15:14:33 Defined. 15:14:40 ^lasi aaaaa 15:14:43 oh 15:14:52 ^def lasi bf ,[[>+<-],]>. 15:14:52 Defined. 15:14:57 ^lasi aaaaa 15:14:57 15:15:11 hm 15:15:18 ...does fungot use 8 bits 15:15:18 asiekierka: i like the old pics!!!!! no way, is it? i did get to me, the pilot if he tries to touch the ground 15:15:30 You don't really need to define commands for testing; you can just use "^bf code!input". 15:15:32 !help 15:15:33 Supported commands: addinterp bf_txtgen daemon daemons delinterp fyb help info kill userinterps 1l 2l adjust asm axo bch bct befunge befunge98 bf bf16 bf32 bf8 bfbignum boolfuck c chiqrsx9p choo cintercal clcintercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor rot13 sadol sceql sh show slashes test trigger udage01 underload unlambda whirl yodawg 15:15:44 And yes, the cells are 8 bits. 15:15:45 I'd use egobot but it doesn't support input 15:15:48 in any form or shape 15:16:17 ...Are the cells wrapping 15:16:20 Yes. 15:16:36 ^lasi AAAAA 15:16:36 E 15:16:54 it should be ASCs but nah 15:17:07 Asiekierka's Stupid Checksum system 15:18:04 ^bf ,[[>+<-]>>+<<,]>.>>+++++++++++++[<+++>-]<.!AAAAA 15:18:04 E, 15:18:09 ...something wrong (again 15:18:10 15:15 asiekierka: I'd use egobot but it doesn't support input 15:18:14 ur an idyot 15:18:17 daemons lol 15:18:18 !help 15:18:18 Supported commands: addinterp bf_txtgen daemon daemons delinterp fyb help info kill userinterps 1l 2l adjust asm axo bch bct befunge befunge98 bf bf16 bf32 bf8 bfbignum boolfuck c chiqrsx9p choo cintercal clcintercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor rot13 sadol sceql sh show slashes test trigger udage01 underload unlambda whirl yodawg 15:18:21 !help bf 15:18:21 Sorry, I have no help for bf! 15:18:28 !daemon butt bf ,[.,] 15:18:28 Daemon butt running. 15:18:31 !butt on the floor 15:18:31 on the floor 15:18:34 !butt indeed 15:18:34 ...oh 15:18:34 indeed 15:18:38 that works 15:18:42 !bf ,[.,]!hmm does this 15:18:45 nah 15:18:47 :P 15:18:55 !c printf("butt\n") 15:18:57 butt 15:19:25 :o 15:19:37 !c char b[1024];gets(b);puts(b) 15:19:38 ^bf ,[[>+<-]>>+<<,]>.>>++++++++++++[<++++>-]<.!AAAAA 15:19:38 E5 15:19:39 er 15:19:44 ^bf ,[[>+<-]>>+<<,]>.>>++++++++++++[<++++>-]<.!ABCDE 15:19:44 O5 15:19:46 !daemon cs c char b[1024];gets(b);puts(b) 15:19:47 Daemon cs running. 15:19:49 !cs abcdefg 15:20:42 !daemon bottles chiqrsx9p 9 15:20:42 Daemon bottles running. 15:20:44 !bottles 15:20:50 !info 15:20:50 EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ 15:20:57 (Just for the link.) 15:21:16 You know 15:21:27 oh, of course 15:21:31 !c typedef struct { int omg; } WHAT_YOU_SAY; WHAT_YOU_SAY destruction = { 4}; printf("%d\n", destruction.omg); 15:21:33 One day, I should make script-created lists of styles for each individual person on IRC 15:21:37 !daemon cs c char b[1024];gets(b);puts(b);fflush(stdout) 15:21:37 That daemon is already running! 15:21:40 for example 15:21:41 .... . 15:21:41 !delinterp cs 15:21:41 That interpreter doesn't exist! 15:21:42 !daemon cs c char b[1024];gets(b);puts(b);fflush(stdout) 15:21:42 That daemon is already running! 15:21:46 ... 15:21:48 it doesn't run my example! :_: 15:21:55 there will be a style for Gracenotes, ehird, asiekierka 15:21:55 Kill, don't delinterp. 15:21:57 !kill cs 15:21:57 Daemon cs killed. 15:21:59 !daemon cs c char b[1024];gets(b);puts(b);fflush(stdout) 15:22:00 Daemon cs running. 15:22:01 !cs aaa 15:22:02 aaa 15:22:05 !cs bbb 15:22:13 aha! 15:22:13 !daemon cs c char b[1024];for(;;){gets(b);puts(b);fflush(stdout);} 15:22:14 That daemon is already running! 15:22:16 !kill cs 15:22:16 Daemon cs killed. 15:22:17 !daemon cs c char b[1024];for(;;){gets(b);puts(b);fflush(stdout);} 15:22:17 Daemon cs running. 15:22:19 !cs a 15:22:23 !cs b 15:22:24 a 15:22:24 b 15:22:26 !cs c 15:22:26 c 15:22:28 !cs wtf, ehird 15:22:28 !cs d 15:22:28 wtf, ehird 15:22:28 d 15:22:33 yay 15:22:40 !cs don't play with fire.c 15:22:40 don't play with fire.c 15:22:50 Gracenotes: if you have some non-function body stuff you need to declare main() 15:22:56 can i talk with you, ehird? 15:23:02 no, asiekierka 15:23:12 !c typedef struct { int omg; } WHAT_YOU_SAY; int main() { WHAT_YOU_SAY destruction = { 4}; printf("%d\n", destruction.omg); return 0; } 15:23:14 ehird: but the plane said so! 15:23:25 *eyes suspiciously* 15:23:44 what 15:23:48 Gracenotes: wtf, plane 15:23:53 is egobot a bot 15:23:55 tombom: yes 15:23:58 tombom: asiekierka is controlling him 15:24:00 because he thinks it's funny 15:24:01 perhaps I also need... 15:24:05 tombom: Of epic plane proportions, so but. 15:24:06 he does this kind of stuff *a lot* 15:24:07 rught 15:24:19 an include? 15:24:25 aight, let's stop this nonsense 15:24:33 but not possible with semicolons 15:24:36 !c typedef struct { int omg; } WHAT_YOU_SAY; int main() { WHAT_YOU_SAY destruction = { 4}; printf("%d\n", destruction.omg); fflush(stdout); return 0; } 15:24:44 hm. 15:24:46 !cs do i still work? 15:24:52 ... 15:24:55 seems nto 15:24:57 not* 15:24:57 uh oh 15:24:58 yay 15:24:58 !help 15:24:58 Supported commands: addinterp bf_txtgen daemon daemons delinterp fyb help info kill userinterps 1l 2l adjust asm axo bch bct befunge befunge98 bf bf16 bf32 bf8 bfbignum boolfuck c chiqrsx9p choo cintercal clcintercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor rot13 sadol sceql sh show slashes test trigger udage01 underload unlambda whirl yodawg 15:25:04 !forth ." hello world" cr 15:25:18 how odd. 15:25:34 it works on GCC if I #include 15:25:57 Based on a hg clone, it does: #include \n#include \n#include \n#include \n#include \nint main(int argc, char **argv) { ; return 0; } 15:26:22 fizzie: no, not if you declare things 15:26:22 I think 15:26:31 I didn't see any code related to that, but I might've missed. 15:26:38 hmmmmmmm 15:26:41 GregorR! 15:26:59 !c struct { int omg; } destruction = { 4 }; printf("%d\n", destruction.omg); fflush(stdout) 15:27:04 Well, that's a no-go too. 15:27:40 some errors would be nice ;_; 15:27:52 i'm sure it did 15:28:04 !c #include \n typedef struct { int omg; } WHAT_YOU_SAY; int main() { WHAT_YOU_SAY destruction = { 4}; printf("%d\n", destruction.omg); return 0; } 15:28:12 DO NOT WANT!! 15:28:33 !perl print "welp"; 15:28:42 THIS BOT IS NOT VERY GOOD 15:28:47 it's broken 15:28:52 asiekierka probably borken it 15:28:55 !perl print "welp\n"; 15:30:27 ^ul (left)(one)(this)(have)(just)(we)(now)(~S( )S:^):^ 15:30:27 now we just have this one left ...out of stack! 15:30:33 (Terminating conditions are so boring.) 15:31:30 how large is the stackattack? 15:31:52 anyone else watch Vampire Hunter D? 15:32:25 Fungot's ^ul stack is ffaa*** characters. 15:32:49 That's the misleading underflow message, though. 15:33:10 hm 15:33:19 ^ul (::::)(~:*~:^):^ 15:33:19 ...too much stack! 15:33:43 so 22500 chars 15:33:47 fizzie: what's the separator? 15:33:52 '? 15:33:55 "? 15:33:57 )? 15:34:00 \0 15:34:01 ? 15:34:06 \0, I think. 15:34:09 ...................................................................................................................................................... 15:34:18 what would be a good name for an optimiser pass for bf that changes: add, move pointer, add into: add, add offset 1, move pointer 15:34:19 ? 15:34:31 umm 15:34:35 that's nothing special 15:34:42 but 15:34:44 ehird: Actually "\0, I'm sure", since I use STRN's G/P to manipulate, and that does nul-terminated. 15:34:45 bf2c.hs calls it 15:34:54 the phrase "store motion pass" pops up but probably isn't relevant. 15:35:19 AnMaster: "combine Move-s along the program by pushing them to the end" 15:35:21 you're welcom 15:35:21 e 15:35:27 i'd call it move shifting 15:35:30 ehird, and I never said it was special. I just need a short snappy name. 15:35:34 ah shifting works 15:35:35 fizzie: including the I'm sure? 15:35:42 AnMaster: so (define (shift-moves ... 15:35:50 ehird: Yes. It's like Perl's "0 but true". 15:35:58 ehird, um. I'm not working on after. I'm working on in-between 15:36:00 atm 15:36:21 fizzie: does it accept \0s over irc? 15:36:22 >:) 15:36:39 You can't send \0s over IRC; it's disallowed by the protocol. 15:36:46 Well, I'm not sure how true that is in practice. 15:36:58 i'd bloody well find out, except... 15:37:04 i forget the key combination 15:37:21 fizzie, I'm pretty sure it is true 15:37:21 ...hey, did i just break EgoBot 15:37:22 !help 15:37:22 Supported commands: addinterp bf_txtgen daemon daemons delinterp fyb help info kill userinterps 1l 2l adjust asm axo bch bct befunge befunge98 bf bf16 bf32 bf8 bfbignum boolfuck c chiqrsx9p choo cintercal clcintercal cxx dimensifuck echo forth glass glypho hello kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor rot13 sadol sceql sh show slashes test trigger udage01 underload unlambda whirl yodawg 15:37:24 ah, C-v C-S-2 15:37:27 ...No, i didn't 15:37:28 :( 15:37:31 !bf .++++++++++. 15:37:45 -!- fkjdskfdshjf has joined. 15:38:01 a 15:38:04 darn 15:38:05 that was a\0b 15:38:16 just \0 said no text to send 15:41:07 -!- fkjdskfdshjf has quit (Remote closed the connection). 15:44:16 ^bf ,[>,]<[.<]!123 15:44:17 321 15:46:22 ^bf >++++++[<++++++++>-]>++[<+++++>-]<[<.+>-] 15:46:22 0123456789 15:47:29 ^bf ,[>,]<[<.>.<<]!12345 15:47:29 4523 15:47:40 ^bf ,[>,]<[<.>.<<]>[.]!12345 15:47:41 4523 15:47:42 * Clang replacing GCC in the base system 15:47:44 http://lists.freebsd.org/pipermail/freebsd-stable/2009-May/049873.html 15:47:44 nah 15:47:49 god, freebsd is looking hot 15:47:58 jail(), clang ... 15:49:47 ^bf ++++++[>++++++++++<-]>++.<+++[>----------<-]>.[++++++++++>,----------]<[<]>[>.]!test 15:49:53 > ...out of time! 15:52:12 * Clang replacing GCC in the base system // so everything is going to be compiled via LLVM? Interesting. 15:52:20 GregorR: not everything 15:52:22 just the base system 15:52:22 Even the kernel? 15:52:26 user applications will still be gcc'd 15:52:29 and I'm not sure about that 15:52:31 Is the kernel part of the base system? :P 15:52:32 Heh 15:52:38 but base applications 15:52:41 definitely 15:52:49 In my experience, compiling a kernel to a virtual machine is probably a fairly pointless task :P 15:52:55 So pcc is out then? ^^ 15:52:56 GregorR: LLVM fail. 15:52:59 It isn't a virtual machine, really. 15:53:00 what is clang 15:53:05 why is it betrter thasn ghcc 15:53:08 tombom: a c compiler 15:53:19 and because it's faster, cleaner and bsd-licensed 15:53:22 and because it builds on top of LLVM 15:53:29 ah cool 15:53:33 which is an intermediate "virtual machine" (notrly) that compiles to native code 15:53:42 (it can also do JITting, so you can turn your compiler into a REPL etc) 15:53:46 but doesn't gcc have better optimisations and stuff though 15:53:49 that wouldn't work for the kernel ofc :p 15:53:57 tombom: llvm's been developed by 2000 and is funded by Apple 15:54:01 ahhhh 15:54:01 it does advanced optimizations 15:54:03 and so does clan 15:54:03 g 15:54:08 i hadn't realised it had been around so long 15:54:08 although they're not totally production-ready yet 15:54:13 cool 15:54:15 e.g. clang's c++ support isn't really ready 15:54:35 yeah, it will be cool 15:54:52 well, apple does more than fund, really; it's practically Apple's project 15:55:02 due to a lot of Apple-employed developers 15:55:05 it's still technically independent though 15:55:08 -!- FireFly has joined. 15:55:21 hmm apparently apple started the clang projec 15:55:21 t 15:55:33 that'd explain the objective-c support 15:56:03 tombom: there's also gcc-llvm 15:56:10 which is gcc's frontend + llvm's backend; that should be pretty much rock solid 15:56:18 although you get a lot of the disadvantages of gcc 15:56:37 what are the disadvantages of gcc actually 15:57:21 (1) gcc's code sucks (2) so does its architecture (3) it's not all that fast optimizations-wise (4) GPL (5) apparently the team can be hard to work with; don't quote me on this 15:57:38 (6) tries to compile every language on the planet; this leads to mediocrity 15:58:01 tombom: apparently clang's error messages are miles better too 15:58:02 heh, that's reasonable 15:58:10 http://clang.llvm.org/diagnostics.html 15:58:25 looks nice, I didn't realise it was THAT good 15:59:08 $ clang -fsyntax-only t.cpp 15:59:08 t.cpp:12:7: error: incompatible type assigning 'vector', expected 'std::string' (aka 'class std::basic_string') 15:59:11 str = vec; 15:59:13 ^ ~~~ 15:59:21 i thought there was some technical reason for awful c++/stl template errors 15:59:33 i will now kill the g++ developers 16:01:26 GregorR: The LLVM developers are very helpful fixing most of the bugs we've reported (over 100). Unfortunately we are currently blocked on some bug reports that prevent us from building libc, libm, libcrypto and various CDDL libraries with Clang but the FreeBSD kernel itself compiles and boots. 16:01:30 so the kernel is built with it. 16:01:33 hot 16:02:01 >_O 16:02:03 That's ... confusing. 16:02:09 Doesn't it need to have a little bit of inline asm? 16:02:18 GregorR: Maybe it does? 16:02:23 Nothin' wrong with that. 16:02:27 GregorR: Protip: LLVM is not a "virtual machine" 16:02:30 It's not a VM as such 16:02:34 It's just a generic architechture 16:02:42 It still has plenty of machine-code like things 16:02:44 It's close to the machine 16:02:51 Right ... a generic architecture with its own assembly code variant ... 16:02:56 GregorR: Also, you can always compile the .s's separately 16:02:56 So i386 assembly code is presumably no go .... 16:02:59 and call into them from .c 16:03:00 'struth. 16:03:01 and who said that? 16:03:04 that's silly 16:03:09 it'll just only work on x86 16:03:49 http://wiki.freebsd.org/BuildingFreeBSDWithClang ← Yep, it does inline asm just fine 16:04:29 Huh 16:05:31 GregorR: http://www.llvm.org/docs/LangRef.html#inlineasm 16:05:40 THE MOAR YAU NAEO 16:05:57 wait 16:06:01 that's referring to llvm asm 16:06:02 hrm 16:06:08 Oh whatever :P 16:06:46 I was gonna say, seeing as that bswap is a link to one of their pages :P 16:07:29 yay, the "print" procedure of Codename CELF is done 16:07:38 as is putc and clrscr 16:07:44 now gotoxy :P 16:08:40 asiekierka: celf? 16:09:10 There should be a language based on n-tuples of niggers. 16:09:21 Er. 16:09:22 Or not. 16:09:24 ..................... 16:09:30 ... 16:09:48 * ehird hands Slereah the "Can't Think Of Anything To Say" medal 16:10:41 "Clever presentation, but a weak database: The soon-to-be-launched Wolfram Alpha search engine is already being touted as the "Google killer." SPIEGEL ONLINE has tested a preliminary version. The conclusion: It knows a lot about aspirin, a little about culture -- and it thinks German Chancellor Angela Merkel's political party is an airport. " 16:10:45 ehird: Codename CELF? It's my C64 pseudo-shell/OS 16:10:48 It isn't‽‽‽‽‽‽‽‽‽ 16:10:48 http://www.spiegel.de/international/zeitgeist/0,1518,624065,00.html 16:10:50 Progressing slowly but nicely 16:10:57 asiekierka: in asm I assume? 16:11:16 yup 16:11:28 Nice. 16:11:29 if I did it in C it would probably be up to loading a few drivers :DDD 16:11:31 Try and avoid spaghetti :-P 16:11:41 ehird: Oh, I forgot about comments 16:11:43 I should add some 16:11:50 to the ones that aren't quick to understand 16:11:52 asiekierka: Meh, just make sure you don't splutter over memory and registers :P 16:11:58 ehird: Making sure of it 16:12:01 asiekierka: How are you gonna handle memory allocation? 16:12:05 ehird: Not sure yet 16:12:11 Probably a list 16:12:13 You only have 64K, so that will be challenging 16:12:16 ehird: Yup 16:12:23 asiekierka: The list will take up a good amount of memory, though 16:12:28 ehird: Yup too 16:12:34 Maybe a slab allocator, asiekierka? 16:12:34 I plan to make it as small as possible 16:12:37 ehird: slab? 16:12:45 http://en.wikipedia.org/wiki/Slab_allocator 16:12:49 it should conserve memory 16:12:49 looking at it 16:12:55 and also the list size 16:13:26 Well, I will allocate the space of... $2000-$9000 to programs 16:13:32 That's not much at all. 16:13:43 28KB 16:13:43 I'd give almost all the memory to programs, and golf the kernel's data space. 16:13:52 I bet you could give the programs 50K 16:13:53 ehird: I can add a little more though 16:14:01 the kernel already has space from $0800-$2000 16:14:08 hmm 16:14:09 which is 6KB 16:14:14 and there is extra space left 16:14:24 asiekierka: Challenge: give the programs 56K or more. 16:14:29 ehird: Unpossible 16:14:33 You sure? 16:14:35 Because 8KB is taken up by the kernal 16:14:41 Yes... 16:14:44 and raw accessing of stuff via drivers will probably take more 16:14:44 And the rest is for programs. 16:14:50 ehird: What about the kernel? O_O 16:14:55 asiekierka: It gets 8K. 16:15:03 the KERNAL is not the kernel 16:15:05 the clang driver uses gcc for assembling and linking, we need to write FreeBSD ccc "hostinfo" so it can use as(1) and ld(1) directly (in progress). 16:15:06 Oh. 16:15:07 lawl 16:15:07 asiekierka, you should totally do this on x86. 16:15:08 the KERNAL is like a BIOS 16:15:19 i'm already turning off the BASIC rom full of crap 16:15:23 which gives me +8kb 16:15:27 asiekierka: hmm, okay, the kernel takes 8k 16:15:30 GregorR, why can't it just always use as and ld? 16:15:30 err 16:15:31 kernal 16:15:37 then the kernel/drivers take 8K 16:15:38 then there's a bunch of space for memory-mapped registery 16:15:41 that should be more than enough 16:15:42 I'm pretty sure that all GCC does is... Call as and ld. ;) 16:15:45 $D000-$FFFF i think 16:15:46 and gives the programs about 48K 16:15:47 pikhq: All as-es and ld's have different syntaxes. 16:15:54 pikhq: Whereas GCC has the same syntax on every platform. 16:15:55 asiekierka: a bit less than 48K should be doable 16:15:57 *Really*? 16:16:00 That is crazy. 16:16:05 ........... you didn't know that? :P 16:16:19 I figured they'd at least standardise on command-line syntax. 16:16:22 $0000-0800 is used by the screen/kernel 16:16:24 Hell, all ccs have different syntaxes, you're lucky to get "-c" and "-o" to mean the same thing. 16:16:24 pikhq: nope 16:16:31 it's binary format specifci a lot of the time 16:16:31 $0800-$BFFF is free 16:16:32 *specific 16:16:35 I don't go outside of GNU-land much. 16:16:39 then there's $C000-$CFFF, free again 16:16:43 then there's no more left 16:16:46 pikhq: None of us do ;) 16:16:47 asiekierka: how much does that get you? 16:16:52 GregorR: I do. 16:16:54 For good reason. 16:16:56 BSD kernel and userland! 16:16:57 ~50KB 16:17:01 so I think 40KB is doable 16:17:07 allocating 10kb for kernel/drivers 16:17:10 ehird, that's aboust as far out of GNU-land as anyone sane goes. 16:17:12 asiekierka: yep, should do 16:17:14 ehird: I will now mark all sarcastic lines with the tag [SARCASM] to remain clear [SARCASM] 16:17:23 Because BSD userland, though a tiny bit different, is at least *sane*. 16:17:24 remember I also plan to have a "vector map", so drivers can make their own ways of doing stuff 16:17:27 pikhq: it predates gnu-land, so it's pretty away. 16:17:27 like, hack "putc" 16:17:38 asiekierka: if your kernel turns out to use less in practice - say 8K - the programs can get more too 16:17:42 ehird: Yeah 16:17:43 It predates GNU-land, so it's pretty primitive >_> 16:17:43 GregorR: i know 16:17:48 Better than Solaris though. 16:17:48 pfft 16:17:49 but i also allocate this space for the maps 16:17:52 it's not primitive 16:17:53 it's just minimalist 16:18:03 Finefine. 16:18:09 GregorR: BSD userland has the advantage of implementing that primitive stuff well. 16:18:11 my "variable map" starts at $0880 16:18:13 If there's one thing the GNU userland is not, it's minimalistic. 16:18:17 it has all the vars and maps and stuff 16:18:18 Making it better than every other authentic UNIX. 16:18:20 ;) 16:18:23 then comes the kernel (after .align $10) 16:18:27 asiekierka: why do you have a notion of variables in asm? 16:18:38 ehird: well, text_x: .byte 0 16:18:40 text_y .byte 0 16:18:42 ehird: Asm itself does. 16:18:43 ah. 16:18:44 and text_c .byte 0 16:18:45 pikhq: Solaris is solid as a rock. The rock it will proceed to beat you over the head with if you're stupid enough to use it. 16:18:47 pikhq: well, sure 16:18:50 so I don't have spaghetti running all over 16:18:53 solaris makes me want to vomit 16:19:01 instead of $0880, i have text_x, etc. 16:19:02 asiekierka: i take back what i said about you not being able to code 16:19:11 GregorR: Solaris does have one saving grace. 16:19:12 ehird: I can send you the ASM code if you still don't believe i can code 16:19:13 :D 16:19:18 Sure :p 16:19:20 ok 16:19:20 Its userland is sufficient for installing a GNU one. 16:19:25 I'm surprised they haven't just replaced the userland with GNU in interactive shells :P 16:19:30 And you can install it with just a GNU userland these days. ;) 16:19:37 Whaaaa? You can? 16:19:44 OpenSolaris distros. 16:19:45 Oh, are you referring to Nexenta? 16:19:46 ;p 16:19:47 Ah 16:19:47 :P 16:19:50 Yeah. 16:20:13 Ever since Linux got the CFS, Solaris has no appreciable advantage. 16:20:18 asiekierka: i don't understand a thing about the code but it looks good 16:20:25 GregorR: One word. Zfs. 16:20:27 http://www.dailycupoftech.com/2009/05/04/the-geek-must-do-before-you-die-checklist/ This is a... Lame list. 16:20:38 God people go humpfest over ZFS. 16:20:41 add a third monitor? 16:20:42 lol. 16:20:45 GregorR: dtrace 16:20:53 anyone with >1 monitor is stupid ← generalization 16:20:57 ehird: That was the first thing ported to Linux. 16:21:08 Build a Linux Firewall? WHY. 16:21:10 ehird: I've got two monitors. 16:21:19 pikhq: Wow, that is a lame list. 16:21:20 I have a perfectly good firewall! It even runs Linux. 16:21:22 The second one is attached to my firewall/outer. 16:21:24 I have two too 16:21:30 "Carry a Computer Cleaning Arsenal on Your USB Drive" // only if you use lame-OS 16:21:30 and a tutu too 16:21:35 LOL 16:21:35 LOL 16:21:37 LOL 16:21:39 LOL 16:21:41 LOL 16:21:43 LOL 16:21:45 Build an HTML based Website using Notepad 16:21:47 ahahahahahhah 16:21:50 Wow. 16:22:00 "Bypass a Computer Password on All Major Operating Systems" 16:22:03 good luck doing that on a bsd 16:22:14 I did that... For my Geoshitties site before they got bought out by Yahoo!. 16:22:19 "Convert Cassette Tapes to Digital Audio Files" 16:22:28 "Crack a Wi-Fi Password" ← WPA2 Personal, bitch. 16:22:29 ehird: Yeah, seriously. *Really* good luck doing that on OpenBSD. 16:22:34 [16:21:45] (ehird): Build an HTML based Website using Notepad 16:22:36 ahahahahahaha 16:22:43 "Compile a Linux kernel". 16:22:44 "Create a Disposable E-Mail Account" 16:22:45 ... I was 12. 16:22:46 ehird: Make a C64 OS in 1 second 16:22:46 If you die without doing this 16:22:48 YOU HAVE FAILED LIFE 16:22:51 And had been using Slackware for 2 weeks. 16:22:51 that should be there 16:22:55 asiekierka: don 16:22:55 e 16:22:59 oh, wait 16:23:03 forgot to tell ya 16:23:11 the thing that I sent is nowhere near an OS 16:23:12 "Execute a shell script." 16:23:14 ... 16:23:16 asiekierka: i guessed 16:23:18 -!- MigoMipo has joined. 16:23:18 "Create a WordPress Plugin" 16:23:21 WORDPRESS?! 16:23:24 What a crock of shit. 16:23:32 I did that a tiny bit *before* I had installed Linux for the first time. 16:23:35 "Create Music with Keyboard" 16:23:40 (guess what Slackware's installer is) 16:23:49 "Download a Video from YouTube" 16:23:52 and it links to an automated shitsite to do that 16:23:56 "Create Music with Keyboard" 16:23:58 FILL OUT THIS FORM AND YOUR LIFE WILL BE COMPLETE 16:24:00 i guessed this was a joke 16:24:01 tombom: beat you to it 16:24:02 but no 16:24:04 what 16:24:09 this is horrible 16:24:10 Wow this list is lame. 16:24:11 "Download Wikipedia" 16:24:16 ...Including images. 16:24:25 "Learn the fastest way to kill a computer." 16:24:32 * pikhq brings out the Etherkiller. 16:24:33 :D 16:24:43 pikhq: Open this list, making you so pissed off you literally beat the shit out of it. 16:25:03 :-D 16:25:05 (Computers totally have shit) 16:25:08 39.Know Who Mulder and Scully Arehttp://en.wikipedia.org/wiki/Mulder_and_Scully_(song) 16:25:13 "Find a Website IP Address Without Web/CommandPrompt Access" 16:25:13 goddamn 16:25:17 tombom: :DDDDDD 16:25:24 this is the hilariestest thing ever 16:25:35 Irrecoverably Protect Datahttp://www.truecrypt.org/ 16:25:39 irrecoverably 16:25:45 encrypt = const 0 16:26:01 ha 16:26:22 Make Your Office Ergonomic 16:26:26 Permanently Delete Data on a Hard Drive 16:26:29 dd if=/dev/zero 16:26:33 Permanently Delete Your Facebook Account 16:26:35 now THAT i agree with 16:26:35 Permanently Delete Your Facebook Account 16:26:36 Permanently Delete Your Facebook Account 16:26:38 Permanently Delete Your Facebook Account 16:26:40 ~end of list~ 16:26:49 i was just going to mention that 16:26:56 "Read 1337 At Normal Speed" 16:27:10 "Recover Deleted Files" i like how this comes after telling you to remove them irreversably 16:27:31 50% of them are really pathetic and the other 50% are things nobody should care about 16:27:52 "Upload a Video to YouTube" 16:27:56 :D 16:28:08 "Run Multiple Computers with one Keyboard and Mouse" 16:28:19 Apparently I can't be a Geek 2.0 because I can't wear a leather wristband (wtf) 16:28:24 "Setup a Computer in the Cloud" 16:28:25 99.Use Bittorrent Effectivelyhttp://infinitium.blogspot.com/2005/03/js-essential-howto-guide-bittorrent.html 16:28:27 THE CLOUD OF CLOUDNESS 16:28:31 IT'S LIKE CLOUDS 16:28:33 BECAUSE IT IS THE INTERNET 16:28:39 web 4.0 16:28:47 web/cloud 9.0 16:28:48 geddit 16:29:02 Web 2.6.29 16:29:10 "Survive in a Linux Argument" 16:29:15 Most people die when arguing about Linux. 16:29:24 lol, it links to the old shitfest linux.com 16:29:58 i like how it's all computer related stuff and then blam 16:30:01 "Learn How to Hot Wire a Car" 16:30:16 tombom: Nowadays, that's computer related stuff ;) 16:30:58 "Understand What “There’s no Place Like 127.0.0.1″ Means" 16:31:06 "Unbrick a Smartphone" 16:31:09 IF SOMETHING'S BRICKED IT CAN'T BE FIXED 16:31:10 RETARDS 16:31:14 "Use a Camera in Manual Mode" 16:31:34 http://www.dailycupoftech.com/wp-content/uploads/2009/05/geek2.gif 16:31:43 Geek 1.0: Person who doesn't care about societal norms 16:31:47 Geek 2.0: Douchebaggius maximus 16:31:52 pretty much 16:32:00 Hah, exactly 16:32:13 And I can't accomplish that because I can't wear the leather wristband! 16:32:19 And besides that, I wear my phone on my wrist. 16:32:27 why not 16:32:40 well apart from the fact it makes you look like a pillock 16:33:04 I'm allergic to leather. 16:33:14 :o ah 16:33:22 So pillock + welts all over my arm = an interesting look :P 16:33:46 it's unique, at least 16:33:50 ... "Use a camera in manual mode"... 16:34:02 I didn't know using an SLR was hard. 16:34:02 Or geeky. 16:34:16 pikhq: BOW DOWN BEFORE TECHNOLOGY :P 16:34:27 * pikhq beats GregorR with his SLR 16:34:42 * pikhq then hits the darkroom to see what interesting shots were made from the above process 16:35:07 You have an ANALOG camera? D-8 16:35:43 I also possess a digital SLR. 16:36:11 I also possess a digital SLURPY. 16:36:18 (And with that, I disapperate) 16:37:50 And the image below the list... 16:38:31 Y'know, D&D is still a somewhat common geek pastime... 16:38:34 hm 16:39:00 running the optimiser passes recursively until nothing changes might not have been the best possible idea... 16:39:19 LMAO 16:39:39 I think it ran all the passes around 50 times or so for lostkingBF 16:39:47 Damn. 16:40:09 And what sort of improvement did you make for Lost Kingdom? 16:40:12 without the shifting pass it just makes 5 passes 16:40:32 pikhq, esotope-bfc is the best compiler currently. Mine is doing basic stuff 16:40:40 Hmm. 16:40:53 I thought that you were producing optimised Brainfuck, BTW. ;) 16:41:13 in this case the pass was changing "add > add" into "add add:offset=1 >" 16:41:24 as well as sorting by offset 16:42:08 to allow more combining for stuff like ++>-<+, with the offset thing you would get add:2 add:-1:offset:1 add:1 16:42:27 but then it also sorts it so the combiner pass can combine the first and the last add 16:42:50 pikhq, and I am. Just not aiming for the level that esotope-bfc is on 16:43:22 There's a limited amount of stuff that you can optimise in Brainfuck when you're outputting Brainfuck. 16:43:23 since it can optimise that hello world program on the wiki into a single PUTS("Hello, World!"); 16:43:26 without special casing 16:43:39 So I assume the fanciest thing you can do is dead-code elimination. 16:43:41 pikhq, I'm not outputting BF 16:43:51 I'm output-agnostic 16:43:54 "Producing optimised Brainfuck" 16:43:54 so far I have a C backend 16:44:03 but you could write a BF one too 16:44:09 Oh, so you're setting it up so you can *have* a Brainfuck backend. 16:44:12 Gotcha. 16:44:32 pikhq, in fact I'm setting it up so I can have a Erlang backend, a Scheme backend, a C backend and possibly a BF backend. 16:44:36 plus a lot of other ones 16:44:49 and I'm doing semi-plugin-like optimiser 16:44:58 each pass is in a separate module 16:45:29 the main optimiser routine has a list of optimiser modules (could be changed to enumerate them on the file system I guess), and calls them 16:45:53 * pikhq checks out esotope-bfc 16:45:54 and after calling all once it checks if the parse tree is the same or not, if not it runs them all again 16:46:28 pikhq, http://rafb.net/p/ZilcqJ72.html 16:47:02 ib_opt_cleanup is rather silly. It handles the "add 0" sometimes produced by the combiner 16:47:11 like +- will result in "add 0" :D 16:47:28 probably no real BF code contains that. 16:48:20 "real" meaning "not a test suite for an optimiser, and not written by an idiot, and not auto generated by !bf_txtgen". 16:48:29 !bf_txtgen foo 16:48:32 Some generated BF code contains it... 16:48:35 49 ++++++++++[>++++++++++>+>><<<<-]>++.+++++++++..>. [239] 16:48:40 that contains >><< 16:48:52 PEBBLE generated code could generate it, except that I have an optimising pass. 16:48:54 though in that case the other <<< would swallow that move 0 16:48:59 Which eliminates dead code. :) 16:49:18 err the other << 16:49:19 rather 16:50:03 hm, might be interesting to add a BF backend in fact. See how much better it makes LostKingBF 16:50:15 however it would be kind of a pain 16:50:17 Yeah. 16:50:34 since the initial "add" at start of the program will get turned into "set" in my next pass 16:50:46 since memory starts out as 0 16:51:17 then that backend needs to change [-]+ into "+" for example at start of program 16:51:26 hm 16:51:44 I'm not sure what is the best way to handle "assume 0 at start of program" 16:52:07 I mean, I need to keep track of somehow of balanced loops near the start and so on 16:52:14 tracking values of cells as far as possible 16:53:09 maybe I should have a loop analyser pass that somehow marks loops as balanced... 17:00:12 Well, seems that esotope-bfc doesn't fully handle string optimisation right... 17:00:19 There's a lot of PUTCs in LostKng. 17:00:45 PUTC? 17:00:46 oh 17:00:48 Put Char 17:01:52 *Oh*. Because when it gets to the things it PUTCs, it isn't sure of the value of the cell. 17:01:55 ;) 17:02:59 pikhq, It isn't always possible to figure that out 17:03:07 consider ,[.,] for example :P 17:05:20 bYeah. 17:06:15 you should compile that into a symlink to cat 17:06:41 Hah :P 17:06:47 -!- ais523 has joined. 17:06:52 Except that cat will happily cat things that contain nulls. 17:06:56 Whereas that will fail. 17:07:07 nulls are tasty 17:07:11 if you're a feline, anyway 17:09:33 heh 17:10:00 Asztal, doing that would be insane AND incorrect as GregorR showed. 17:10:04 [Opt] Did 75 passes in total. 17:10:07 not 50 17:10:10 I underestimated 17:10:12 pikhq, ^ 17:10:33 Heh. 17:10:50 * AnMaster tries rearranging the passes to see if it helps to have the set pass first 17:11:07 nop. still 75 passes 17:11:52 however, it was a bit faster. 17:12:06 I guess it was due to less loops to descend in. 17:12:55 Public service announcement: asiekierka can in fact code. 17:13:05 ehird, [citation needed] 17:13:32 AnMaster: I'm talking with him about a (non-cooperative) multitasking OS for the c64. 17:13:42 And he's written a bit of c64 asm for it. 17:13:49 ehird, "a bit" 17:13:53 how much of it? 17:14:16 AnMaster: divmod, putc, puts, gotoxy, and a simple "main" routine 17:14:16 AnMaster: It has enough to print "hello world" to the screen; which is a lot considering the fussy C64 graphics memory. 17:14:23 um 17:14:27 well 17:14:29 asiekierka, what about the multi-tasking bit? 17:14:29 And he's figured out how to do multitasking. 17:14:30 there's text mode 17:14:32 which is not fussy 17:14:37 AnMaster: he hasn't written it yet 17:14:43 we're still discussing how best to copy the stack etc 17:14:44 AnMaster: I can't even run a SINGLE PROCESS 17:14:48 let alone MULTIPLE 17:14:56 asiekierka, that was what I expected! 17:15:02 well 17:15:06 i'm too early in the stage 17:15:30 Also, I sometimes utilize a little bit of self-modifying code 17:15:32 AnMaster: you're being a jerk 17:15:34 for example, to input addresses 17:15:47 you just started writing an OS and it can't run multiple processes on a 1mhz computer with 64k of ram and no multitasking support? 17:15:47 gcc -OS optimised LostKng is 624K... 17:15:49 HA! you can't code! 17:16:24 well 17:16:24 * pikhq observes that multitasking is hard 17:16:34 I started writing that OS and it has enough to input some text 17:16:36 oh wait 17:16:40 I forgot to do newlines! 17:16:43 OH NOOOOOOOOOOOOOOOOO *dead* 17:16:47 :p 17:16:52 bsmntbombgirl: how goes your compy shippy 17:17:04 augh 17:17:06 17:16 AnMaster: he knows how to program a bit yes. He just doesn't know HOW he should program to solve a specific issue. I remember him saying he couldn't implement DOBELA himself due to having no idea how to do a sparse array. 17:17:16 * ehird has full disclosure policy on /msgs :} 17:17:26 well, I'm working in assembly 17:17:43 asiekierka: i think ignoring AnMaster until he writes a multitasking OS for the c64 is a good policy 17:17:48 ehird, see /msg 17:17:49 17:17 AnMaster: he is kind of like I was back when I coded in Pascal. I could code, but I didn't know how to code non-trivial stuff. 17:17:51 Yup :P 17:17:54 17:17 GregorR: HA HA EHIRD IS A RETARD (full disclosure policy?) 17:18:01 Hmmmmmmmmm 17:18:02 ehird, fine with you 17:18:03 I seeeeeeeeeeee 17:18:05 with me* 17:18:10 also, a newline would need to be a weird char 17:18:14 i have that problem, how do i learn ebtter 17:18:14 as chars 1-26 are text 17:18:22 asiekierka: doesn't the c64 have graphical chars? 17:18:26 yes it does 17:18:28 In other words, asiekierka should code more. 17:18:28 but i want to use them 17:18:33 asiekierka: what's char 0? 17:18:36 And possibly work on a CS degree. 17:18:40 It's "@" 17:18:44 hmmmmm 17:18:46 What a weird place to put @# 17:18:48 *@ 17:18:48 asiekierka: what's char 255 17:18:56 anyway it isn't strange, you first learn how to write code. Then you learn HOW to program. 17:18:56 GregorR: C64. ;) 17:19:00 they are different things 17:19:06 chars 128-255 are reversed images of chars 0-127 17:19:08 AnMaster: get off your high horse :) 17:19:16 char 127 is 17:19:17 asiekierka: what you're saying is, there's no space in a byte for a newline 17:19:17 ## 17:19:19 ## 17:19:19 ## 17:19:20 ## 17:19:29 asiekierka: have newline be a separate procedure 17:19:33 Puts("Hello, world!"); Newline 17:19:43 ehird, just speaking out of own experience. For example would you say SICP is about how to write code, or how to program? 17:19:50 I'd say it is about the latter. 17:19:53 AnMaster: asiekierka can program 17:20:05 ehird, yes. Better now than before. 17:20:07 done 17:20:15 the newline is ready 17:20:27 it's pha, lda #$00, sta text_x, inc text_y, pla, rts 17:20:44 * pikhq observes that he needs more RAM... 17:20:52 pikhq: asiekierka's working with 64k 17:20:52 :p 17:20:55 When you start getting swap-bound compilation, you need more RAM. 17:20:58 * AnMaster wonders how large the generated BF for LostKing would be with NO optimisation. 17:20:58 asiekierka: that reminds me of 6502 asm 17:21:03 ais523: that's cuz it is 17:21:05 ah 17:21:10 AnMaster: Huge. 17:21:10 ais523: he's writing a multitasking OS for the C64 17:21:24 Isn't there already ... lunix or something. 17:21:32 GregorR: Yeah 17:21:37 GregorR: And Contiki. 17:21:47 pikhq, sure. But even with just combining ++ -- >>> and so on it is much less than the original program source. 17:21:50 Which has a per-process overhead measured in bytes. 17:21:53 ;) 17:21:57 Still, I'm not sure anyone's done multitasking the way we have 17:21:59 AnMaster: Yesh. 17:22:10 ehird: That way being? 17:22:23 "Preemptive multitasking (up to 32 tasks, 7 priorities)" Do you need 7 priorities with a max of 32 tasks? :P 17:22:27 pikhq: Set up a timer on a clock for 0.small seconds. 17:22:38 pikhq: Then, when it sets off, find the process that's been ran the last 17:22:39 as in 17:22:45 the process that's had the longest time without executing 17:22:50 to suspend a process, we do the pretty normal thing 17:22:53 copy registers, copy stack 17:22:58 and the obvious thing to resume 17:23:01 the shift pass reduces it from 1.3 MB to 958K btw 17:23:03 but I'm not sure the others use a timer 17:23:08 That's a rather normal multitasking method. 17:23:36 on non-c64, sure 17:23:36 well, I could program for LUnix 17:23:55 I don't think it's done often on a C64. 17:23:59 exactly 17:24:03 pikhq: Well, LUnix has multitasking 17:24:05 and it has source 17:24:07 C64's timer does interrupts? 17:24:14 pikhq: Yes 17:24:14 not as much fun to read other OS's source 17:24:17 well 17:24:21 I just want to check it out 17:24:30 asiekierka: Contiki preempts whenever a process makes a blocking call. 17:24:31 ;) 17:24:33 just don't copy any code; license issues. 17:24:38 pikhq: see, that's lame 17:24:50 It's meant to run on microcontrollers. 17:24:52 ours can multitask when it's doing scientific computation or whatever ;-) 17:24:55 ehird: Dude, it's from 1997 17:25:06 asiekierka: it's lame to copy other OS's code anyway :P 17:25:16 long-term goal is multiple graphical apps running at once, although that'll be sloow 17:25:39 BTW, LostKng with gcc -O2 -m32 is 564K. 17:25:42 pikhq, as well as timer? 17:25:47 That's a 60 kilobyte savings. 17:25:48 pikhq, what optimiser 17:25:51 :/ 17:26:07 esotope-bfc. 17:26:07 esotope? 17:26:08 ah 17:26:22 s/-O2/-Os/... 17:26:26 I haven't dared compiling the generated lostkingdom! 17:26:41 what about -o3 17:26:45 It uses up quite a bit of RAM. 17:26:50 tombom, then the output file is called 3 17:26:51 :P 17:26:54 tombom: I don't have the RAM for that. 17:26:56 -O3 runs forevr 17:26:58 http://hld.c64.org/poldi/lunix/lunshots.html 17:26:59 *forever 17:27:05 on lostkng.b esotoped 17:27:09 um. That wasn't what he said though 17:27:13 he said -o3 not -O3 17:27:14 :P 17:27:35 clever 17:27:47 -!- BeholdMyGlory has joined. 17:27:56 ./3 17:28:46 Nice thing about this compiled LostKng... 17:28:51 strings does something! 17:29:02 http://hld.c64.org/poldi/lunix/lunshots.html <-- "comments"? 17:29:05 pikhq: :-D 17:29:08 i don't know 17:29:20 AnMaster: french guy, I think 17:29:24 it means "help" 17:29:25 But I think i'm not exactly the person that should do an OS 17:29:31 asiekierka: are you giving up on celf? 17:29:31 :< 17:29:36 * ehird stab 17:29:39 ehird, like "do you want help"? 17:29:40 ehird: Probably not 17:29:42 but it's hard! 17:29:44 AnMaster: yes 17:29:48 asiekierka: no shit sherlock :-P 17:29:51 i may learn c64 asm. 17:30:17 why 17:30:21 to code on celf? 17:30:27 pikhq, what is the size of the source for that lostking. 17:30:29 the C source 17:31:00 oh# 17:31:43 684K. 17:32:00 Yeah, it's smaller than LostKng.b 17:32:02 ;) 17:32:14 Can has upx? 17:32:26 GregorR: Will install it. 17:35:20 ... Gentoo installs a binary package for upx. 17:35:23 *Why*?!? 17:35:37 Hm, UPX can pack but not unpack an already-compressed version of that linux kernel. That makes "sense" 17:35:46 * AnMaster ponders parallel code generator 17:36:08 basically threads handling sub-trees + mapreduce 17:36:13 simple, and boring 17:36:16 pikhq: 17:36:16 UPX uses the NRV compression library for compression services. A compatible but somewhat less efficient OpenSource implementation is available through the UCL compression library. 17:36:31 It must be supplying the proprietary (read: lame) NRV version instead of the UCL version. 17:36:40 Ah. 17:37:05 And, yeah, what UPX does to compress the Linux kernel is kinda interesting... 17:37:21 You see, the Linux kernel includes a decompression routine that a bootloader jumps to. 17:37:39 UPX decompresses the compressed bits, compresses them again, and inserts its own compression stub. 17:38:28 UPX'd, it's 48K. 17:38:30 *48K*. 17:38:35 Pretty. 17:41:19 wow 17:41:21 pikhq: is that slow? 17:41:27 to run 17:41:30 Actually, lemme try upx --lzma --ultra-brute 17:41:31 ehird: No. 17:41:38 so why isn't it standard 17:42:02 Because it has some disadvantages, like not sharing common segments in memory. 17:43:47 44K if I use --lzma --ultra-brute. 17:44:03 And decompression time is not noticable. 17:45:40 * pikhq statically links it just for the hell of it; let's see how feasible it is to get LostKingdom on a floppy 17:45:56 UPX supports "TMT/Adam" as a binary format. So I looked it up and the UPX page says it's a Pascal compiler, and links to tmt.com for information. "TMT offers products for the taphole area at blast furnaces or reduction furnaces. Through the application of TMT measuring technology the blast furnace process can be optimized." 17:46:11 :-D 17:46:19 Those blast furnaces are powered by Pascal. 17:47:19 ehird: With any luck, I should be able to run LostKingdom from a 5 1/4" floppy. 17:47:31 pikhq: On a C64? 17:47:31 (assuming the kernel itself is somewhat UPX-able. ;)) 17:47:42 GregorR: No, that would take a bit more work. 17:47:56 Like compiling this to a C64 binary. 17:48:03 ... And having more than 64K RAM. 17:48:15 You see, UPX decompresses the whole thing to memory. 17:48:19 pikhq: Does Lost Kingdom really use more than 30000 cells 17:48:28 asiekierka: No. 17:48:39 you can use a 1581 17:48:40 The binary itself is more than 64K, though. ;) 17:48:44 which has DD diskettes 17:48:48 pikhq: just load the binary incrementally 17:48:52 load one block, add code to load the next at the end 17:48:54 jump 17:48:59 That involves more work. 17:49:04 Like I said. 17:49:12 Well, yes. 17:49:29 I didn't say it was impossible; the C64 is a perfectly capable system, after all. 17:49:51 The binary would probably benefit from 16-bit pointers, though. 17:52:15 you can use 16-bit pointers 17:52:18 via self-modifying code 17:52:19 * pikhq wishes GCC would learn about this wonderful, wonderful function called "free()". 17:55:03 pikhq: they use a gc 17:55:06 boehm 17:56:28 ehird: And Boehm hates "free()". 17:56:44 Okay, statically linked, I've got LostKng at 232K. 17:56:52 glibc is freaking huge. 17:57:19 -!- oklodok has joined. 17:57:23 pikhq: use uclibc 17:57:25 ors th 17:57:51 If I had it available, I would. 17:57:52 *shrug* 17:58:46 don't you have a package management system pikhq 18:02:30 Yes, but uclibc is not some easily-installed package. 18:03:04 You need to install an entire build chain for it... 18:03:06 Why not? 18:03:15 Basically, you install a freaking cross-compiler. 18:03:16 * ehird shrug. 18:03:23 Just use your current toolchain 18:03:32 But that doesn't work. 18:03:37 heh 18:03:41 use a different libc? 18:03:58 pikhq: http://www.fefe.de/dietlibc/ 18:04:01 My current toolchain produces pc-linux-gnu binaries. 18:04:16 To use uclibc, I would need to produce a pc-linux-uclibc toolchain. 18:04:23 dietlibc! 18:04:38 Which cheats instead of making a pc-linux-dietlibc toolchain. 18:04:48 Said cheats are crufty and unreliable. ;) 18:04:59 pikhq: yer just compiling lostkng! 18:05:20 * pikhq installs crossdev 18:05:48 the dietlibc author is a kook, interestingly 18:06:06 he worships djb (I suspect some homosexual undertones) and wrote this laughfest: http://www.fefe.de/nowindows/ 18:06:13 maybe I'll port all of his software to windows out of spite :) 18:08:53 do it 18:10:55 Y'know, that's really, really dumb when you consider that there is ReactOS. 18:11:13 A free Windows implementation. ;) 18:11:39 Also, porting dietlibc to Solaris wouldn't help a nonfree software company any more. 18:12:00 Last I checked, Stallman recommended Solaris as an OS that only ships with free software. :p 18:15:53 ahh, c64 asm is nice and simple 18:15:57 three registers, A X Y 18:15:58 There's also "buildroot"; it quasi-automagically gets and builds a full uclibc cross-toolchain. (Well, when it works.) 18:16:04 very risc 18:16:11 -!- oklodok has quit (Read error: 113 (No route to host)). 18:17:16 I think I'll stick with crossdev. 18:17:25 It's Gentoo's automagic cross-compiler-maker. ;) 18:18:52 C64 called xor EOR 18:20:10 crossdev -t x86_64-pc-linux-uclibc. 18:20:11 :) 18:24:23 Lost Kingdom is now down to 885K generated C code, from 956K in previous revision 18:25:11 yay crossdev, it makes crosscompiling easy. Without crossdev it tends to be a major PITA. 18:27:14 * pikhq waits for his currently-running build to finish before running crossdev 18:33:26 hm 18:33:37 is [+>-<] always same as [->+<] 18:33:59 yes.. 18:34:07 even if the non-index cell is set to a non-zero value. Right 18:34:41 ehird, so then that can turn into p[1]+=p[0]; p[0]=0; 18:34:48 yes... 18:35:02 wouldn't it be -= for one and += for the other? 18:35:07 or what am I confusing here 18:35:48 ehird, ? 18:35:58 umm what 18:36:07 [->+<] is just 18:36:16 p[0]--;p[1]++; 18:36:20 and it conditions on p[0], so 18:36:27 p[1]+=p[0]; 18:36:30 p[0]=0 18:36:32 ; 18:36:32 yes 18:36:33 that is clear 18:36:44 but what about the other one: [+>-<] 18:37:03 that is p[0]++;p[1]--; 18:37:12 p[0] += p[1] 18:37:13 and condition is on p[0] 18:37:14 p[1]=0 18:37:16 oh 18:37:24 err 18:37:25 no 18:37:28 AnMaster: err 18:37:33 it's 18:37:36 p[1] won't be 0 18:37:37 p[0]=0 18:37:42 p[1] = shit 18:37:47 sorry, i'm confused atm 18:37:50 um no 18:37:52 you can reorder them 18:38:04 to [>-<+] 18:38:15 why is p[1] == shit hm.. 18:38:23 right 18:38:47 For [+>-<] you do p[1] -= (N-p[0]), which (modulo N) is probably p[1] += p[0] too. 18:38:58 Assuming wrapping cells, of course. 18:39:14 yeah 18:39:18 p[1]+=p[0];p[0]=0; 18:40:11 fizzie, so they are the same with wrapping cells? right 18:40:12 haha, this c64 emulator blurs the display to emulate a crt 18:41:03 Console emulators tend to have all kinds of "darken every second line to simulate TV scanlines" display options, too. 18:41:08 it does that too 18:41:19 Is it vice or something else? 18:41:20 very convincing 18:41:25 yeah vice 18:41:28 with PAL emulation turned on 18:41:31 and 2x scale 18:41:34 well 18:41:35 not scale 18:41:37 just 2x bigger 18:41:42 * ehird uploads piccy 18:41:52 I know what it looks like 18:41:54 I used vice before 18:41:58 i didn't talk to you 18:42:08 for anyone who hasn't seen it, http://xs539.xs.to/xs539/09202/picture_1751.png 18:42:10 the PAL emulation isn't convincing IMO 18:42:34 is on a tft 18:42:36 at least 18:42:48 ehird, depends on how high res the TFT is 18:42:57 100dpi 18:43:02 86 dpi :P 18:43:07 poor you 18:43:38 ah, SIDs are wonderful 18:43:42 For [+>-<] you do p[1] -= (N-p[0]), which (modulo N) is probably p[1] += p[0] too. <-- "probably"? 18:43:58 Well, I don't like doing unqualified statements. 18:44:06 ah. 18:44:13 If it sounds plausible to you, you can remove the "probably" part. 18:44:47 I guess I need to prove it. Sigh 18:45:19 actually, it is simpler to just brute force it for the unsigned char case :) 18:45:31 Uh, well.. a - (N-b) = a + b - N = a + b (mod N); there you go. 18:46:03 proving it takes about 5 seconds in wetware 18:46:08 vs 10-15 seconds to write bruteforcer 18:46:09 hah. I finished writing the short iterate for brute force half a second before that line :P 18:46:23 bbl 18:46:29 brute forcing: the tool for brutes' minds. 18:51:46 -!- asiekierka has changed nick to asie[brb]. 19:03:28 wow 19:03:39 pikhq, I'm at 218 passes for LostKing now 19:03:49 I think I need to make my shift pass do more at once. 19:05:51 ehird: finally got to commerce city 19:05:55 it would be faster if it moved more in both directions, swapping as it went, rather than moving a bit then doing a new scan over it 19:06:02 hm 19:06:20 bsmntbombgirl: \o/ 19:06:36 supposed to get here tommorow 19:09:13 decided what os yet? 19:09:21 i think freebsd 19:09:26 linux is boring 19:09:51 If it's non-boring you're looking for, go ReactOS or BeOS or OS/2 :P 19:10:01 Or maybe NT 3.51 19:10:07 bsmntbombgirl: linux is boring but uh... also practical 19:11:03 ah, SIDS is wonderful 19:11:07 *gasp* 19:11:33 ... 19:12:11 OK, so I'm slightly misquoting you :P 19:21:06 god 19:21:09 people are stupid 19:21:15 http://asserttrue.blogspot.com/2009/05/one-of-toughest-job-interview-questions.html 19:21:18 toughest question ever? 19:21:53 sed 's/[^a-z]\+/ /g'|tr ' ' '\n'|awk '{words[$0] += 1} END{ for(word in words) print words[word], word; }'|sort -nrk1|head -10000 19:21:57 -!- asie[brb] has changed nick to asiekierka. 19:21:57 that blog is funny because the author is a retard 19:21:59 OH FUCK, IMMA GENIUS 19:23:37 INC $D020 19:23:39 DEC $D020 19:23:42 JMP $2000 19:23:53 Jump TWO THOUSAND DOLLARS 19:24:13 yes 19:24:21 well actually put A2000 before that first inc 19:24:25 and also MON before 19:24:28 Anyone with a blog named "assert true" would pretty much have to be a retard. 19:24:32 and also emulator→load catridge→tfc3 19:24:43 and also reboot-while-holding-commodore-key 19:24:44 err 19:24:46 i'm not sure which key 19:24:49 it's mapped to esc here 19:26:00 Fun C64 fact: the drive was more powerful than the C64. 19:26:27 ... and it's even written as "assertTrue()" ... idiot 19:26:39 The drive could solve the halting problem? 19:26:40 i fucking hate that function name 19:26:42 GregorR: assertTrue() is a function in javahead assertion libraries 19:26:47 classic example of bloat 19:26:48 assertTrue(foo) is.. assert(foo) 19:26:51 there's things like assertFalse 19:26:55 and assertEquals(foo,bar) 19:27:01 that is sooooo stupid 19:27:14 yep 19:27:15 assert(foo) 19:27:16 ... wtf? 19:27:16 assert(!foo) 19:27:18 -!- jix has joined. 19:27:18 assert(foo==butt) 19:27:31 but the javaheads can't introspect on the code used so they use that to get half-decent output ;-) 19:27:33 jix! 19:27:45 fyb2 19:27:50 !addinterp jix sh echo 'Jix is not a programming language.' 19:27:51 Interpreter jix installed. 19:27:56 !jix foo 19:28:06 lol 19:28:11 .... 19:28:14 >_> 19:28:17 !delinterp jix 19:28:17 Interpreter jix deleted. 19:28:32 ehird: Really; that's terrible. 19:28:34 hey don't delete me! 19:28:46 jix: GregorR made fukyorbrane2 19:29:05 "programming languages should not be designed by piling feature upon feature, but by removing the limitations that make extra features seem necessary" 19:29:07 I did? 19:29:13 to egobawt 19:29:19 !fyb 19:29:19 Use: !fyb 19:29:22 bsmntbombgirl++, although that sentence is ironically in R6RS. 19:29:25 I didn't change the language :P 19:29:50 Huh, EgoBot has gone wonko ... 19:29:53 * GregorR figures out why. 19:30:01 bsmntbombgirl: In other words, all languages should be a superset of Lisp. 19:30:04 :p 19:30:14 pikhq: it's RnRS's intro 19:30:17 GregorR: asiekierka was fucking with it 19:30:20 RnRS? 19:30:34 pikhq: the scheme standard 19:30:38 pikhq: Revised^N Report on the Algorithmic Language Scheme. 19:30:39 Ah. 19:30:43 Appropriate. 19:30:47 Currently at R5RS; some heathens think it's at R6Rs. 19:30:49 *R6RS 19:31:30 I don't think there's many languages that embody that more than Scheme... 19:31:38 nope :D 19:31:59 LAMBDA: The Ultimate *. 19:32:10 ( http://en.wikipedia.org/wiki/Lambda_Papers ) 19:32:26 OH I HAD NEVER HEARD OF THOSE< THANKS FOR LINK 19:32:35 I WAS TALKING TO pikhq 19:32:36 <<<<<<< 19:33:02 i've got all of them printed out somewhere 19:38:35 -!- GregorR-L has joined. 19:38:38 Fixtlawl 19:38:43 !bf +++++++++++[>+++++++>+++++++++>++++>+<<<<-]>-----.>++.+++++++..+++.>.------------.<++++++++.--------.+++.------.--------.>+.>-. 19:38:44 Hello, world! 19:38:58 !bf <----------------------------------------- 19:39:02 !bf <-----------------------------------------. 19:39:02 19:39:36 -!- kar8nga has joined. 19:39:43 If you're trying to break it, there are much better routes to try. 19:39:50 !c printf("%p\n", malloc(1024)) 19:39:51 0x7f7c97aa3010 19:40:09 : !c printf("%p\n", malloc(240934)) 19:40:16 !c printf("%p\n", malloc(240934)) 19:40:17 0x7f8c1e449010 19:40:44 Hm, it has a much smaller VM limit than that, it must be using mmap. 19:40:57 Oh wait, that's only 240k :P 19:41:03 !c printf("%p\n", malloc(24093400)) 19:41:04 0x7f5dede87010 19:41:08 !c printf("%p\n", malloc(240934000)) 19:41:09 (nil) 19:41:37 (If you want to poke at it and not bother #esoteric , there's #egobot ) 19:43:57 * pikhq reads Lambda: the Ultimate Imperative 19:43:59 Fun read. 19:47:34 they all are 19:47:57 so's r5rs 19:48:38 I'm going to create a blog called Kappa the Penultimate 19:49:14 Omega the Indubitably 19:49:16 lawl 19:49:43 Mu: the Postultimate 19:49:58 as mentioned in #haskell, you can't miss "Lambda: The Ultimate Blub" 19:50:12 Gracenotes: Paul Graham reference detected. Bozo bit set. 19:51:00 not my joke! And you realize that's the adorable bit, right? 19:55:33 * GregorR-L sets mode: +ooo ais523 Gracenotes ehird 19:55:46 * ehird has kicked GregorR-L 19:56:08 * GregorR-L sets mode -o+b ehird ehird!*@* 19:56:24 how, you're not here 19:56:34 I soytenly seem to be! 19:56:42 the channel has mysteriously become -n while you weren't watching 19:56:52 because GregorR-L unset the mode lock 19:56:59 what, you can set /modes/ from outside on a -n channel? 19:57:11 ais523: uh, dunno. It's a guess though : 19:57:13 that makes no sense, how would you be an op if you weren't even in the channel? 19:57:21 grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 19:57:42 ais523: perhaps he'd set up an autoban then 19:57:43 Nobody here even has opability on #esoteric , do they? 19:57:50 fizzie does 19:58:27 WE ALL WURVE YOU FIZZIE 19:58:44 OUR WURVLES TO U 19:59:13 what is a wurvle 19:59:34 That's the sort of relic-from-the past I am. Although I guess lament's been seen quasi-recently, too? 19:59:38 * GregorR-L takes all of tombom's wurvles and gives them to FireFly 19:59:40 Err 19:59:43 I meant fizzie, but sure. 19:59:48 Alright 20:00:11 tombom: A DISCRETE UNIT OF LURV 20:00:38 -!- pikhq has quit ("leaving"). 20:01:40 fizzie and lament and Aardappel (← last one being a joke :p) 20:01:50 AARDAPPEL IS WITH US . . . IN SPIRIT 20:03:02 ... 20:03:10 this is rather confusing >_> 20:04:17 -!- tombom_ has joined. 20:05:13 Ⓨ⒠⒮, ⒤⒯ ⒤⒮. 20:06:03 -!- GregorR-L has changed nick to vsnprintf. 20:06:22 Ⓦⓗⓞⓞⓟⓢ. I accidentally the parenthesized letters instead of circled ones. 20:08:32 Strange. On this very much not an Apple computer, gucharmap shows the private-use-area letter U+F8FF () as the Apple logo. 20:09:16 <-- greatest nick ever 20:09:37 no 20:09:39 greatest nick ever is rlwinm 20:09:49 what's so great about that nick? 20:09:54 it's a powerpc instruction 20:10:01 what does it do? 20:10:26 -!- vsnprintf has changed nick to no-op. 20:10:34 This nick is unowned. 20:10:37 Can you believe that? 20:10:50 (nop and noop are owned :P ) 20:11:05 the c64 has an instruction called 20:11:06 PHP 20:11:11 lawl 20:11:19 it means Push Processor Status on Stack 20:11:38 -!- no-op has changed nick to Egolitarian. 20:11:42 I think this is a good nick. 20:11:52 Stop calling them C64 instructions, since the 6502 is used absolutely everywhere. :p 20:11:59 is the c64 6502-based, or does it just have the same instructions? 20:12:06 fizzie: ah, you answered my question for me 20:12:20 yes, well 20:12:24 -!- asiekierka has quit. 20:12:24 f 20:12:25 fu 20:12:37 ais523: 6510. 20:12:37 the powerpc has an instruction called 20:12:39 eieio 20:12:46 comex: that's a great name 20:12:48 (enforce in-order execution of I/O) 20:12:53 and probably deliberate 20:12:58 true 20:13:08 hurd has an error EIEIO 20:13:13 it's the kernel panic code 20:13:16 the string? 20:13:19 Computer has gone to the farm. 20:13:19 real 1m3.411s -> real 0m12.334s 20:13:22 that's a bit better 20:13:39 no wait 20:13:41 computer brought the farm 20:13:45 AnMaster ran the "divide time by 6" operation 20:13:53 Egolitarian, hah 20:13:53 AnMaster: what program? 20:13:57 that's too slow to be cfunge 20:14:00 ais523, "in-between" 20:14:05 Z80 gpg-error.h has "GPG_ERR_EIEIO = GPG_ERR_SYSTEM_ERROR | 44"; I'm not quite sure what it's used for. 20:14:24 Er, not Z80 gpg-error.h; the usual gpg-error.h 20:14:24 -!- pikhq has joined. 20:14:25 find / -type f | xargs grep -i eieio 20:14:28 "UNPLUG MODEM TO GET IT TO WORK!" 20:15:24 ais523, First I made the bf-to-C compiler called "before" (compiler written in C), Then I made the bf-to-C compiler called "after" (coded in scheme), Now I'm making the bf-to-selectable-backend compiler called "in-between" (coded in erlang) 20:15:31 and that was on lostking 20:15:55 ah, ok 20:16:45 >_O 20:16:48 O_< 20:17:01 AnMaster: And what will you call the one written in BF? 20:17:12 Egolitarian, "not done by me" 20:17:44 * Egolitarian writes that down. 20:17:45 bf-before 20:17:55 which is the name that would be produced if before was compiled via gcc-bf 20:17:55 ais523, what I did was to change which list I add back the swapped operands to in the function sorting additions, sets and so on based on offset (changes ++>-<+ into +++>-< and so on). 20:18:00 THIS IS LIVE FIRE IN THE YERA OF 1994, 20:18:03 I now add back to the Input List 20:18:05 or bf-unknown-none-before if you wanted to give the full triplet 20:18:08 instead of the Output one 20:18:14 *year 20:18:19 thus meaning I need fewer passes over it 20:18:22 to properly sort it 20:19:22 ais523, what "triplet"? 20:19:40 that is four sections 20:19:55 bf-unknown-none is the triplet name for gcc-bf 20:20:02 ah 20:20:03 but 20:20:06 triplets are used by the GNU build system to identify a target processor 20:20:08 before is a dead project 20:20:11 it had a bad design 20:20:19 meaning it was hard to add optimising properly 20:20:22 and yes, but it would technically speaking be written by you, and in BF 20:20:39 heh 20:20:50 ais523, I run the optimiser passes in a loop until the last time around didn't change anything. 20:21:08 the "change list to add back to" reduced it from 218 iterations for lostking to just 5. 20:21:20 quite a big difference 20:21:52 -!- tombom has quit (Read error: 110 (Connection timed out)). 20:21:53 -!- tombom_ has changed nick to tombom. 20:22:06 bah, how come VICE doesn't map ← to anything intelligable 20:22:24 ehird, what ← ? 20:22:41 The commodore had a ← key to the left of 1 and just above CTRL. 20:22:44 As in AltGr - whatever that generates the ← or the arrow key? 20:22:46 aha 20:22:47 that one 20:22:49 Same sort of place ESC is on current keyboards. 20:22:54 VICE purports to map ^ to it. 20:23:00 But Shift-6 (=^) doesn't trigger it. 20:23:06 It triggers & 20:23:29 8 2 4 8 /* C -> C */ 20:23:29 9 3 7 8 /* V -> V */ 20:23:30 10 7 1 8 /* ^ -> Left Arrow */ 20:23:32 11 3 4 8 /* B -> B */ 20:23:34 12 7 6 8 /* Q -> Q */ 20:23:52 -!- tombom has quit ("Peace and Protection 4.22.2"). 20:24:23 AnMaster: you said you used vice right 20:24:30 with ERL_COMPILER_OPTIONS='[inline,native,{hipe,[o3]}]' time is reduced to real 0m8.942s 20:24:34 ehird, yeah, for some game 20:24:39 forgot which one 20:24:43 was a year ago or so 20:24:43 i assume you didn't use backarrow 20:24:56 ehird, I probably didn't indeed. 20:25:06 can't use TURBO-ASSEMBLER without it :-( 20:26:34 while (p[0]) { 20:26:34 p[0]-=1; 20:26:34 p[1]=1; 20:26:34 } 20:26:37 strange loop 20:26:50 AnMaster: verily 20:26:56 yes that is from optimised lostkingdom 20:27:24 and I'm *quite* sure that is really what happens in lostkingdom. 20:27:31 Just need to locate it. Near the beginning 20:28:00 that can be optimized AnMaster 20:28:02 >[-]+<[-]+[>[>[-]+<-] 20:28:03 to p[0]=0;p[1]=1; 20:28:05 ehird, I'm aware 20:28:13 ehird, I just haven't written any pass that does it 20:28:17 yet 20:28:29 but that code is right at the beginning of lostkingdom 20:28:41 it is rather silly! 20:29:14 it is generated 20:29:19 AnMaster: use mandelbrot.b for a real benchmark 20:29:36 ehird, yes I manage that quite fine. And I can compile that without GCC running out of memory 20:29:53 yes, but for speed 20:29:54 It is also not *quite* that silly; it basically does "if (p[0]) p[1] = 1;". 20:29:58 lostkng is just shitty generated code 20:30:25 fizzie, ah true 20:30:33 I haven't implemented the if pass yet 20:30:41 since I haven't yet implemented the loop analyser 20:30:42 does esotope do ifs 20:30:45 If you just turn it to p[0] = 0; p[1] = 1; you end up setting p[1] to 1 every time, while it wouldn't happen if p[0] were 0. 20:30:45 ehird, yes 20:30:47 iirc 20:30:57 ehird, but I don't aim for that good. 20:30:59 ah, true enough fizzie 20:31:10 indeed 20:31:36 I'm going to turn it into an if yes. 20:31:38 Although it could be [>[-]+<[-]] so that it doesn't do that set-to-one too many times. But maybe p[0] is for other reasons guaranteed to be 0/1. 20:32:07 * AnMaster wonders what is best: if (p[0]) { code; p[0] = 0; } or if (p[0]) { code; } p[0] = 0; 20:32:08 http://www.youtube.com/watch?v=owHCjEWjAvs&feature=related 20:32:15 the latter could potentially be merged 20:32:20 if p[0] was modified after 20:32:32 but if it wasn't it would set it when it wasn't needed 20:32:58 shitty movie but interesting use of an atari 20:33:05 i didn't know it could do such high quality stuff 20:33:22 I could detect that, but it seems quite a bit of work. a pass after all other ones scaning for that. 20:34:45 This is driving me crazy!!! 20:34:46 >_< 20:39:03 * AnMaster defines a three state bool. 20:39:15 that's not a bool 20:39:27 s/not a/no/ 20:39:42 * ehird throws vice out the window 20:39:42 ehird, and it is a SQL-like bool 20:39:56 true | false | unknown 20:40:00 * ehird stomp stomp stomp 20:40:05 good name for it? 20:40:12 AnMaster: | floyd 20:40:14 short word for the data type 20:40:16 ehird, ... 20:40:27 AnMaster: FRC reference. 20:40:35 * AnMaster googles FRC 20:40:45 Definitions of FRC on the Web: 20:40:45 Family Resource Center 20:40:45 en.wiktionary.org/wiki/FRC 20:40:47 kay 20:41:03 ehird, was that the meaning of it? 20:41:05 The Fantasy Rules Committee is a nomic-like game that started as a special committee of NomicWorld. It did however survive the disbanding of the latter game, and still exists as an independent entity. 20:41:06 In FRC (as it is called in short), there are subsequent rounds. Each round starts with all players being eligible (except one who functions as the judge). Players try to make valid rules, that is, rules consistent with all previous ones. A valid rule extends a player's eligibility to fourteen days after the rule was posted, but an invalid one decreases it by two days. The last eligible player (who in almost all cases is also the player who posted the las 20:41:12 t valid rule) is the winner, and will function as the judge in the next round. 20:41:13 Round 29 20:41:15 Theme "Logic", or more properly "FLogic" 20:41:17 Where you can find out whether <.-.> is Frue, Talse or Floyd!! 20:41:19 http://www.win.tue.nl/cs/fm/engels/frc/ 20:41:27 I see 20:41:30 Archived, by the looks of it, by oerjan. 20:41:31 but irrelevant for this 20:41:38 Or at least, same university as his site. 20:41:41 He used to play FRC. 20:41:41 mhm 20:41:45 AnMaster: Sure it is, it's a third truth value. 20:42:29 ehird, what is <.-.> supposed to be 20:42:34 What do you mean? 20:42:39 " Where you can find out whether <.-.> is Frue, Talse or Floyd!!" 20:42:43 that 20:42:47 Yes...? 20:42:51 a weird smiliy? 20:42:55 smiley* 20:42:57 No? 20:43:01 ehird, then what 20:43:07 -!- jix has quit ("brb"). 20:43:15 what do you mean? 20:43:18 ... 20:43:35 Does "<.-.>" have any meaning? Or is it just random. 20:43:55 Read the round? 20:44:05 Presumably it'll define it. 20:44:07 -!- jix has joined. 20:45:19 FTheorem 29.12.1 <.-.> 20:45:35 tl;dr 20:45:47 anyway 20:45:52 AnMaster: Good god, what on earth is your problem? What is so confusing about "Where you can find out whether <.-.> is Frue, Talse or Floyd!!" 20:46:10 I need a good name for a type which is true, false or undefined. 20:46:22 BikeshedIsRed 20:47:10 ehird, serious suggestion please. Plus it must be start with a lower case letter to be a valid type name. 20:47:32 Why the fuck do you have to ask me to decide a trivial type name 20:47:35 I thought you could code 20:47:39 s/undefined/unknown/ 20:47:49 ehird, yes, but I suck at making up good names. 20:48:01 RogerMikeBob 20:48:19 bool_or_unknown seems so long. 20:49:07 # Copyright 1995 Olaf 'Rhialto' Seibert. All Rights Reserved. 20:49:07 # You are not allowed to read this using any kind of Micro$oft product. 20:49:14 ITT: License fail. 20:49:32 ITT? 20:50:50 err, I'm not sure a licence can do that 20:51:00 ais523: thus the "fail". 20:51:07 it's not even a license, actually, it's just a note in the file 20:51:15 * ehird opens 500 VMs of Windows and opens it in each 20:51:30 * AnMaster watches ehird's computer swap trash 20:51:31 500 VMs of Windows probably wouldn't fit in even your computer's memory 20:51:43 well, let's see 20:51:47 windows 3.1 would do 20:51:52 it can run on ... 16MB of RAM? 20:52:05 so 8GB 20:52:09 eh, easy peasy. 20:52:20 ehird, ITT? 20:52:31 What about an EULA which indicates that the program can't be run? 20:52:38 ehird, copy on write. 20:52:45 Or has to be run under some odd circumstances 20:52:46 I think you'd need less than 8G. 20:52:47 ;) 20:52:54 8G ain't much these days :p 20:53:09 yes. Yes it is. 20:53:14 It is a decent chunk of RAM, though. 20:53:29 AnMaster: no it's not, you can buy 128GB of ram for like $1k 20:53:34 for a server 20:53:56 Yes, because everyone plops down $1,000 for a system. 20:53:58 pikhq, that assumes you manages some memory sharing between those VMs. Which is a lot harder than for plain applications. I would be surprised if any of the current VMs did that. Because in most cases where you could share memory, it would be non-trivial to detect that it could be done. 20:54:07 pikhq: not the point 20:54:12 http://www.newegg.com/Product/Product.aspx?Item=N82E16820159025 20:54:13 ehird, very much the point. 20:54:15 8GB DDR2 for $80.99 20:54:23 that's quite mainstream territory 20:54:38 ehird, for the state of art desktops. 20:54:45 ehird, most people these days buy rather cheap systems. 20:54:58 yes, but $81 isn't all that much on top of the price of a typical computer 20:55:01 I'd say the typical ram expenditure for a new, mid-range system is $40 20:55:08 pikhq, that, and the average is a few years behind 20:55:13 $81 for 8GB ... you can't say 8GB is difficult to buy 20:55:14 and 8 GB is a massive amount to someone like me, who's used to really low-powered computers 20:55:16 or even odd 20:55:17 since most people don't upgrade every year 20:55:26 if you want 8GB, you can get it, unless you're completely and utterly broke 20:55:26 but maybe every 5th year 20:55:28 ehird, ^ 20:55:39 AnMaster: I'd listen to what you're saying if it was relevant at all 20:55:45 ehird: That's the attitude that makes 8GB RAM usage necessary. 20:55:47 ehird, it is. 20:55:52 the point is that 8GB is not odd, expensive or strang 20:55:53 e 20:55:55 but there is no point arguing with you. 20:56:13 indeed there isn't, because I don't simply admit you're right when you blab about irrelevant shit :) 20:56:27 -!- Egolitarian has quit ("Leaving"). 20:56:51 except it is relevant. bbl 20:57:05 ah, right, I also don't accept arguments by assertion 20:57:12 all in all I'm a pretty bad person to try and convince of stupid things 20:57:54 I think the standard update interval for gamers is 2-4 years 20:58:23 It is relevant, because you were asserting that 8 GB "ain't much these days". That implies that the majority have more than that. Which simply isn't true yet. In a few years sure. 20:58:44 now, I have better stuff to do than argue with you. Cya 20:59:06 that's actually not what I said. 20:59:14 "8GB ain't much these days" != everyone has >8GB 20:59:28 "8GB ain't much these days" = "it is not difficult, extravagantly costly or hard in any way to get 8GB of RAM at all" 20:59:41 everyone has >8GB != "majority" 20:59:45 so that wasn't what I said 21:00:00 majority == 50% or more 21:00:21 congrats, you can nitpick at irrelevant bits to avoid rebutting my actual point. 21:00:37 ehird, yes it is. Because unless you have a very recent system you will need to upgrade your mobo too 21:00:43 and then probably the CPU too 21:00:46 so yes it is costly 21:00:48 if you have a low-end mobo, sure. 21:01:05 ehird, even if you have a high end mobo from a 2-4 years ago. 21:01:10 I have a 3 year old system and it supports 16GB fine 21:01:15 AnMaster: you're bullshitting 21:01:21 what mobo has less than 4 slots? 21:01:21 well, I haven't tried that, but it would 21:01:27 what mobo supports less than 8GB? 21:01:35 ehird, most ones I have seen have 2 or 3 slots 21:01:35 A: one you bought on the cheap, or one that's ancient. 21:01:37 not 4 21:01:48 AnMaster: i guess sweden is where they keep the dinosaurs 21:02:06 as I said above. I don't consider "state of the art" as the norm 21:02:16 that's fine, because I never said these are state of the art 21:02:18 I rather consider average the norm. 21:02:27 a motherboard with 4 DDR2 slots is not state of the art 3 years ago at all 21:02:30 And not "gamer average". But "all user average" 21:03:18 Argumentum ad AnMaster: Keep talking about a minor aspect of the argument that doesn't affect its actual truth value while ignoring future statements. This helps you seem like you're winning the argument without any fiddly thinking or rebutting or having facts on your side. 21:03:21 and most people actually buy low end systems. 21:03:23 ehird, most people these days buy rather cheap systems. 21:03:29 21:03 AnMaster: and most people actually buy low end systems. 21:03:33 That's objectively false. 21:03:36 If it's the norm, it's not low-end. 21:03:37 ehird, proof? 21:03:50 ehird, low end compared to your standards. 21:03:51 AnMaster: the very definition of low-end, and norm. 21:03:54 was what I meant. 21:03:55 Uh huh. 21:04:06 I define low-end as being lower than the average of what's on sale 21:04:10 as opposed to the average of what people buy 21:04:22 you can buy supercomputers 21:04:26 bam, suddenly everything is low-end 21:04:27 ais523, that is a better definition. 21:04:36 ehird: except there aren't very many on sale 21:04:49 maybe, let's say the median of all computers that haven't been sold yet, but can be bought 21:04:55 sure there are 21:05:04 but there are more non-supercomputers 21:05:42 i'd say that your definition leads to very vague and fuzzy definitions of the ends 21:05:51 since you have to analyze the exact proportions and specs of computers being sold 21:12:07 -!- Sgeo has joined. 21:22:28 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 21:26:57 -!- BeholdMyGlory has quit (Remote closed the connection). 21:29:40 -!- oerjan has joined. 21:31:10 -!- BeholdMyGlory has joined. 21:40:51 Archived, by the looks of it, by oerjan. 21:41:21 yep, although that was of course many years ago 21:41:39 What did oerjan achieve? 21:41:53 archiving frc during its first years 21:42:06 oh 21:42:17 I loved reading the FRC archives 21:42:21 otherwise, looping in /// 21:42:40 but i have a simpler method now 21:43:38 (the horribly inefficient iterative scan should be unnecessary) 21:49:13 :-D 21:49:37 just need to actually code it :) 21:49:55 oerjan: port it to the c64 21:50:01 er... 21:50:05 no, thanks 21:50:10 :) 21:52:08 GCC's -O0 is horrible. It doesn't even constant fold +0 21:52:09 :( 21:52:18 I mean, that can't possibly hurt debugging 21:52:38 GCC -O0 isn't "don't do anything to hurt debugging", it's "perform no optimizations whatsoever" 21:52:44 It doesn't even assign values to registers with -O0 21:52:49 to make i = 1 + 1 + 0 ; be i = 2; instead of calculating that at runtime. 21:53:04 GregorR, therere should be a mode for "don't do anything to hurt debugging" then 21:53:10 because -O1 does hurt debugging 21:53:26 -O0.5430897 21:53:35 I agree, there should be a -O 21:53:36 what is -O by default? 21:53:40 ehird: 0 21:53:48 so gcc is shit by default 21:53:48 cool 21:53:54 I'm asking for something that does basic constant folding + "mov $0,%eax" => "xor %eax,%eax" and such 21:53:56 ehird: Oh, you mean if you specify -O? Then it's -O1 I think 21:54:02 nope 21:54:05 I meant if you don't specify 21:54:11 Right, yeah, that's -O0 21:54:19 AnMaster: I bet those turn into the same microcode these days 21:54:21 default optimisation is -O0, unless you have some -O sitting in your cflags somewhere 21:54:22 ehird, then it depends on ./configure time options iirc 21:54:30 that's not gcc 21:54:33 ehird, um that doesn't matter. 21:54:42 ... 21:54:51 ./configure puts things in the Makefile, thereby passing them to gcc X_X 21:54:52 if "mov $0,%eax" and "xor %eax,%eax" turn into the same microcode 21:54:55 they're the same thing 21:54:58 ehird, since the opcode for mov $0,%register is longer than xor %reg,%ref 21:54:59 GregorR: yeah but I asked about gcc 21:55:00 reg* 21:55:03 not autohell 21:55:05 AnMaster: oh noes 21:55:10 ehird, so not the same thing when it comes to cache 21:55:11 ehird: That was at AnMaster, not you 21:55:16 ah 21:55:17 well right 21:55:21 i agree :P 21:55:34 ./configure puts things in the Makefile, thereby passing them to gcc X_X <-- in ./configure for gcc you can select default -march, -O and such iirc 21:55:44 THAT is what I was talking about 21:55:46 OH 21:55:48 when configuring gcc itself 21:55:49 That I didn't know. 21:56:03 Ah 21:56:03 And that's interesting. 21:56:06 How odd 21:56:19 That sounds stupid actually 21:56:24 liable to break stuff 21:56:24 I'm 100% sure you can select default -march, not 100% sure about default -O 21:56:25 ehird: GCC uses this whole complicated mess of "spec files", it would just have to add the appropriate flag to the spec file for that. 21:56:33 oerjan: your /// looping method looks like what I was trying and failing at 21:56:59 Why is /// colloquially called "slashes" instead of "slashslashslash" 21:56:59 oerjan: now implement BF in /// ;-) 21:57:03 GregorR: shorter. 21:57:14 That's it, I'm making a language called // 21:57:18 I agree, there should be a -O <-- some basic DCE would work too. Like when GCC emits "mov $0,%eax; mov $0,%eax;" after each other 21:57:22 yes I saw that on -O0 21:57:42 Sure, sure. 21:57:46 "As it is, text takes a lot of memory so dissuading the programmer from using a lot of text was probably a good thing." 21:57:49 It's hard to draw the line :P 21:57:56 ais523: you know you talked about inherently large things? 21:58:03 on the C-64, text was inherently large :-) 21:58:13 ais523: you know you talked about inherently large things? *THAT'S WHAT SHE SAID* 21:58:16 GregorR, not really. If it hurts debugging in gdb then don't do it 21:58:17 -!- puzzlet_ has joined. 21:58:17 heh 21:58:18 GregorR: Oh snap. 21:58:18 simple 21:58:24 that heh was at ehird 21:58:32 AnMaster: "Hurts debugging in gdb" is ill-defined. 21:58:38 ehird: actually i'm considering an actual turing machine, that fits better i think 21:58:52 oerjan: as a first step, why not implement slashes in slashes? 21:58:55 GregorR, "value optimised out" is HURT definitely. 21:58:59 Yes :P 21:59:02 that doesn't prove anything, but if slashes can do an infinite counter and also implement itself 21:59:04 it seems likely to be TC 21:59:10 bonus: simple 21:59:15 (require preparsing ofc) 21:59:21 GregorR, anything breaking s is too. If it breaks si then I'm fine with it. 22:00:50 ehird: but a turing machine or cellular automaton is so easy to do with local substitutions 22:01:03 oerjan: do BCT 22:01:06 s/local/global/, possibly 22:01:06 optimise([#bfn{ ins = add, off = Offset, val = V2 }|T], 22:01:06 [#bfn{ ins = set, off = Offset, val = V1 } = A|Result]) -> 22:01:06 optimise(T, [A#bfn{ val = V1 + V2 }|Result]); 22:01:15 oerjan: BCT can be done with repeated really-regular regexs 22:01:16 that is so beautiful. 22:01:17 :) 22:01:26 Pattern matching RULES! 22:01:31 oerjan: so it's very trivial to prove a lang tc with it 22:01:41 ais523, ^ 22:02:04 AnMaster: how is ais523 meant to respond to that 22:02:08 "oh, that's nice"? 22:02:17 ehird, that would be one of many alternatives. 22:02:39 "I am a piece of bread on fire." 22:02:58 ehird, not as likely, but not technically impossible. 22:03:02 another would be saying something like "oh like in prolog" 22:03:03 :P 22:04:12 ehird: hm yeah BCT might be nice 22:04:26 yep 22:04:30 very trivial to implement 22:05:21 what is BCT in this context? Below Turing Complete? Bread fire Control Template? 22:05:22 ;P 22:05:31 http://esoteric.voxelperfect.net/wiki/BCT 22:05:35 bitwise cyclic tag 22:05:47 possibly the simplest of all languages to implement 22:05:56 Boh Clike Tinprolog 22:05:57 you can do cyclic tag in stuff where even BF would be a nightmare 22:06:26 ais523, ah 22:06:31 * ehird notes that a piece of bread on fire is colloquially called "toast" 22:06:38 Bitwise Cyclic Toast. 22:06:52 *charcoal 22:07:09 -p[-2]=0; 22:07:09 -p[-2]+=p[-7]; 22:07:09 +p[-2]=p[-7]; 22:07:10 :) 22:07:39 a bit better 22:10:41 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 22:11:15 hm also with BCT both the program and data might simply be data in the /// program, needing only trivial recoding 22:11:40 while for a turing machine you'd recode the state transitions as substitutions 22:11:58 so get on coding ;-) 22:12:01 it should be ubertrivial 22:14:10 oerjan, are you about to prove /// TC? 22:14:11 :D 22:14:21 maybe 22:14:23 shouldn't take long, BCT is more or less a natural fit for this sort of thing 22:14:30 I'm not sure if an interp or compiler would be easier, though 22:17:33 the true marvel is that bct is tc 22:17:52 ehird, agreed 22:18:12 "PRESS PLAY ON TAPE" — C64. 22:18:20 :D 22:18:27 ehird, do that then 22:18:36 AnMaster: There is no tape :-P 22:18:45 ehird, there is a tape emulator surely 22:18:49 well, yes 22:18:51 it has no play button 22:18:56 unfortunately my .prg doesn't seem to load... it just tries to load forever 22:18:59 ehird, what emulator are you using 22:19:00 probably I missed an entry point 22:19:02 AnMaster: VICE. 22:19:08 still... mhm 22:19:19 ah hm 22:19:28 from asie's celf_main.asm ".null $9e,^main" 22:19:32 I assume that has something to do with it 22:19:49 is that perl asm? :D 22:19:57 nope; Turbo Assembler 22:20:06 hah 22:20:38 cd /usr/bin; sudo ln -s perl turbo-sed 22:20:57 Did I mention that the C-64's 5'44" floppy drive was more powerful than the C-64? 22:21:07 (sold separately) 22:21:14 ehird, um. Powerful in what measure? 22:21:25 CPU, I think RAM 22:21:30 not sure about RAM though 22:21:35 why did the tape have a CPU... 22:21:36 err 22:21:38 tape drive 22:21:40 but still 22:21:43 Floppy drive. 22:21:44 AnMaster: it implemented DOS 22:21:47 not that DOS 22:21:48 ah 22:21:52 but the disk operating system 22:21:54 floppy drive 22:21:55 and the filesystem 22:21:59 ehird, heh...? 22:22:18 AnMaster: from the C-64 you called out to the floppy drive to run disk-operating-system commands 22:22:21 to manipulate the filesystem 22:22:25 I see... 22:22:29 you could access the floppy directly but it was harder 22:22:30 that's kind of crazy 22:22:39 not really 22:22:48 AnMaster: the c64 ran at 0.9mhz in pal countries 22:22:50 and had 64K of RAM 22:22:52 That's kind of how every piece of hardware works these days 22:22:56 it made sense to outsource the disk operation 22:22:57 I.e. it has firmware. 22:23:04 due to the insanely low system resources 22:23:14 and what Deewiant said 22:23:15 ehird, what about US? 22:23:15 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 22:23:17 what speed there 22:23:19 For contrast, the tape drive doesn't really have much in the way of electronics in it; so you have to PRESS PLAY ON TAPE manually. 22:23:23 AnMaster: NTSC was 1mhz. 22:23:31 ehird, why was it faster. 22:23:32 well 22:23:35 NTSC = 1.02MHz 22:23:39 PAL = 0.985MHz 22:23:41 I don't see how this is related 22:23:43 AnMaster: I don't know... screen refresh rates? 22:23:46 ah ok 22:23:48 power supply? 22:23:50 from the wall 22:23:54 -!- kar8nga has quit (Remote closed the connection). 22:23:54 guess it was slow enough you had to time them 22:24:03 Screen refresh rates are my guess 22:24:04 they are not very fast machines 22:24:08 Deewiant: yeah 22:24:20 probably it's timed so it can do calculation and update the screen at the native fps of the television 22:24:31 ehird, US has 110 V and Europe has 230 V. Power supply can't be the reason. 22:24:31 NTSC is 29.97 fps, PAL is 25 22:24:32 Different video signal pixel clock, and just a suitable fraction of that for the CPU. 22:25:05 fizzie, so video refresh was faster than CPU? 22:25:09 * ehird attempts to input a * on this c64 22:25:11 Wait, you meant the other way around 22:25:12 emulator 22:25:12 right 22:25:17 I can't find the key :^) 22:25:23 ah 22:25:24 ] 22:25:52 It's more about the pixel clock than actual frame rates. But yes, the video clock is faster than the processor, I think. It depends on the sort of resolution you want, of course. 22:26:10 * ehird attempts to figure out how to list the files on the drive 22:26:50 Wikipedia says "14.31818 MHz (NTSC) or 17.73447 MHz (PAL)" clock for the video chip, and that was divided with some suitable constant to get the CPU clock signal. 22:26:59 ehird: LIST, IIRC 22:27:14 fizzie: I wonder if the demosceners tried to do calculation on the video chip 22:27:19 LOAD "$",8,1 and the LIST. Or some such thing. 22:27:21 "Just a second, the screen will go haywire..." 22:27:27 Deewiant: LIST 22:27:27 22:27:28 READY. 22:27:29 "$"? 22:27:34 Well, I guess I've loaded it the wrong. 22:27:41 LOAD "*",8,1 22:27:45 Yes, you load "$" to get a LISTable list of the disk. 22:27:47 or assembled it the wrong 22:27:51 Ah. 22:27:54 LOAD "*" will load the autoloadable program. 22:27:56 fizzie: ?OUT OF DAT ERROR 22:28:01 (with the two spaces) 22:28:02 *DATA 22:28:09 i guess 22:28:09 I haven't actually used a C64, so maybe I should just shut up. 22:28:09 % ./64tass flickr64.asm -o flickr64.prg 22:28:10 is wrong. 22:28:11 And 8 is the unit. I don't really remember what the 1 is. 22:28:19 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 22:28:41 * ehird pilfers more CELF code. 22:28:45 fizzie: Device number, target location IIRC 22:28:46 I don't think I have a working C64 emulator and/or any .d64 file, so I can't really try these. But I do seem to remember that it was LOAD"$" and LIST. 22:28:51 -!- puzzlet has joined. 22:28:57 8 being the first disk drive, 9 being the next 22:29:26 The other one was some kind of enum where 0 was for BASIC and 1 for asm proggies 22:29:32 Can't remember the details of that one 22:30:32 * ehird kicks the assembler 22:30:38 I'll try and assemble CELF to see if that works. 22:30:53 p[-36]=0; 22:30:53 -p[0]=p[-36]; 22:30:53 -p[-36]=0; 22:30:53 +p[0]=0; 22:30:55 Indeed so 22:30:59 yet another step :) 22:31:01 It prints "LOADING CELF..." 22:31:09 So im doin it rong 22:31:49 The question is... what am I doing wrong? 22:33:07 you'd think it'd be easy to compile 22:33:08 main 22:33:09 inc $d020 22:33:10 inc $d021 22:33:12 jmp main 22:33:26 * ehird reads the 64tass manual 22:34:12 It works! \o/ 22:34:33 ehird, what was the issue? 22:34:47 also what is 64tass 22:34:59 64tass = port of Turbo Assembler to unices/windows. 22:35:02 ah 22:35:10 well. 22:35:10 ansi c. 22:35:20 AnMaster: and I'm not sure; I copied CELF's header and it didn't work but the one in the 64tass manual worked. 22:35:25 I suppose CELF changed it for OSly things 22:35:31 ehird, so Turbo is optimising? 22:35:35 Or why is it called Turbo? 22:35:39 Nope. 22:35:41 It's called Turbo because it's fast? 22:35:44 Or, I don't know. 22:35:46 Just a nice name. 22:35:52 hah 22:35:55 http://xs539.xs.to/xs539/09202/picture_1960.png ← Pretty ugliness. 22:36:05 (the program increments the border background, the regular background, then loops.) 22:36:14 (Since it does this in a tight loop, it happens more than once per screen redraw.) 22:36:16 * AnMaster writes the loop analyser. 22:36:31 -!- jix has quit ("night"). 22:36:53 the header in question is 22:36:54 *=$0801 22:36:54 .word ss,2005 22:36:56 .null $9e,^main;will be sys 4096 22:36:58 ss.word 0 22:37:00 *=$1000 22:37:02 and I have no idea what it does 22:37:04 I think *=$foo means 22:37:06 skip ahead to foo 22:37:08 in the assembled file 22:37:10 ($foo = hex) 22:37:19 and I suppose 2005 is a magical c64 header 22:37:33 it's $07d5 22:37:37 then... I don't know what the null thing is 22:37:43 Or exactly what ss is doing 22:37:45 But meh. 22:38:17 while (p[0]) { 22:38:17 p[-1]+=1; 22:38:17 p[0]-=1; 22:38:17 p[1]=0; 22:38:17 p[8]=0; 22:38:18 p[12]=1; 22:38:20 p[13]=0; 22:38:22 p[14]=0; 22:38:24 } 22:38:26 I wonder 22:38:28 what is the best way to optimise that 22:38:35 prog.add(new Data(new byte[] {0x0c, 0x08, 0x0a, 0x00, (byte)0x9e, 22:38:35 (byte)'0', (byte)'2', (byte)'0', (byte)'6', (byte)'2', 0, 0, 0})); 22:38:42 AnMaster: you can do that without any sort of loop 22:38:43 fizzie: wuzzat 22:38:44 I've only been doing c64 .prg files completely manually. :p 22:38:53 AnMaster: c[-1] = p[0]; 22:38:55 ehird, Um needs an if at least 22:38:58 err 22:38:59 it might be run zero times 22:39:00 well yes 22:39:06 It's the sort of header that should be there; I think that (byte)0x9e corresponds to what you have. 22:39:12 if (p[0]) {p[-1]=p[0];p[0]=0;the rest of the stuff you had} 22:39:16 is the optimal optimization 22:39:18 fizzie: ah. 22:39:18 ehird, but that is kind of Strong AI opt as far as I can see. 22:39:19 The header is there in order to make the BASIC interpreter run the assembly program. 22:39:25 or maybe not 22:39:28 AnMaster: err 22:39:28 how 22:39:34 it's trivial that's what it is 22:39:38 ehird, trying to see how the program could figure this out 22:40:12 it is a copy,set with side effects 22:40:15 right 22:40:49 i wonder how powerful of a computer can you make utterly solid state 22:40:53 (no fans or pumps) 22:41:13 bsmntbombgirl, with a large enough passive heat-sink: any 22:41:28 mind you, you might need a larger room in the most extreme cases 22:41:31 it's hard to transfer heat to a huge enough sink 22:41:34 bsmntbombgirl: any: radiator 22:41:36 heatsink 22:41:39 heatpipes aren't magical 22:41:47 bsmntbombgirl: see: totally no noise by zalman 22:41:50 Yes they are. 22:41:58 bsmntbombgirl: http://www.silentpcreview.com/article302-page1.html 22:42:04 bsmntbombgirl: convective cooling 22:42:06 err no 22:42:07 what was that DC thing 22:42:08 that's not it 22:42:12 petire 22:42:14 or something 22:42:19 which one is it, I forget 22:42:32 * ehird searches 22:42:44 here 22:42:45 bsmntbombgirl: http://www.silentpcreview.com/article301-page1.html 22:42:53 completely passively cooled system that was quite good in 2006 22:42:58 you could use the same sort of techniques to cool anything 22:43:20 that is pretty cool 22:43:23 yeah 22:43:37 pretty useless though; you can get a system with one or two fans for like a bajillion times less fuss 22:43:40 but i think you have to allow a pump to be practical 22:43:43 and if you put it a meter or so away from you inaudible 22:44:00 if you can cool something with few fans, it's probably the quietest way 22:46:09 * ehird searches for a simple reference of all c64 opcodes 22:46:27 *6510 :p 22:47:25 seems like the psu is the most difficult to cool in such situatioins 22:47:25 the best way is anti-sound 22:47:39 use interference to cancel out the loud fans 22:47:40 :) 22:47:41 bsmntbombgirl: you can get passive psus 22:47:43 Re the disk drive, probably the most important use for the processor in there is that you can make it do music. http://www.youtube.com/watch?v=5gnMgmlKi_o promises to have an example; I don't feel like listening to it right now. 22:47:45 up to about 380W 22:47:52 iirc 22:47:54 -!- oerjan has quit ("leaving"). 22:47:55 hmm 22:47:58 bsmntbombgirl: look up silverstone 22:48:03 http://www.hardware.info/images/news/silverstone_st45_1_550.jpg 22:48:06 ehird, what do you think about that idea 22:48:07 i bet they're shit without some forced airflow 22:48:08 450W passive psu by silverstone 22:48:15 bsmntbombgirl: everything's shit without airflow 22:48:23 bsmntbombgirl: endpcnoise do some high-end fanless computers 22:48:25 lemme find one 22:48:32 bsmntbombgirl: http://www.endpcnoise.com/cgi-bin/e/std/sku=fanless_mcubed_pc.html 22:48:53 so core 2 duo 3.3ghz, 280 watt seems to be the most you can feasibly do fanlessly 22:49:00 w/ an ssd of course 22:49:02 that's not bad at all 22:49:03 ehird, my solution should solve ALL the issues! 22:49:10 not sure how practical it is 22:49:47 but I remember reading about headphones that used interference to cancel out outside noise. 22:49:53 AnMaster: sucks 22:49:58 bsmntbombgirl, why 22:50:03 the easiest way to muffle computer noise is via the AcoustiPaks. 22:50:15 soundproofing materials, pretty much 22:50:17 http://www.acoustiproducts.com/en/acoustipack.asp 22:50:20 nice things. 22:50:39 bsmntbombgirl, why 22:50:58 AnMaster: cheating, won't work well 22:51:09 bsmntbombgirl, why is it cheating. And why won't it work well 22:51:25 what are you, 4? 22:51:55 bsmntbombgirl: empirical evidence suggests yes ;-) 22:51:58 bsmntbombgirl, I'm aware of that it isn't technically trivial. But with enough effort it should be possible to get it to work 22:52:06 but I don't see why it is "cheating" 22:52:07 ... 22:52:16 as long as it works 22:52:52 AnMaster: i said solid state 22:52:56 not noiseless 22:53:04 yep 22:53:11 http://www.qrdc.com/Quiet_Computer_PC_Parts/PC_Water_Cooling/ATX_Watercooled_500W_PSU/221 22:53:14 bsmntbombgirl: did you look at www.endpcnoise.com/cgi-bin/e/std/sku? 22:53:18 also, watercooled!=passive 22:53:23 err 22:53:23 well, yeah 22:53:25 http://www.endpcnoise.com/cgi-bin/e/std/sku=fanless_mcubed_pc.html 22:53:29 bsmntbombgirl, Fair enough. But why do you want solid state. 22:53:35 to reduce noise? 22:53:45 for the lulz 22:53:51 as a theoretical exercise 22:53:52 aka lulz 22:53:52 Or to reduce wear? 22:53:58 ok 22:54:20 AnMaster: also, you simply can't get 0dB without fully solid state 22:54:31 totally inaudible, yes. 0dB, no. 22:54:49 ehird, Hm... I wonder how feasible cancelling out the sound would be though. 22:55:01 just out of interest 22:55:03 see acoustipack? 22:55:05 that's what it's for 22:55:10 ehird, I meant with interference. 22:55:14 oh. 22:56:24 ehird, since I know it is possible. As I said above: I saw some headphones that used interference to cancel out outside noise. 22:57:02 http://en.wikipedia.org/wiki/Active_noise_control 22:58:26 http://forums.overclockers.com.au/showthread.php?t=744914 22:58:29 that's almost fanless 22:58:34 could be with a better radiator 22:59:13 bsmntbombgirl: hellooo? i've been linking you to a totally solid state computer that's relatively good spec-wise 22:59:22 :p 22:59:22 meh 22:59:26 diy is funner 22:59:29 sure 22:59:30 but 22:59:33 as a proof of what you can do 22:59:35 max out http://www.endpcnoise.com/cgi-bin/e/std/sku=fanless_mcubed_pc.html 23:00:06 meh, doubt it works 23:00:12 bsmntbombgirl: what do you mean doubt it works? 23:00:13 ehird, um the cd isn't solid state 23:00:17 FAIL 23:00:21 AnMaster: so take it out, child. 23:00:23 that isn't completely solid state 23:00:26 280 watts isn't very impressive 23:00:27 ehird, that works 23:00:42 bsmntbombgirl: it's enough to power a dual-core @ 3.33ghz & 4gb *shrug* 23:00:49 -!- olsner has quit ("Leaving"). 23:00:53 the superpowered i7 I'm getting maxes out at around 400 watt 23:01:00 -!- inurinternet has joined. 23:04:53 I even used headphones with ANC when flying once. 23:05:11 The Amazing Flying Human 23:06:01 I doubt anyone will want to wear headphones all the time, though; and noise cancellation is rather a lot trickier when you don't have such a good control as to what sound's going to enter the ear. 23:06:04 ehird, nah, Just sitting in the co-pilot seat. The heaphones with com and radio had noise cancelling. 23:06:17 AnMaster: you sit in seats in the air‽‽‽‽ 23:06:24 ehird, hah 23:06:41 fizzie, no way I'm going to take off the headphones in a noisy C-172 though! 23:08:36 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 23:08:40 i wrote my awesome c64 program 23:08:44 but I used 16 bit variables 23:08:51 guess how many bits the c64 registers are? 23:08:52 8 23:09:06 sooooo I either have to split it across two registers or put it in memory 23:09:25 i have a c64 somewhere 23:09:38 think my dad has one somewhere. 23:09:52 never actually used it 23:09:54 -!- FireFly has quit ("Later"). 23:10:26 hmm 23:10:36 I have a C128 in the closet ↑ that way, like I've probably said several times. 23:10:44 It has a reasonably compatible C64 mode, though. 23:10:51 ok, if instead of 23:10:54 ldx #$d800 23:10:55 i do 23:10:57 ldx #$d8 23:11:00 ldy #$00 23:11:07 oh wait, it adds on 23:11:07 hmm 23:11:20 as in, "inc x,y" is inc (x+y) i think 23:11:27 You can't really use 'xy' as a pair, anyway. 23:11:34 i'd like to, though. 23:11:37 since the maths would be simple 23:11:40 Well, you can't. 23:12:07 If you want to do 16-bit arithmetics, you'll have to do it with add-with-carry and some carry-handling. 23:12:09 i know, thus im trying to figure out how to do it best :P 23:12:24 fizzie: my loop is very mundane 23:12:40 it's just "loop x from $d800 to $dbff" 23:12:45 startldx #$d800 23:12:45 continc xfffff 23:12:46 ;increment, if >$dbff reset 23:12:48 inx 23:12:50 lda $dc00 23:12:52 cmp x 23:12:53 on a 64 bit proc, is a long long 128 bits? 23:12:55 bne start 23:12:56 jmp cont 23:12:58 bsmntbombgirl: yep 23:13:26 It's just not a 16-bit CPU, you can't use it like it were. :p 23:13:32 i know 23:13:41 i just don't know how to address, say, $dbff when all you can do is 23:13:43 inc x,y 23:13:45 which is inc (x+y) 23:13:56 oh wait 23:14:02 the literals can be $xxxx 23:14:05 if you do inc $xxxx 23:14:08 hrm 23:14:23 You can use absolute addressing with INC, so you can increment any byte in memory. 23:14:32 oh? 23:14:32 how? 23:14:48 Like you did there, inc $xxxx. I mean, assuming it's constant. 23:15:05 fizzie: well, it's not, since I'm looping from $d800 to $dbff 23:15:05 :p 23:15:12 and i wonder if sse is any good for crypto 23:15:15 If you need a 16-bit pointer-type of thing, you're pretty much going to have to use the indirect addressing modes. 23:15:25 fizzie: great, how do you use them 23:15:28 these docs are woeful 23:17:11 LDA ($ab,X) or LDA ($ab),Y -- where $ab is a memory address on the zero page (there's a couple free for temporary use, I think); the first will load A with the data in memory address pointed to by $ab+X and $ab+X+1. 23:17:24 ah, the 4-byte zero page? 23:17:29 asie said something about that 23:17:45 For the second, it's the memory address pointed to by $ab and $ab+1, with Y added to it after indirection. 23:17:55 fizzie: but... those are still 8 bit right? 23:18:22 Well, no, in the sense that it uses the bytes at $ab and $ab+1 to form the 16-bit address where to load the 8 bits of A from. 23:18:48 ah 23:18:50 gross :) 23:18:59 Then you can (painfully) increment the 16-bit value at $ab and go on with your loop. 23:19:08 -!- coppro has joined. 23:19:14 fizzie: so if you have $ab=ff and $ab+1=33, it behaves like LDA $ff33? 23:19:27 I think it might've been little-endian. 23:19:30 Not quite sure. 23:19:35 ah 23:19:39 well the c64 is so 23:19:41 $33ff 23:19:47 fizzie: is $ab an example or the actual addr :P 23:20:13 An example; I don't remember what the "free" bytes are (if you don't want to mess the C64 kernal stuff). 23:20:36 hrms 23:22:57 Anyway, if you want to write A to all bytes $d800..$dbff, you probably want to: loop through the values $d8..$db at some zero-page address $00ab (and keep $00ac == 0); and for each of those values do a single inner loop of Y=0..Y=$ff executing STA ($ab),Y. 23:23:23 yeah 23:23:30 should be easy enough once i figure out where the zero page is 23:23:32 bzr branch http://rage.kuonet.org/~anmaster/bzr/in-between/trunk in-between 23:23:36 in case anyone is interested 23:23:39 it is far from done 23:23:40 i want a tile64 23:23:45 but is quite ok already 23:23:46 bsmntbombgirl: what would it do 23:23:57 ehird: be awesome 23:24:01 ais523, you might be interested 23:24:06 same for lifthrasiir 23:24:06 ehird: 23:24:07 bsmntbombgirl: what is tile :p 23:24:08 FREKZP00FB-00FE251-254Free 0-Page Space for User Programs 23:24:15 http://www.tilera.com/products/TILE64.php 23:24:15 fizzie: ooh, thanks, where's that from 23:24:18 ehird: Those are the four officially free bytes you can use there. 23:24:22 http://www.cbmitapages.it/c64/c64ram.htm 23:24:32 bsmntbombgirl: what arch is it? 23:24:33 AnMaster: now is a bad time for me, RL-wise 23:24:41 ais523, ok. It will stay there. 23:24:52 fizzie: 4 bytes? the BBC Micro had an entire 32 bytes of Page Zero for the user 23:24:55 I think the official C64 programming guide had a reasonable memory map in it too; that is available as an e-text somewhere. In many places, I think. 23:24:56 I think the design is very nice thoigh 23:24:58 though* 23:25:07 ais523: the c-64 is rather hardcore 23:25:08 ais523: There are a lot of bytes you can abuse, IIRC. 23:25:21 actually, given that it's only 256 bytes large, 32 was an immensely large allocation for the user to play with 23:25:58 23:22 fizzie: Anyway, if you want to write A to all bytes $d800..$dbff, you probably want to: loop through the values $d8..$db at some zero-page address $00ab (and keep $00ac == 0); and for each of those values do a single inner loop of Y=0..Y=$ff executing STA ($ab),Y. 23:26:01 don't you mean put it in 00ac 23:26:04 and leave 00ab = 0 23:26:11 Right. 23:26:22 I was a bit big-endian there. 23:26:25 I wonder if them defaulting to 0 is in the speck 23:26:27 http://bzr.kuonet.org/in-between/trunk/files 23:26:27 yes, speck 23:26:28 btw 23:26:31 for browsing it 23:26:53 bsmntbombgirl: what do they run on 23:26:55 tile64s 23:26:59 what? 23:27:02 arch 23:27:29 wtf are you talkign about 23:28:54 bsmntbombgirl: what architecture do the tile64s use 23:28:56 fizzie: foo.asm:17: Extra characters on line "sta ($00fb),0" 23:29:03 ehird: their own 23:29:05 seems like we dun be supporting nonuvat syntax. 23:29:07 bsmntbombgirl: oh. 23:29:22 bsmntbombgirl: shrug; it seems like you'd need something really hugely parallel to use it properly 23:29:28 ...no shit 23:29:44 ehird: It's "STA ($FB),Y" you want; there's no such thing as ",0" there -- if you don't want an offset, you'll have to clear Y. 23:29:51 ah. 23:30:05 there's a better way to clear y than "ldy #$00"? :p 23:30:43 fizzie: seems not 23:30:44 lda #$ff 23:30:44 ldx #$00 23:30:46 sta ($fb),x 23:30:48 foo.asm:18: Constant too large "sta ($fb),x" 23:31:26 You need to use Y with it. 23:31:41 fizzie: it's a bloody odd syntax if you have to put ,y in there 23:31:42 Or you can write "STA ($FB,X)" if you want, since X=0. 23:31:55 welp, works now with y 23:32:09 hmm 23:32:14 nothing happens on the graphical display 23:32:17 how queery. 23:32:47 It's either indexed-indirect with ($ab,x) or indirect-indexed with ($ab),y; but you always have to use x and y depending on the style you want. It's a bit... limited. 23:33:06 Yeah. 23:33:13 I'm using ($ab),y. 23:33:27 Hmm... 23:33:35 Is $d800-$dbff not actually video memory? 23:34:30 I've completely forgotten what the graphics modes look like; but I'm sure there's no direct-mapped framebuffery thing. It's all very 8x8-raw-pixel-tiley. 23:35:07 Oh, I know, I'm doing text mode here 23:35:20 Oh. Well, I don't remember where that was either. :p 23:35:22 asiekierka said that $d800-$dbff was the colours for chars, I think. 23:35:27 The issue may be that there's no char there. 23:35:46 Of course, finding a slot that is used would be überwork. 23:38:28 Yes, the foreground color of characters seems to be at that range; one byte per character, but only 4 lower bits are actually stored. 23:39:03 fizzie: do you just sort of pick up the info from anywhere or are you getting this from an infallable resource? 23:39:06 i'd like to know which if the latter 23:39:57 Googling for random strings this time. I did have some sort of bookmark collection back when I was doing a bit of C64 stuff, but I'm sure I've misplaced it. 23:41:06 http://www.c64.ch/programming/c64prg10.txt is the official reference guide; large sections of it are pretty basic-oriented, but there's useful stuff too. 23:42:17 For example, even though the "programming graphics" chapter 3 speaks of POKEing a lot, the memory addresses are the same. And chapter 5 is about assembly-things. 23:42:50 It is a bit overfond of decimal numbers, though. 23:42:55 decimal ftl 23:44:41 Will have to sleep now; have 64fun. 23:44:48 bai 23:45:42 * bsmntbombgirl POKEs fizzie 23:47:28 -!- Dewi has joined. 23:48:03 “here is my virus, it's contained in the scanner for HIV 1. it scanns the disk for HIV1 (and removes it when it is found) but infects with HIV2.” 23:48:04 AnMaster: finally i splitted esotope-bfc into bfc package. not refactored yet, but it is being closer to pluggable architecture. 23:48:15 lifthrasiir, "bfc package"? 23:48:16 just like the fake antiviruses for windows of today! 23:48:19 ...wait what? 23:48:23 the name of package is "bfc". 23:48:32 bsmntbombgirl: c64 viruses 23:48:34 called HIV1/HIV2 23:48:38 to clear up confusion :p 23:48:39 Expr is moved to bfc.expr module, IR is to bfc.nodes, etc. 23:48:41 lifthrasiir, ah 23:48:48 omg ehird has aids 23:48:56 clearly. 23:52:46 -!- ais523 has quit (Remote closed the connection). 23:55:50 litle know fact 23:56:29 -!- oerjan has joined. 23:58:01 http://www.koolance.com/water-cooling/includes/modules/image_browse.php?code=665&type=more&nindex=0 23:58:04 submerged 23:58:44 -!- comex has quit (Remote closed the connection). 23:59:54 -!- Dewio has quit (Read error: 101 (Network is unreachable)).