00:01:17 haah 00:03:09 So. 00:03:31 This channel is always alive and active, isn't it. 00:03:37 -!- BigZaphod has quit. 00:03:38 (Or totally dead) 00:09:46 heh 00:14:48 -!- heatsink has joined. 00:15:04 * GregorR-W attaches his 4gHz proc to heatsink 00:16:56 * heatsink hums warmly 00:17:31 CPU0: Temperature over threshold, switching to a lower frequency 00:36:27 is there a brainfuck hexdump? 00:36:39 Ooooh, that would be fun. 00:36:48 And by "fun", I mean "death", but still fun. 00:37:01 or an bf snipped for output a number as hex? 00:37:18 I haven't heard of one. 00:38:10 grml so i've to write one on my own 00:38:42 calamari: thanks for the brainfuck algorithms 00:39:02 i'm writing a adler32 checksum in brainfuck 00:42:24 Cool 00:44:12 i'm done with the checksum 00:44:16 but i need hex output 00:44:29 -!- GregorR-W has quit (Remote closed the connection). 01:03:39 i need help 01:03:51 i'm too stupid for outputing a cell as hex 01:04:58 calamari: do you have an algorithm for that? 01:05:38 GregorR posted recently a division/reminder algorithm 01:06:12 that's an universal algorithm 01:06:18 i need one for /%16 01:06:27 that's shorter and fits better 01:07:06 well, for nonwrapping a generic divide-by-constant will be needed, I guess 01:07:23 and for wrapping? 01:07:33 not sure 01:08:11 is efficiency a concern? 01:08:26 uhm shouldn't be too slow 01:09:47 I was thinking about 4 chained tests for parity but that's probably too long anyway 01:11:53 actually a mul-by-16 would isolate the reminder quickly, then you need div-by-16 01:11:58 (for wrapping) 01:12:09 hah thank you 01:12:24 -!- GregorR-W has joined. 01:12:29 s/reminder/remainder/ 01:13:02 then you subtract the remainder from the original number and do a div-by-16 again 01:13:42 divexact is often faster than div, especially when you know the divisor beforehand, I think 01:14:34 oh, I'm being dumb... a [---------------->+<] would do 01:15:58 [->+>+<<]>>[->++++++++++++++++<]>[----------------<+>]<[->+<<<+>>]<<[->-<]>[---------------->+<] reads number from cell 0 puts div16 into cell 2 and mod16 into cell 3 01:15:59 I'm not sure why I reconnected since I am now leaving for home :P 01:16:26 -!- GregorR-W has quit (Client Quit). 01:16:33 lol 01:17:01 nice, jix 01:17:09 but that's a bit long 01:18:30 maybe you can do *16 as *4*4 01:18:46 not sure if it's any gain though 01:20:15 anyway that looks smaller than a generic division 01:21:41 [->+>+<<]>>[->>++++[-<++++>]<<]>[>++++[-<---->]<<+>]<[->+<<<+>>]<<[->-<]>[<++++[->----<]>>+<] 01:21:48 a few byte shorter 01:22:25 the problem is 0123456789abcdef are not in a row 01:22:58 oh, right, I forgot 01:23:52 x += (x > 9) * 7 01:28:22 -!- calamari has quit ("Leaving"). 01:28:45 pgimeno: how 01:28:52 with this: b[-]+++++++++a[b-a-] b = 0 if a < 9 01:29:23 ah 01:29:31 er, no 01:30:15 sorry, that's a mistake 01:30:25 hmm 01:31:59 maybe b[-]++++++++++[a-b-]a[b+a+] 01:32:59 no 01:33:31 sorry, that's off the top of my head 01:33:35 but I'm a bit sleepy 01:34:36 so I'd better leave and have some rest before going on with these attempts 01:35:00 naaah 01:35:06 good night all 01:35:07 i wan't to finish this program 01:35:10 good night pgimeno 01:40:35 hah i have a solution (i think so) 01:40:37 316 byte but it works 01:55:02 NOOO 01:55:37 jix: READ THE SPECS CAREFULLY!!! 01:56:18 anyway the hexprint is cool 01:58:42 gn8 02:00:04 hey it's Fletcher's checksum i implemented 02:00:30 ah no 02:00:52 :( 02:01:05 :( 02:01:22 maybe i can make it fletcher's checksum 02:01:29 that's simpler than adler32 02:01:39 wait, I thought it was already Fletcher's checksum 02:02:07 03:01:33ah no 02:02:23 the modulo is wrong by 1 for adler it's wrong by 15 02:02:28 but that's a fixable problem 02:03:34 -!- kipple has quit (Read error: 60 (Operation timed out)). 02:09:02 brainfuck is kind of useless for binary files, isn't it? 02:14:33 graue: yes it is 02:14:41 n8 02:14:56 i'm too sleepy for fixing my feltcher/adler32 02:15:51 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 02:45:25 brainfuck is kind of useless 02:47:45 not for text 02:48:09 brainfuck is useless for binary files because one of the possible byte values has to also mean EOF 02:48:21 that isn't a problem with text 02:51:50 -!- BigZaphod has joined. 02:52:30 well, no, brainfuck is still kind of useless :) 02:57:08 -!- calamari has joined. 02:57:11 re's 03:31:09 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 03:38:18 -!- GregorR has joined. 03:39:18 Stupid network. 03:39:18 -!- GregorR has quit (Client Quit). 03:40:04 -!- GregorR has joined. 03:40:12 Stupid network. 03:45:27 BTW, SPARC is nasty even for RISC. 03:45:41 I still think I can do it, but yeesh, this is encoded 4 bits off! WTF is with that?! 04:23:06 -!- tokigun has joined. 04:39:21 *WHEW* 04:39:24 Got add implemented! 04:56:13 -!- cmeme has quit (No route to host). 05:01:17 Gah, I just realized why this doesn't work, I'm using big-endian constructs on a little-endian system :P 05:33:25 Hey, I have a sparc cross compiler! How bizarre! 05:44:20 OK, perhaps right is implemented. 05:48:49 -!- CXI has quit (Connection reset by peer). 05:51:05 -!- comet_11 has joined. 05:53:30 Hoi 06:20:30 calamari: I want to make an implementation of BitChanger, but it doesn't explain where and how IO is mapped. 07:01:23 -!- calamari_ has joined. 07:03:33 * GregorR wonders if calamari got his last message ... 07:04:24 yeah.. then my inet connection cut off (4 hour dialup limit) 07:04:37 the original bitchanger had a really dumb view of i/o 07:05:04 it was probably unworkable.. i didn't really know how to do it correctly.. still not sure that I do 07:06:32 it was going to be memory mapped, 8 bits contiguous 07:07:05 how does memory mapping usually work? 07:07:32 output seems easy enough, like set the bits and then set another bit to indicate a send 07:07:33 Well, in 2L I used a strange method by having a do-it register, but I'm not sure if that would work with BitChanger's } 07:08:12 You couldn't just walk over the do-it bit. I guess if it was bit 1 and then the data started at bit 2 that would work .... 07:08:21 yeah, just thinking the same :) 07:08:30 because bit 0 can't really be set.. oops :) 07:08:41 *shrugs* 07:08:45 Is little matter. 07:09:14 By the way, if you ever decide to write SPARC machine code, take a word of advice from me and kill yourself. 07:09:32 It's not that it's that difficult, it's just so stupid that it makes me feel dumber having implemented it. 07:10:12 since assembly language seems to be dead these days.. the chances of me having to learn sparc seems low, so maybe I'm okay 07:10:30 Heheh 07:11:10 For every purpose besides super-optimization, I concur. 07:11:11 However, when egobfc2m becomes the fastest complinterpreter on both i386 AND SPARC, I will feel quite ... well, egotistical. 07:11:20 I've only really ventured to 8088 and 6502, and another cpu for work back in 1996 that I don't remember anymore 07:12:14 I've done a fair amount of i386 and a bit of ia64, and now I'm learning just enough SPARC to copy output from gcc :P 07:12:29 I looked into 68000, and I would have done some stuff with it, but I was dumb and loaned my 68000 books to a coworker who then stole them 07:13:18 * calamari_ no longer loans books out 07:13:28 been burnt too many times 07:13:52 That reminds me, can I borrow your book on ... ;) 07:14:17 no.. check half.com ;) 07:14:42 Ahahaha 07:17:38 anyhow.. implement i/o however you like 07:18:15 Caaaaaaaaaan do! 07:18:33 then write it up on the wiki and I'll call that the standard :) 07:19:01 Nooooooooooooo! 07:19:08 or tell me how you did it and I'll write it up 07:19:41 Horrible explosion :( 07:19:41 C2M sparc is borked. 07:20:00 -!- calamari has quit (Read error: 110 (Connection timed out)). 07:20:05 -!- calamari_ has changed nick to calamari. 07:20:40 your machine just blew up? 07:20:59 lol, no, egobfc2m for sparc blows up if you try to output :P 07:21:19 oh.. hahaha 07:22:08 +-<> all work however 8-D 07:23:13 I forced myself not to learn the asm of my hp48, because I'd have a portable goof-off machine. 07:23:46 AWWW 07:23:52 i mean aww 07:23:55 hp48 though... 07:24:42 yeah.. 64bit cpu. pretty neat 07:31:04 YES!!!!!!!!!!!!!!!!!! 07:31:07 AHAHAHAHAHAHAHAHAHAHAHAH!!!!!!!!!!!!!!!!!! 07:31:11 I AM THE CHAMPION!!!!!!!!!!!!!! 07:31:19 I HAVE NO HUMILITY AND YET I DON'T CARE!!!!!!!!!!!! 07:31:25 * GregorR dances. 07:31:36 * GregorR checks off "Port to SPARC" on the egobf todo list. 07:45:36 -!- heatsink has quit ("Leaving"). 07:53:08 YESSS! 07:53:13 Look at that mandelbrot set. 07:53:18 * GregorR cries a tear of joy. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:30:48 night 08:30:50 -!- calamari has quit ("Leaving"). 09:38:41 -!- tokigun has quit ("Chatzilla 0.9.68.5 [Firefox 1.0.4/20050511]"). 09:49:51 -!- grimace_ has joined. 09:50:10 lo all 09:55:09 -!- GregorR has quit (Read error: 110 (Connection timed out)). 10:19:07 -!- kipple has joined. 10:46:49 -!- int-e has joined. 11:03:12 -!- Gs30ng has joined. 11:11:29 hi 11:11:33 i'm back here 11:19:46 hi Gs30ng 11:22:45 i'm working on making xml pages for udage. i think there would rather be some official pages for this 11:25:06 i got an interesting idea to make this language turing complete, but it needs a time to be embodied in detail 11:37:02 -!- Keymaker has joined. 11:37:26 hello 11:39:17 hi 11:39:28 congratulations Keymaker 11:39:37 for your new esolang 11:42:55 thanks 11:44:04 you mentioned about turing-completeness in your spec but i'm afraid that Udage will be turing incomplete too :( 11:45:00 i mentioned my language is NOT turing complete 11:45:16 and Udage will be turing complete, you said 11:45:29 ...right? or something like that, whatever 11:45:47 yeah, probably 11:45:55 as i thought it will be turing complete 11:46:06 maybe... you're right in that point. it's really hard to make it turing complete without any specific instructions. 11:46:14 i need a lot of repeatation 11:47:30 maybe your language is worth more as a marvelous toy 11:47:47 yes, it's just a toy 11:47:56 i'm obfuscated. i may give up turing completeness 11:48:00 -!- jix has joined. 11:48:24 moin moin 11:48:32 yo 11:48:42 niom niom 11:50:05 Gs30ng: niom? 11:50:15 moin! 11:50:24 uhm 11:50:29 pandemoniOm? 11:50:41 ok 11:50:42 moin 11:50:45 what's moin? 11:51:02 i heard about an wikiwiki system named moinmoin 11:51:28 moin (plattdeutsch (german diakect)) is short for mojen tach => guten tag (german) => good day (english) 11:52:32 oh 11:53:10 moin 12:08:59 -!- yrz\werk1 has changed nick to fede. 12:09:14 -!- fede has changed nick to Fedo1a. 12:09:39 +[++[->+[->->+<<[->>+<<]]>+>[-<<+>>]<<<]+] add cell 0 to cell 1 if cell 1 overflows add 1 to cell 2. cell 3 is temp 12:09:43 not tested but should work 12:09:54 much shorter than my old implementation... 12:10:01 aahh wrong snippet 12:10:08 [->+[->->+<<[->>+<<]]>+>[-<<+>>]<<<] 12:10:11 only this part 12:12:32 hmmm. does this assume wrapping cells? 12:26:29 yes 12:28:41 but works with any cell size 12:28:50 ugh 12:29:00 int-e: ? 12:29:54 sorry. I understood 'wrapping cells' to mean 'wrapping memory space' which I wouldn't like - but I see that's not what was meant now. 12:30:34 have to go now... 12:30:35 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 12:31:11 Gs30ng: if you're using that switch.c of yesterday, get it again from http://www.inf.tu-dresden.de/~bf3/switch.c I fixed a very stupid bug. 12:31:12 :) 12:31:23 well 12:31:29 thanks 12:31:39 but still there would be a lot of changes in spec, i think 12:31:45 to make it turing complete 12:32:06 yes. there's a reason that I don't call it udage.c, say ;) 12:32:57 so if you are tired of fixing things again and again, just wait for settled spec 12:33:22 i feel sorry to bother you every time i change the spec 12:33:30 it was a side effect of making a trigger interpreter 12:34:23 currently we have 3 operations in udage 12:34:30 (http://www.inf.tu-dresden.de/~bf3/trigger.c) 12:34:36 NOT ( 1 time udage ) 12:34:44 NANDNP ( 2 times udage ) 12:34:53 I/O ( 4 times udage ) 12:35:08 and i found that i can make 3 times udage operation 12:35:22 because AAABC and AABAC does exactly same thing 12:35:49 so one of them are not necessary 12:36:06 which means i can assign an operation to AAA(blah blah) 12:36:08 not quite correct - a different switch is changed by the two instructions 12:36:27 uhm 12:36:37 i beg your pardon? 12:36:56 AAABC changes the A switch, AABAC the B switch, or did I miss another change there? 12:37:44 well 12:37:47 in current spec 12:37:48 AABCD performs B NAND C and put the result to A(B and C has no change), 12:38:08 but of course, AAABC and BBABC and CCABC all do the same thing 12:38:29 to A? ah! that's my mistake then 12:39:13 ok, thanks 12:39:13 maybe you misread it because of a lot of spec changes. i feel sorry for that 12:39:25 I didn't actually read the spec change for NAND 12:39:45 and don't feel sorry, it's my fault that I try to keep that interpreter up to date. 12:39:56 I could stop any moment :) 12:40:37 ok then i'm gonna assign something to 3 times udage operation 12:40:48 this time it'll be turing complete, i hope 12:45:01 int-e, what do you think about this 12:45:20 i think the first operand and instruction must be different 12:45:47 they could be misread as some more repeatation 12:51:20 Well, right now the longest matching pattern wins, which has that effect except for the I/O operation. 12:51:46 that's right but i may add 5 times udage operation 12:52:01 i thought about way like this: 12:52:11 AAA or AAAA starts the instruction 12:52:16 and get some operands 12:52:23 until A appears again 12:52:58 that's certainly possible 12:53:11 nandnp operation don't need such a thing because it's operand are limited for 3, always, and don't need more 12:53:27 but AAAA operation, and maybe AAA operation needs 12:54:00 it could be useful for the i/o operation in fact; it would make it easy to make programs for ASCII, or extend programs to use 32 bit unicode. 12:54:34 ok then i'll add it in my new spec 13:06:06 and int-e, you know that if we do that then a code like BAAAAAAAA...(Hello, World! code) woudn't work 13:06:51 to print something we need at least 3 characters(0, 1, instruction) then 13:08:20 I know 13:09:01 ok, i was just too nervous 13:11:02 but the hello world would become shorter, too 13:14:34 something like BCCCCBAABAAACCCCCBBAABABCCCCCBBABBAACCCCCBBABBAACCCCCBBABBBBCCCCCBABBAACCCCCBAAAAACCCCCBBBABBBCCCCCBBABBBBCCCCCBBBAABACCCCCBBABBAACCCCCBBAABAACCCCCBAAAABCCCCCBABAC 13:18:58 nice 13:49:00 phew.. shoveling gravel isn't good for a human 13:58:41 -!- comet_11 has changed nick to CXI. 14:12:33 -!- GregorR has joined. 14:13:47 because of Nearest D thing, some trash characters are necessary to control the length to D 14:16:04 i don't like this and now i got an idea 14:16:13 i'll make it value-of-D-dependant 14:16:21 graue (who isn't here but will perhaps read the log): brainfuck + 16-bit + wrapping + eof-returns-'-1' can support binary files just fine 14:16:27 if D is 0 then jump to forward D 14:16:35 if D is 1 then jump to backward D 14:17:16 And if D is 0 and there isn't a forward? 14:17:33 terminates 14:17:46 just like we've been did 14:17:59 s/did/doing 14:18:31 Ah, makes sense 14:18:43 same rule for when D is 1 and no backward D 14:19:29 now there would be less trash codes (i'm not sure 'no' trash codes would be there) 14:22:42 oops... my mistake. 'nearest' backward D and 'nearest' forward D. there could be several Ds on code 14:35:46 -!- ditto has joined. 14:47:40 -!- Aardwolf has joined. 14:56:04 -!- klutzy has joined. 14:57:16 what's this 14:57:36 why do i have so many already-known people here 14:57:38 -_-; 14:58:00 who you know? 14:58:12 you 14:58:19 really? 15:04:12 -!- ditto has quit (Client Quit). 15:09:31 hey, does anyone know the difference between the BSD license and the GPL license? 15:10:32 -!- graue has joined. 15:13:08 *the* difference? 15:14:00 BSD is short, GPL is political and long. BSD allows other to take your code and do pretty much whatever they want with it, GPL requires other users to license derived works under GPL as well and make their source code available 15:14:25 so BSD is something like LGPL? 15:15:20 I licenced something under BSD instead of GPL because I found GPL so long 15:15:28 I don't think I'd make a good lawyer, would I? :D 15:15:32 .. 15:16:18 LGPL is still quite long. and it's meant for libraries that can be linked to proprietary code without forcing its restrictions on that code - you still can not take the source code and incorporate it into other programs 15:17:02 Aardwolf: which BSD license are you talknig about btw? 15:17:14 in short, Microsoft loves BSD code and despises GPL and LGPL. 15:17:20 Hmm good question, let me try to find out 15:17:34 the old one (with advertising clause) or the new one? hehe 15:18:44 I took the one with advertising clause, and removed the advertising part :D 15:18:48 why do i have more difficulty on writing udage spec in Korean than English? 15:19:13 hmm, that 15:19:17 is interesting 15:19:22 because I found the advertising thing ridicioulous since it was totally off topic 15:19:34 * int-e wonders who displaced the enter key where the ' key is supposed to be. 15:20:09 * Gs30ng did. 15:20:18 * klutzy agrees 15:20:19 http://www.opensource.org/licenses/bsd-license.php ... that site has also many other open source software licenses. 15:20:58 What I wanted with the licence was that credit is always given to my name, but for the rest they can do with it what I want, and I think BSD does just that 15:21:01 what's the point of using licenses? 15:21:08 *I mean, what THEY want 15:21:16 .. 15:21:19 without licenses, noone has the right to use your code in any way, technically. 15:21:26 yes. 15:21:38 but if someone uses, there's no way to find it out 15:21:44 especially if the product is compiled 15:22:11 well, it's usually possible to find out, if the software wasn't trivial 15:22:22 it'll be harder to convince a court of this though. 15:22:29 and that's why we are to write all codes in... like... befunge? 15:22:36 :) 15:22:53 esoteric languages are good choice for protecting the software you've written 15:23:08 often it's extremely hard to borrow parts of esoteric language programs 15:23:10 and making bugs 15:23:23 (hint: software usually employs nontrivial data structures. it's unlikely that independent development comes up with exactly the same data structure. fields will be arranged in different orders, some data will be managed in different locations and so on) 15:23:40 the same goes for the algorithms that are being used. 15:23:52 but well, changing them all a bit is easy 15:24:17 ...should i make udage so hard to compile? 15:24:28 no 15:24:33 there's no point 15:24:34 why 15:24:45 if someone really wants to use other's code without permission 15:24:45 like, self-modifying codes? 15:24:50 they can do it 15:24:57 and nobody can't prevent it 15:25:11 ... 15:25:14 you mean nobody *can* ? 15:25:17 Keymaker, just keep your code to yourself ;) 15:25:21 :p 15:25:26 noone will steal it then. 15:25:30 no 15:25:36 i don't care if someone rips my code 15:25:42 it's just not fun 15:25:46 i have code released in web 15:25:52 (see bf-hacks.org for example) 15:25:57 btw, been there int-e? 15:26:09 Keymaker license is enough for me 15:26:17 :) 15:26:23 anyway, licenses are not a technical instrument, they are a legal instrument. *if* you can prove someone used your code without a license, then you can take legal action against them. 15:26:25 just telling me, "i want to use your idea" 15:26:50 it's enough for me. if i don't want a code to be copied, i can just keep it to me, just like int-e said 15:27:23 what if i license #include 15:27:24 int main(){printf("Hello world!");} 15:27:34 someone else has done it before me 15:27:41 and probably licensed 15:27:48 can they sue me then? 15:27:51 well, you'll have to prove that it was copied from *you* 15:28:01 there's already a lot of precedents, Keymaker 15:28:12 yes 15:28:15 you need to have the copyright before you can give out licenses and you don't own that for this piece of code. 15:28:28 no 15:28:30 i don't 15:28:59 but how can i be sure that nobody hasn't made the exactly same piece of code before and licensed it? 15:29:13 i need to go through every released code.. 15:29:30 you can search some precedents to make sure what kind of codes are possible to be proved that it's copied 15:29:31 nah. it doesn't work that way 15:29:42 the other side has to prove that you copied their code. 15:29:46 ah 15:30:35 well, i'm not using any licenses, still :) 15:30:36 (this is different from patent law where you can unknowingly infringe a patent) 15:30:49 ah 15:47:34 -!- klutzy has changed nick to All. 15:47:56 * All your base are belong to us 15:48:11 -!- All has changed nick to klutzy. 15:49:17 * int-e slaps klutzy with a large trout. 15:49:52 ouch 15:50:42 :9 15:50:47 ...now THIS is esoteric. 15:51:04 this 'All' thing was really good hehe 15:51:39 -!- int-e has changed nick to I. 15:51:45 * I don't think so. 15:51:48 -!- I has changed nick to int-e. 15:51:58 :P 15:52:03 :) 15:52:09 (: 15:53:06 -!- Keymaker has changed nick to grin. 15:53:13 * grin * 15:53:20 -!- grin has changed nick to Keymaker. 15:53:22 -!- klutzy has changed nick to why. 15:53:24 * why * 15:53:27 -!- why has changed nick to klutzy. 15:54:00 * Keymaker for fun. 15:54:03 doh 15:54:12 the nick didn't change to 'Just' 15:54:12 :p 15:54:21 i'll just disappear.. 15:54:26 * Keymaker disappears 15:54:27 do you know programming languages where (: and :) are language tokens? 15:54:37 I know they are in LPC. 15:54:46 probably that emoticon language 15:54:50 never tried it though 15:58:38 who can handle that ChanServ? 15:59:33 What about chanserv? 16:00:07 GregorR: yes, I know Brainfuck with >8 bit cells is potentially non-useless 16:01:11 "Keymaker for fun" sounds interesting. :p 16:01:48 :p 16:02:28 i tried to change my nick to 'Just', didn't notice the message that's it already in use, and just posted "/me for fun." 16:02:30 q: 16:02:43 who uses the nickname 'just'? 16:02:49 oops 16:03:04 he(she?) seems joining no channel 16:03:28 yes 16:03:29 well, it could be a secret channel 16:03:41 there are secret channels too? 16:03:42 maybe "she" is a man 16:03:43 or not 16:04:09 Channels with the mode +s don't show in whois. 16:05:00 ok 16:05:56 -!- Fedo1a has quit (Read error: 110 (Connection timed out)). 16:09:09 -!- Fedo1a has joined. 16:53:50 Keymaker: You really really REALLY ought to license your code. 16:54:18 Even just a note at the top saying "You can use this code however you please" is far better than unlicensed code. 16:55:19 really? 16:55:39 Code without a license cannot be redistributed or modified legally. 16:56:01 do we need that? i mean, if we don't note it, doesn't it automatically preserved by law? 16:56:11 it can be modified but you can't distribute the modifications :) 16:56:27 Err, yes, lindi- is correct. 16:56:50 Gregor, that's correct, but in our case (esoteric code snippets created for fun, not for money) it's unlikely that the copyright holder takes legal action 16:56:53 Gs30ng: You as the author have the right to do what you wish, but by default everyone else has no right whatsoever to it. 16:57:02 int-e: True ;) 16:57:53 a license serves as a protection for the licensee, because then he can stand up in court and say: "Yes, I copied that code, I even modified it, but see, here's a license that states I was allowed to do that." 16:57:54 (Actually, with snippets of code "fair use" comes in and then it's sort of nebulous) 16:59:57 Furthermore, if the author did take action, I think they'd be laughed out of court ;) 17:00:30 I think that at least particularly long programs, and/or implementations of languages, should have an explicit license 17:01:08 I 100% agree. 17:03:33 i don't fully understand what 'implementations of languages' means. it's like, spec? or interpreters? or compiled source codes written in that language? 17:04:00 interpreters or compilers 17:04:12 aha 17:07:58 this trigger program, "# You can freely modificate this source and distribute it." 17:08:24 looks like it's a comment, but it really just changes flips some triggers and tries to do some jumps 17:09:02 so, don't believe everything there reads in program :) 17:09:17 It also doesn't help that "modificate" isn't a word :P 17:09:28 :) 17:09:34 yes it is! 17:10:00 but it's not in the dictionary 17:10:10 who cares! 17:10:14 (i was joking) 17:17:39 Anybody have a PowerPC or AMD64/EM64T? 17:18:26 -!- BigZaphod has quit. 17:18:28 "Yes." 17:18:39 yes, someone somewhere does 17:19:01 OK, good to know :P 17:19:02 I have a G4-iBook (that's PPC) and at work one amd64 box I can ssh to. 17:20:08 fis@erottaja:~$ cat > test.c 17:20:08 int main(void) { printf("%d\n", sizeof(long)); return 0; } 17:20:08 fis@erottaja:~$ gcc -o test test.c ; ./test 17:20:08 8 17:20:10 See. 17:20:25 lol 17:20:36 I wasn't doubtful :P 17:20:37 "It must be an AMD64, sizeof(long) == 8." 17:21:19 You could cat /proc/cpuinfo 17:21:52 But anyway, could you compile a test program and give me an ASM/hex dump so I can port egobfc2m? 17:22:01 To PPC 17:22:34 Uh, sure. 17:22:57 http://gregorr.homelinux.org/egobf-0.7.tar.bz2 < the instructions are in the "PORTING" file. 17:23:19 is that a releasE? 17:23:33 Yeah. 17:24:18 0.8 will have SPARC and (hopefully) PPC support 8-D 17:26:33 Hrm. "Connecting to gregorr.homelinux.org[24.21.138.66]:80... failed: Operation timed out." 17:26:33 -!- Gs30ng has quit ("SKYIRC Ver Pro http://cafe.naver.com/skyirc.cafe #skyirc"). 17:26:43 Oh, my fault >_> 17:26:47 One sec. 17:26:57 It's already been 10 secs. 17:27:17 Har har. 17:27:18 It's back. 17:27:35 I forgot to reenable port forwarding when my network went screwy ... 17:27:51 -!- calamari has joined. 17:27:54 too bad you can't use UPnP or whatever 17:27:57 hi 17:28:01 hi 17:28:07 Hully calamari 17:28:20 OK, hully works, hullo might have been more logical :P 17:29:52 hi gregor 17:31:17 calamari: For my own convenience, I'm going to implement BitChanger like so: bit 7 is the switch-bit that causes IO, bits 8-15 are the IO bits, the pointer starts at bit 16 17:31:39 That way, I don't have to have an extra bit floating around, since I wasted 7 in padding :P 17:32:40 sounds fine 17:32:52 how do you tell i from o? 17:33:16 If 8-15 is 00000000, do input (you can't output a 0 in this scheme, which may or may not be OK) 17:34:00 Hmm, perhaps an even better implementation would be: 5 is the switch-bit, 6 gets set on EOF, 7 you set for I vs. O, 8-15 are I or O. 17:34:36 hey, EOF bit.. that's cool :) 17:34:50 that sounds even better 17:35:03 * GregorR makes a mental note. 17:37:18 Well, there's a http://www.befunge.org/~fis/test_amd64_gnuWlinux.s already... objdump isn't included in the standard "developer tools" OS X thing, so I'm fetching binutils now. I can also create some ppc-linux-ELF-executables, but I need to reboot the laptop for that. 17:39:04 The OS is actually unimportant. 17:39:17 I don't do any OS-specific code. 17:40:16 Wooh, thanks for that 8-D 17:40:22 -!- CXI has quit (Read error: 104 (Connection reset by peer)). 17:40:23 Well, the executable/object-file format is OS-specific. 17:40:35 If those are what you create. 17:40:47 -!- CXI has joined. 17:41:17 fizzie: They aren't, I just create raw machine code in memory. 17:41:26 fizzie: That is, they aren't what I create. 17:42:35 Ah, right. 17:48:02 Gregor: http://esolangs.org/wiki/BitChanger :) 17:50:07 fixed it up a little more 17:50:44 El the w00t. 17:50:56 I'll work on that this evening. 17:51:08 Ought to be able to bang out a non-optimizing compiler relatively quick *shrugs* 17:51:28 why are bits 0-4 unused? 17:51:28 no rush 17:51:48 graue: jutst so the pointer starts on an even byte, I'd assume 17:52:11 Yeah, pure Gregorian lazyness. 17:52:34 From a programmatical standpoint, it's no different, but from an implementation standpoint it's far easier. 17:52:59 then just move everything 4 bits back in the language, and in the implementation issue an error if it moves to bit -1 (implemented as bit 3) 17:53:37 -!- BigZaphod has joined. 17:54:12 wish I defined } as @> instead of >@.. oh well 17:54:57 you can change it 17:55:08 not like there's a bunch of legacy BitChanger code out there 17:55:23 I've implemented nothing yet, so feel free calamari 17:56:10 what happened with that Brainfuck frontend for gcc that someone was going to do? 17:58:12 well, the original was >@ .. it feels dishonest to change it 5 years laterg 17:58:22 brb.. connection way slow 17:58:25 -!- calamari has quit ("Leaving"). 18:03:52 -!- calamari has joined. 18:03:56 that's better 18:04:20 wonder if my shell providere was beign attacked or something 18:04:38 i'm stealing their servers one by one 18:05:03 save one for me so I can check my e-mail ;) 18:25:08 bbl 18:25:09 -!- calamari has quit ("Leaving"). 18:31:19 Phew. 18:31:21 http://www.befunge.org/~fis/test_ppc_osx.s 18:31:54 Now to the grocery store before it closes. -> 18:40:32 -!- GregorR has quit (Read error: 110 (Connection timed out)). 18:57:02 -!- GregorR has joined. 19:40:10 -!- GregorR_ has joined. 19:40:10 -!- GregorR has quit (Read error: 104 (Connection reset by peer)). 19:40:11 -!- GregorR_ has changed nick to GregorR. 19:41:01 -!- grimace_ has left (?). 20:00:38 -!- jix has joined. 20:00:38 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)). 20:04:11 moin jix 20:05:42 moin 20:19:50 -!- int-e has quit ("Bye!"). 20:19:56 -!- int-e has joined. 20:51:27 -!- calamari has joined. 20:51:33 hi 20:51:36 Gaaah, my connection sucks so much. 20:51:38 Hi calamari 20:51:46 hi gregor 20:52:11 what are you complaining about cable boy? 20:52:32 I keep getting discon--ohh, 56k AHAHAHAHAHAHAHA 20:52:33 ;) 20:55:33 channel log isn't up to date.. weird 20:58:08 Who's clog? cmeme does the logging, right? 20:59:47 http://tunes.org/~nef/logs/esoteric/05.07.27 21:04:19 clog and cmeme both do the logging 21:04:26 otherwise, how would we know when one of them disconnected? 21:04:39 BTW, int-e, thanks a ton for the SPARC output, and also ... could you give me a 64-bit version of those SPARC files as well (that is, with -m64 to gcc if your gcc supports it)? 21:04:48 graue: I guess that makes sense .... 21:05:03 clog looks up to date to me 21:05:19 GregorR: I can try 21:05:35 No worries either way, it's just a luxury :) 21:05:48 After all, anybody with sparc64 can run sparc32 code. 21:07:39 is that why you aren't rushing to implement an AMD64 version, as well? 21:07:51 cc1: -m64 is not supported by this configuration 21:08:06 oh it's a good old gcc 2.95.3 21:08:07 hehe 21:08:28 XD 21:08:31 No worries. 21:09:38 graue: AMD64 is a bit higher priority for me because A) it's CISC (I'm lazy) and B) it's more common. 21:09:46 oh found another sun with gcc 3.4.2 :) 21:09:56 let me try it there 21:10:00 How do you have so many SPARCs floating about? 21:10:17 account at the university 21:10:34 Ahhhhhhhhhhhhhhhhhhhhh. 21:14:48 but this one has a stupid tar. tar: z: unknown function modifier 21:15:22 tar cf - ... | gzip -c 21:15:25 I know :) 21:15:31 OK, good. 21:15:34 :) 21:15:54 Or better yet, ar rc - ... | compress -c 21:15:57 Because standards are for the weak. 21:16:27 interestingly, cpio exists 21:17:06 http://www.inf.tu-dresden.de/~bf3/test_sparc64.tar.gz 21:17:16 Yaaaaaaaaaaaaaaaaaaaaaaaaaaaaay ^_^ You rock x4 21:17:39 and test64.0: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped, no debugging information available 21:17:42 :) 21:18:26 SunOS xxx 5.10 Generic sun4u sparc SUNW,Ultra-4 21:20:11 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!"). 21:21:01 uh, let me do that again 21:21:05 I forgot -g 21:21:20 Hmm, it seems to have that information in here. 21:21:30 really? 21:21:32 No wait. 21:21:37 I'm just dumb. 21:21:42 It indeed does not. 21:22:30 ok, please download that file again 21:22:34 -!- miraage has joined. 21:23:15 -!- miraage has left (?). 21:24:00 ah I see why -O2 is not really useful. hehe. 21:24:01 OK, that's good. 21:24:55 -O1 still parses and creates code for every command, -O2 is better for real code, but not useful for trying to produce ASM :) 21:25:22 yes, I just saw that it combined a whole bunch of additions 21:25:27 well doesn't hurt either 21:25:54 Ahh, RISC. On SPARC32, it took two instructions to put an address in a register, on SPARC64 it takes three XD 21:26:29 (On CISCy i386 it's not even necessary since you can just load the value at the address into a register) 21:31:42 ah. sethi, or, shift, sethi, (another or? does sethi clear the upper 32 bits?) and the last 16 bits go into the load ... funny. 21:34:16 Quite extreme :) 21:35:15 I know 386 assembly quite well and I've done a little MIPS coding (well, for the SPIM MIPS simulator, actually.) 21:35:19 btw 21:35:50 Sparc seems to be close to MIPS. 21:38:20 I try to stay away from ASM in RISC whenever possible, but I've done i386 and ia64 coding. 21:38:32 That ", but" should be ";" 21:39:16 I sorta liked writing for SPIM. 21:39:29 At least you can remember the instruction set, unlike x86. 21:39:59 And it doesn't have any funny rules. "Hey, you can only input/output from the register C." 21:40:58 I'm just afraid of taking RISCs (pardon my terrible pun) 21:41:14 Not that I have anything against RISC, for RISC is excellent. 21:41:53 * {^Raven^} prefers RISC 21:43:01 {^Raven^}: For programming in or general use? 21:43:50 hi raven 21:44:44 <{^Raven^}> GregorR: both, RISC is simpler to program if there is a good orthogonal intruction set and I find that in use RISC is much more efficient 21:44:50 <{^Raven^}> calamari: hi 21:46:04 <{^Raven^}> I've only got a 202Mhz ARM based RISC machine but the speed is irrevelant compared to how useful it is 22:32:11 -!- BigZaphod has quit. 22:40:24 imho usability has nothing to do with the architecture 22:49:36 If BF was the machine code for an architecture, would it be CISC or RISC :)) 22:50:10 (Note that rather than relative or absolute addressing, said architecture would use magic addressing :P ) 22:51:01 I still want to see a 2d-language processor. Befunge, for example. 22:51:35 Or 2L *Gregor collects his shameless plug points* 22:52:26 Did you see my link for the ppc output? You dropped soon after, so I can't be sure. 22:53:35 is wierd the only 2d tarpit? 22:54:28 calamari: 2L is definitely a tarpit 22:54:37 * calamari checks it out 22:54:39 fizzie: Hmm, I don't think I did actually. 22:55:31 awesome! :) 22:55:37 http://www.befunge.org/~fis/test_ppc_osx.s 22:55:56 calamari: Why thank you 8-D 22:56:16 no i/o? 22:56:25 oops 22:56:33 * calamari needs to learn how to read again 22:56:37 Painful I/O :) 22:59:13 is there a standard for what happens on non-*+ ? 22:59:22 It's nop (hence I'm cheating) 22:59:54 yeah.. so it's three chars.. but still cool. much like wierd actually 23:00:32 Actually, there are two inaccuracies on that page. 23:00:46 It starts going down, not right. If it was going right you couldn't turn away from the edge. 23:00:47 hmm, I guess 4 chars including the newline 23:01:10 I think the newline can be ignored as an encoding entity. 23:01:48 if playfield width is specified, sure 23:04:49 Well, ideally there would be a two-dimensional file format to encode it in, but because hard disks are one-dimensional, it has to be encoded into one dimension. 23:05:41 hard disks are one dimensional? 23:05:50 I thought they were 3-d :( 23:05:51 "Conceptually." 23:05:57 -!- jix has quit (kornbluth.freenode.net irc.freenode.net). 23:05:57 -!- pgimeno has quit (kornbluth.freenode.net irc.freenode.net). 23:05:58 Heh, two-dimensional disks and rectangular files -- would be, uh, "nice" to write a file-system for that. 23:06:19 lol 23:06:21 -!- jix has joined. 23:06:21 -!- pgimeno has joined. 23:06:21 hehe 23:08:15 defragmenting would be fun :P 23:08:34 Assuming the file-system even allowed fragmentation. 23:08:48 At least you could have nifty graphical effects when defragmenting. 23:08:56 "Oooh, files are flying everywhere." 23:10:09 XD 23:10:28 hmm, there could be circular files, wiggly files ... 23:10:28 Assuming you didn't die of old age while writing the defragmenter itself. 23:10:32 the possibilities! 23:10:37 back 23:11:11 So, sorry fizzie, but it seems that gobjdump on PPC is totally worthless, so I don't think I'll be able to port it >_< 23:11:31 If I knew PPC ASM, I could use ppc-elf-as to figure it out ... but I don't. 23:11:43 Hm? (I didn't really look at the dump.) 23:12:03 It doesn't divide it into functions or show what corresponds to what code. 23:12:26 So it's just a huge chunk of unlabeled assembly in a language I don't know. 23:12:47 ppc asm? 23:12:49 I can compile-and-objdump it in linux. ELF objects might behave better than "mach-o-be" objects. 23:13:02 jix: Yeah. 23:13:15 what do you want to do with ppc asm? 23:13:18 fizzie: That makes sense, since objdump was designed (I think?) for ELFs originally. 23:13:18 "I needed to fix that dual-boot setup anyway." (Installing Tiger overwrote the linux booter.) 23:13:33 jix: I'm porting egobfc2m to numerous platforms. 23:14:12 I've only got i386 and SPARC so far, but I've big plans :P 23:14:34 creates egobfc2m binaries? or does it "jit" compiling? 23:14:48 egobfc2m is jit-ish. 23:14:54 ah 23:15:09 Have you not run egobfc2m?? It's faster than every interpreter and most compilers (when compilation time is included) 23:15:31 gregorr; btw, OS X has a corresponding proggie called "otool", which does sorta-show function start symbols, but it's really brain-dead in other ways. 23:15:41 Mainly, it doesn't show the bytes corresponding to the instructions. 23:15:54 fizzie: Making it worthless for my purposes, sadly. 23:16:12 Well, not quite worthless. 23:16:14 But nearly. 23:16:21 GregorR: re: Sparc, is that ready to be tested? 23:16:34 Well, it does show the addresses, and it can dump a undisassembled hexdump, so you can cross-reference. :p 23:16:45 GregorR: are you porting it to ppc atm? 23:16:52 int-e: Yeah, just a sec. 23:16:55 jix: Thinking about it. 23:17:24 jix, gregor said something about that just 6 minutes ago 23:17:41 just after you said 'back' 23:17:50 oh 23:18:12 int-e: http://gregorr.homelinux.org/egobf-0.7.1.tar.bz2 23:18:31 int-e: I don't actually remember more than about 2 seconds ago, you've got to constantly keep my memory refreshed ;) 23:18:41 -bash: wget: command not found 23:18:43 AAAAAAAAAAARGH :) 23:18:48 int-e: That works under qemu-sparc, so it SHOULD work. 23:18:50 XD 23:18:59 curl? lynx? 23:19:08 /usr/sfw/bin this time 23:19:11 I should really set PATH 23:19:26 what optimizations does egobf? 23:20:42 well, I had to set PATH - configure didn't find gcc ;) 23:21:10 jix: egobfi has a few, egobfc2m just compiles >>><<>>>> and+++-- into single commands and [-] into 0s. 23:21:53 and make is called gmake *clicketyclick* 23:22:10 (had to change MAKE variable in Makefile for that) 23:22:40 I think MAKE=gmake ./configure ... would have had the same effect. 23:23:13 export MAKE=gmake ; ./configure should work 23:24:53 GregorR: we should create an universal extensible highlevel bf translation language (and creat a lib) that would make compiling code and optimizing code independent 23:25:26 -!- graue has joined. 23:25:35 I'm in a meeting, I'll have to continue discussion in a whiel. 23:25:39 what's this crack about 2L's IP going down to begin with? 23:26:01 I implemented an entire interpreter and a test program thinking it started going right :( 23:26:18 transpose ? :) 23:26:41 it be 3 columns wide and 70-some lines long 23:26:47 s/it/the program would/ 23:27:16 Egh. I need a bootable CD to fix my dual-boot issue, but I just moved, all my stuff is in boxes, where am I supposed to find a cd-rw. 23:28:04 I wish my worries were that easily solved, fizzie! (go to the store and buy one) 23:28:06 floppies? 23:28:20 Floppies? This is an iBook I'm speaking of. 23:28:26 * calamari still has a 5.25" drive in his computer 23:28:32 I doubt it has even seen a floppy drive. 23:28:52 mac.. well.. theres your problem! 23:29:09 For a laptop it's surprisingly nice. 23:29:24 For the essentials (read: irc) during lectures. 23:29:30 graue: Does that actually run things? I may be thinking backwards... 23:30:44 GregorR, my interpreter actually runs programs, yes 23:30:56 OK, lemme check if I'm just an idiot. 23:31:33 I gave away my last 5.25" floppy drive, a friend had bought a http://www.jschoenfeld.de/products/catweasel_e.htm and needed the drive. 23:31:52 Actually, lemme check when I'm out of my meeting :P 23:32:44 I have an old 486 with a sorta broken case that doesn't boot that has a 5.25" floppy drive in it 23:33:10 You must have a weird time-zone. (Or a weird meeting -- perhaps your local satan-worshipping cult ritual thing?) It's 01:30am here. 23:33:27 it's 3:30 pm there 23:33:50 fizzie: 0:30am here 23:33:51 since when are time zones "weird"? 23:34:13 Obviously some time-zones are more weirdidic than others. 23:34:29 I assume there's an uncomplicated formula for the weirdness. 23:34:58 it's 3:30pm here as well 23:35:05 Prince Edwards island. 23:35:09 Something like W = difference-from-UTC. 23:35:10 Is a weird one. 23:39:00 graue: Does your interpreter run my Hello World ...? 23:39:22 haven't tried 23:39:43 where is it? I'll add it to the esolangs file archive 23:39:57 Heheh. I think you should have read my spec instead of the wiki page. 23:40:00 One sec. 23:40:51 wget http://www.befunge.org/fyb/2l/exa/HelloWorld.2l 23:40:59 befunge.org was down at the time 23:41:02 Hmm, #esoteric is not a shell, Gregor. 23:41:04 and you wrote the wiki page 23:41:12 *cough* 23:41:27 it runs it but just does nothing 23:41:28 * GregorR slinks off. 23:42:21 it's turning left at the very beginning of the program, at the first + 23:42:24 since it starts going right 23:44:01 fixed it, now your hello world freezes, unless it's just very, very slow 23:44:40 seems to have hung 23:47:54 i want to write some cool brainfuck app 23:48:01 any ideas? 23:48:13 implement SHA-256 or TIGER or WHIRLPOOL 23:48:23 haha 23:48:32 or make a program that sorts strings separated by newlines 23:48:34 no nothing that needs binary files 23:48:42 or make a program that creates a uniform random permutation of strings separated by newlines 23:48:51 -!- ditto has joined. 23:49:02 graue: hmm sorting strings seperated by newlines... 23:49:14 is bubblesort ok? 23:49:23 it's not very fun 23:49:28 how about cocktail shaker sort? 23:49:38 http://en.wikipedia.org/wiki/Cocktail_sort 23:49:39 cocktail shaker sort? 23:50:04 there's something on that article's talk page about speeding up the algorithm, as well 23:50:57 hmm something easier than sort 23:51:33 finding order statistics? 23:51:39 hmm bogosort ^^ 23:51:46 sorting numbers? 23:51:55 http://en.wikipedia.org/wiki/Bogosort 23:52:00 yeah, I've seen that 23:52:16 -!- Gs30ng has joined. 23:52:29 i completed new version of Udage spec 23:52:35 http://gs30ng.exca.net/udage/spec-en.xml 23:53:26 i should edit esolang wiki page to link this page 23:54:13 I wonder if there are any patents easy enough that you could violate them with a Brainfuck program 23:54:32 graue: isn't css patented? 23:54:42 content-scrambling-system or something like that 23:54:54 no, that was a DMCA (copyright law) issue 23:54:54 the dvd encryption... 23:54:58 oh 23:55:01 MPEG2 is patented, though 23:55:03 it's implemented in brainfuck 23:55:06 yes 23:55:08 not mpeg2 23:55:26 Gs30ng: your spec doesn't work with safari 23:56:12 oops 23:56:13 oh wow, I was just reading about that (xhtml files sent as text/html) 23:56:47 can safari parse XML? 23:56:50 http://www.hixie.ch/advocacy/xhtml 23:57:04 Gs30ng: you should make sure your server sends the page as application/xhtml+xml 23:57:39 graue: the problem is it uses xslt and i think safari doesn't support that 23:57:49 oops 23:57:58 SAFARI DOES NOT SUPPORT XSLT?!?! 23:58:15 I don't even know what XSLT is :) 23:58:31 graue: xml style sheet or something like that 23:58:31 then i need a parsed html page 23:58:32 can you implement an XSLT extension to safari in brainfuck? 23:58:38 haha 23:59:09 anyone here have XML+XSLT=HTML parser?