00:33:39 -!- Jophish has quit (Connection timed out). 00:49:52 -!- oerjan has quit ("Good night"). 02:16:31 -!- KingOfKarlsruhe has joined. 02:25:22 -!- sebbu2 has joined. 02:38:53 -!- sebbu has quit (Read error: 110 (Connection timed out)). 02:57:43 -!- olsner has joined. 03:03:00 -!- akiross has joined. 03:05:25 -!- akiross has quit (Client Quit). 03:18:32 -!- KingOfKarlsruhe has quit (Remote closed the connection). 03:25:48 oklopol: what's not true? 03:39:18 -!- Azstal has quit (Read error: 104 (Connection reset by peer)). 03:46:58 -!- Azstal has joined. 03:49:20 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 03:56:19 -!- GreaseMonkey has quit ("Client Excited"). 05:13:43 oklopol: also, bitphase.com 06:56:23 -!- asiekierk has joined. 06:56:26 -!- asiekierk has changed nick to asiekierka. 06:56:37 Hai 06:56:45 how do you implement copy-on-write? 06:56:57 Lemme check the logs to see WHAT'S GOING ON 06:57:23 too... much... logs... on... tunes.org.... 06:58:09 Well, nothing really 06:58:38 uh, so, bsmntbombdood: What do you mean 06:58:53 what do you mean, what do you mean? 06:59:12 Who did you ask "how do you implement copy-on-write?" 06:59:21 oh 06:59:23 a generic question 06:59:29 yeah 06:59:30 Well, where and why? 06:59:41 where do you want to implement and why do you want to implement 06:59:58 i'm just curious 07:00:26 do you keep a reference count or something 07:00:36 I don't know, sorry 07:01:02 update: if reference count = 1, do destructive updates; otherwise, make a copy with refcount=1, decremement refcount of original 07:05:02 I'm going to make something in I/O SNUSP 07:05:07 Core SNUSP + : FILE 07:05:28 Sets the new filename using a string from the cell memory interrupted by 0 (by default it's stdin, if you feed 0 to it it's back at stdin) 07:05:37 as in, stdin/stdout 07:11:25 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 07:41:00 -!- kar8nga has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:22 -!- BeholdMyGlory has joined. 08:12:19 -!- Jophish has joined. 08:22:58 -!- kar8nga has quit (Remote closed the connection). 08:36:23 -!- BeholdMyGlory has quit ("rebooting"). 08:52:17 -!- Mony has joined. 08:55:26 plop 08:56:33 ped 08:56:36 oh wait 08:56:40 wrong calculations :( 09:47:41 -!- kar8nga has joined. 10:42:25 -!- ugo123 has joined. 10:44:09 -!- ugo123 has left (?). 11:01:01 -!- kar8nga has quit (Remote closed the connection). 11:05:01 -!- tombom has joined. 12:29:30 -!- tombom has quit ("Peace and Protection 4.22.2"). 13:22:28 -!- akiross has joined. 13:44:24 Hmm 13:44:35 BrainTape: 0% 13:46:53 -!- Mony has quit ("Quit"). 13:49:34 -!- Mony has joined. 15:12:56 -!- kar8nga has joined. 15:25:11 05:13 kerlo: oklopol: also, bitphase.com 15:25:13 what about it 15:33:42 hi akiross, you new? 15:43:24 hi ehird 15:43:33 sorry, i was afk. Yes, i'm new 15:43:39 welcome :) 15:43:44 thanks :) 15:44:28 actually, i'm developing a programming language (which is quite esoteric i think...). 15:44:48 neat! care to tell us anything about it? :) 15:45:31 but since it's really under heavy development (by only me), i didn't write anything on the wiki... so i came here to see how's the community and if it may be interesting for someone (in future) 15:46:26 well... Actually it's not for any specific reason, nor a toy language (well, neither for serious use :D), but it's like... uhm, assembly-for-message-passing :D 15:46:37 ah, interesting 15:46:40 **reason i mean use. It's general purpose 15:46:40 I can see what you mean 15:47:31 and well, the idea behind it is to write something that's fully modifiable by the user: the language itself will contain a parser object allowing to modify the syntax 15:47:49 ... 15:47:58 Not Esokernel-Project compatible 15:48:06 and well, that's it. 15:48:22 As the amount of commands added to an esolang must be 0 or 1 15:48:23 akiross: yeah 15:48:28 I've pretty much wanted that 15:48:31 since forever 15:48:41 a fully modifiable compiler 15:49:37 Well, that fits for some things 15:49:43 eheh, the problem is that... modifying the code on the fly need to handle the code itself: i can't see compilation feasible in near future. 15:49:48 asiekierka: what are you rambling about this time 15:49:53 nothing 15:49:53 -!- kar8nga has quit (Read error: 110 (Connection timed out)). 15:49:56 akiross: you can do it lisp-style 15:49:57 nothing, really. nothing! 15:49:58 asiekierka, sorry, but what's an esokernel? 15:50:01 Well 15:50:03 having the compiler modifiable at compile time from itself 15:50:05 akiross: disregard asiekierka 15:50:08 A project to make a mini-kernel thing in an esolang 15:50:11 he keeps saying he'll make an operating system in an esolang 15:50:14 :) 15:50:14 this is the 500th time 15:50:18 OS != kernel 15:50:19 or 15:50:20 I don't think he's ever got further than rambling 15:50:21 OS > kernel 15:50:24 ehird: Yep 15:50:25 ahah ok :) 15:50:29 But wishes are wishes 15:50:33 anyway 15:51:13 ehird, yes, i thought about lisp in some ways, but actually i'm not a guru of lisp and... well, it's with objects, not lists. So it remembers smalltalk in some ways 15:51:21 i agree, asiekierka 15:51:27 akiross: I meant the compiler model 15:51:32 ahh, sorry 15:51:39 i.e. you can modify the compiler at compile-time, but not runtim 15:51:40 e 15:52:55 ok. I'll hope to learn more in future... I'm quite a noob in the programming languages field 15:53:09 this is a good place to learn, assuming you're crazy :) 15:53:10 i am too, akiross 15:53:20 see: DOBELA, a failed attempt at an esolang 15:53:27 asiekierka: haven't you been here since 2006. 15:53:32 yes i was 15:53:38 eheh good, i'm a bit crazy and i learn quickly ;) 15:53:41 but being a noob doesn't equal being here for two days 15:53:47 What about Esme 15:53:51 You stop being a noob when you quite understand something 15:54:02 Well, I could say i'm less of a noob and more of a newbie but nah 15:55:25 -!- sebbu has joined. 15:55:32 Anyway, i'm also a super-noob in OSes 15:55:37 and i'm rambling for the sake of rambling 15:56:06 And... did anyone actually look at DOBELA? 15:56:38 eheh 15:57:21 -!- Slereah has quit (calvino.freenode.net irc.freenode.net). 15:57:21 -!- Ilari has quit (calvino.freenode.net irc.freenode.net). 15:57:23 -!- Jophish has quit (calvino.freenode.net irc.freenode.net). 15:57:26 -!- rodgort has quit (calvino.freenode.net irc.freenode.net). 15:57:26 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net). 15:57:28 -!- ehird has quit (calvino.freenode.net irc.freenode.net). 15:57:28 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net). 15:57:28 -!- GregorR has quit (calvino.freenode.net irc.freenode.net). 15:57:30 -!- olsner has quit (calvino.freenode.net irc.freenode.net). 15:57:30 -!- oklopol has quit (calvino.freenode.net irc.freenode.net). 15:57:32 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net). 15:57:33 -!- sebbu2 has quit (calvino.freenode.net irc.freenode.net). 15:57:33 -!- dbc has quit (calvino.freenode.net irc.freenode.net). 15:57:35 -!- SimonRC_ has quit (calvino.freenode.net irc.freenode.net). 15:57:35 -!- mtve has quit (calvino.freenode.net irc.freenode.net). 15:57:37 -!- ineiros has quit (calvino.freenode.net irc.freenode.net). 15:57:37 -!- Dewi has quit (calvino.freenode.net irc.freenode.net). 15:57:37 -!- Mony has quit (calvino.freenode.net irc.freenode.net). 15:57:37 -!- Asztal has quit (calvino.freenode.net irc.freenode.net). 15:57:39 -!- pikhq has quit (calvino.freenode.net irc.freenode.net). 15:58:03 ok 15:58:05 quick 15:58:10 while ehird is not here 15:58:24 so he wouldn't complain at my rambles 15:58:31 akiross: Did you see DOBELA? 15:58:48 -!- Mony has joined. 15:58:48 -!- Jophish has joined. 15:58:48 -!- olsner has joined. 15:58:48 -!- sebbu2 has joined. 15:58:48 -!- dbc has joined. 15:58:48 -!- Ilari has joined. 15:58:48 -!- Slereah has joined. 15:58:48 -!- Asztal has joined. 15:58:48 -!- oklopol has joined. 15:58:48 -!- ehird has joined. 15:58:48 -!- SimonRC_ has joined. 15:58:48 -!- AnMaster has joined. 15:58:48 -!- rodgort has joined. 15:58:48 -!- Robdgreat has joined. 15:58:48 -!- GregorR has joined. 15:58:48 -!- Leonidas has joined. 15:58:48 -!- Dewi has joined. 15:58:48 -!- pikhq has joined. 15:58:48 -!- ineiros has joined. 15:58:48 -!- mtve has joined. 15:59:08 asiekierka, i'm taking a look right now 15:59:27 ...Too late (but nah) 15:59:32 ahah it looks interesting :) 15:59:43 wait, you mean DOBELA looks interesting? 15:59:43 lool 15:59:43 i love it 15:59:43 quick netsplit! 15:59:47 akiross: This was my first and currently last esolang 15:59:47 yes, DOBELA looks interesting 15:59:47 I may find the logs from the day DOBELA was discussed on my PC 16:00:04 uhm, in 2008 16:00:08 Well, yep 16:00:19 Should be about 6-7th November 2008 16:00:21 and still aren't you sure about that 1% ?D 16:00:22 ? :D 16:00:25 Nope 16:00:31 Because there's no interpreter 16:00:50 And yes, DOBELA operates on bits 16:00:52 oh, i was just wondering... It's just a theoretical model? 16:01:00 ...Maybe 16:01:03 *is it 16:01:08 sorry, my english is really bad. 16:01:08 I would call it an "esolang-made-in-free-time" 16:01:12 No prob, akiross 16:01:18 My english was bad when I joined here too 16:01:23 ehird should recall it, amirite? :D 16:01:53 I couldn't possibly comment. 16:01:57 :D 16:03:20 ...ouch, NOW i see what did you mean with "operates on bit" 16:03:21 bits 16:03:35 dots = bits 16:03:39 ahaha it's wonderful!! 16:04:36 -!- kar8nga has joined. 16:04:49 You can flip dots, output and input them, collect them to a FIFO and use ^ | : v to configure data 16:04:54 And | is quite unclearly discussed 16:05:59 It's that something hitting the left of | goes down or up, depends on the set value thing 16:06:05 right works the same 16:06:29 an interpreter would be fun :) 16:06:30 hitting the down of | makes all dots hitting it left/right go down 16:06:42 hitting the up of | makes all dots hitting it left/right go up 16:06:48 Should be fun 16:08:16 in some way it remembers me the blackbox logic game 16:09:50 I made an update 16:10:05 well, i think I did 16:11:19 Now I did it! 16:12:33 -!- sebbu2 has quit (Connection timed out). 16:24:05 -!- BeholdMyGlory has joined. 16:37:16 -!- BeholdMyGlory has quit (Remote closed the connection). 16:47:55 -!- M0ny has joined. 16:48:46 -!- M0ny has quit (Read error: 104 (Connection reset by peer)). 16:50:08 -!- BeholdMyGlory has joined. 16:50:33 -!- M0ny has joined. 16:59:05 -!- BeholdMyGlory has quit (Remote closed the connection). 17:05:49 i've to go. See you soon! 17:06:11 -!- Mony has quit (Read error: 110 (Connection timed out)). 17:07:07 -!- akiross has quit ("Leaving"). 17:08:20 [[Apple Computer, Inc. v. Franklin Computer Corp., 714 F.2d 1240 (3d Cir. 1983), was the first successful attempt in a court of law in the United States to prove that computer software in electronic form (not visual) could be protected by copyright[citation needed]. ]] 17:08:22 omg :( 17:15:19 -!- oerjan has joined. 17:23:45 What about Esme 17:23:57 doesn't that go a bit beyond "failed"... 17:29:46 :D 17:29:50 Oh you 17:30:11 so 17:30:46 typeof [1,2] -> [1 | 2], or typeof [1,2] -> [num] where type num = ... | -1 | 0 | 1 | 2 | 3 | ... 17:30:51 maybe. 17:31:55 At what point between "food" and "inorganic matter" does something start being considered inedible? 17:32:15 mcdonalds 17:32:15 A rock is clearly inedible, but if I ground that rock into powder and mix in a little bit of gravy, is that now edible? 17:32:21 LOL, good answer. 17:33:51 ^ul ((ESME. )(Esme, )):^!S(~:^:S*a~^~*a*~:^):^ 17:33:52 ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. ESME. Esme, Esme, ESME. Esme, ESME. ESME. Esme, ESME. Esme, Esme, ESME. Esme, ESME. ...too much output! 17:34:59 salt is edible, in moderation 17:35:13 what is that 17:35:27 as is ice. water is potable. 17:36:05 GregorR: salt is both food and inorganic matter. 17:36:34 asiekierka: an underload program for printing the thue-morse sequence, modified slightly to look like Esme. 17:36:49 Oh, oerjan said that. 17:36:59 Hmmm, touché... 17:43:00 aw great 17:43:17 How to install GRUB 17:43:23 without a linux handy 17:44:04 sigh. 17:45:10 Aside: bugs like http://hackage.haskell.org/trac/ghc/ticket/3079 amuse me. 17:45:40 XD 17:45:48 Incidentally, I made a compiler: (pre-sorry for the flood; but it should be just 6 lines) 17:45:50 fis@eris:~/src/java$ cat primes.f 17:45:53 { writes all prime numbers between 0 and 100 } 17:45:55 99 9[1-$][\$@$@$@$@\/*=[1-$$[%\1-$@]?0=[\$.' ,\]?]?]# 17:45:58 fis@eris:~/src/java$ java -cp bin:/usr/share/java/bcel.jar fi.zem.jvmfalse.Compiler primes.f 17:46:01 fis@eris:~/src/java$ java -cp .:bin JVMFalse ; echo 17:46:04 97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3 2 17:46:12 okay how is that special? 17:46:14 i mean i dun get it 17:46:15 So it does False -> java VM bytecode. 17:46:16 :| 17:46:24 ...ic...&? 17:46:56 Well, I don't think announcing any compilers here is very out-of-the-ordinary. 17:47:07 ah ok. 17:47:17 fizzie: how does it handle clozrs 17:47:23 There are no closures in False. 17:47:35 well kind of. 17:47:42 they're just closures on nothing. 17:48:21 Right, well, [...] is compiled so that the insides of the function is compiled, it's placed somewhere, and a piece of code to push a pointer to that function is generated wherever the [...] was. 17:48:28 even C has closures on nothing :) 17:48:57 There's nothing especially *special* about this; it's more of a continuation to yesterday's discussion on False being easy to compile. It can't be that difficult, if even I could do it. 17:49:11 I may write False->asm, why not. 17:49:17 Speed for your enterprise false! 17:49:20 False->asm would be useful 17:49:23 for me 17:49:29 No. No it would not. 17:49:49 fizzie: do you handle ß? 17:50:27 Well, in the sense that the flush() method of the FalseIO interface is called on ß. In the default implementation it calls out.flush(), where out is by default System.out. 17:51:02 i just meant the funnay charactar. 17:51:04 :D 17:51:33 Oh. Well, yes. I think it uses the platform's default character encoding, whatever that may be, to read the contents. So I think here you need a utf-8 ß in the file. 17:53:22 -!- tombom has joined. 17:53:41 You want False? You can't _handle_ the False. 17:54:02 groan 17:54:17 i considered trying it in german 17:54:45 but too little brain 17:55:11 Java bytecode is a rather friendly target for False, being stack-based itself. Although the operand stack is local to a method, so all False code needs to be inside a single method; and the ! call/return thing goes through some double-jumping because (probably for safety reasons) JavaScript doesn't really have a computed-goto-like instruction. (Except the 'ret' in a jsr/ret pair, but the return address type is so magical you can't put it inside any sort of stac 17:55:57 wait, JavaScript? 17:56:08 Did I say JavaScript? I meant Java. 17:56:11 Heh. 17:56:34 xD 17:56:36 Or Java VM, anyway. 17:56:47 afety reasons) JavaScript doesn't really have a computed-goto-like instruction. (Except the 'ret' in a jsr/ret pair, but the return address type is so magical you can't put it inside any sort of stac 17:56:51 you got cut off there 17:57:00 Oh. -- any sort of stack with any JVM opcodes.) 17:58:50 Consider installing the 'splitlong' script if you're using irssi. 18:00:06 I just resorted to building a big table of all possible jump targets (beginnings of non-inlined [...] blocks and all ! sites) and use indices of that table as return addresses / function pointers, plus a single tableswitch opcode. In Java it would probably look like the whole program was inside a "while (true) { switch (pop()) { ... } }" structure, and jumps were written as "push(x); break;". 18:01:23 Normally I just manually say any long-looking sentences to myself to see if I get cut off; this time I didn't rememer. A script might be fine too. 18:55:36 Hey, someone paste me a utf-8 beta. 18:57:19 fizzie? :P 18:57:26 ah, there 18:58:17 please be advised that ß from above is not a beta, but an ess-zed [sp] 18:58:55 which is part of iso-8859-1 18:59:18 an actual greek beta is beyond my current setup 19:07:01 (this is not meant to imply more than a very slight possibility that you were being confused about this) 19:10:58 fizzie: does your compiler handle ` for inline jvm? :D 19:11:18 and a initially contains cmd line args? and first line of input unless you flush is the command line opts joined by " "? 19:22:21 goddamnit 19:22:23 C is slow 19:22:30 lol wat 19:23:33 http://pastebin.ca/1355386 19:23:41 you'd think that'd be pretty fast, right? 19:23:46 lol wat, a slightly less known temple complex in cambodia 19:24:01 strstr(str, "foo") (written in assembly in glibc) is twice as fast 19:24:01 bsmntbombdood: well... no? 19:24:06 it has tons of branches. 19:24:07 :P 19:24:12 bsmntbombdood: strstr isn't just in asm 19:24:14 it uses freaky tricks 19:24:22 which you could probably write in C 19:24:40 i doubt boyer-moore is gonna be faster in this case 19:25:28 i'll get rid of some of the branches and find out what happens 19:25:49 bsmntbombdood: may I interest you in the *((int*)s) trick? 19:25:54 it is very efficient use of his time. 19:26:14 i can't really compare more than one character at a time here 19:26:42 lookup table? :-D 19:27:12 yeah 19:27:27 hm you should only need to check each third char initially... 19:27:35 is that what boyer-moore does? 19:27:41 * oerjan googles 19:28:15 oerjan: yeah 19:33:57 -!- tombom has quit. 19:34:59 ehird: genius! 19:35:10 using a couple lookup tables makes it as fast as strstr 19:35:22 \m/ 19:35:26 I am clearly the best C coder ever. 19:35:46 kerlo: oklopol: what's not true? <<< err, the thing you said? 19:35:56 er, actually it's faster 19:36:02 -!- k has joined. 19:36:08 match takes 4.5 seconds, strstr takes 6 seconds 19:36:21 yay 19:36:25 -!- kar8nga has quit (Nick collision from services.). 19:36:27 -!- k has changed nick to kar8nga. 19:36:32 kerlo: if you're referring to that causality thing, you pretty much said implication implies equivalence, which is simply not true. 19:36:43 bsmntbombdood: neat 19:36:50 how big are these strings :P 19:36:56 short 19:37:21 anyway probably some sleep before i explode 19:37:23 -> 19:37:54 kerlo: also what about http://www.bitphase.com/? 19:37:56 Let's see. "If lack of correlation implies lack of causation, then correlation implies causation." 19:38:29 that has a name... 19:38:46 kerlo: yeah that's a well-known logical error no one sane would ever make 19:38:48 How do you get "implication implies equivalence" from that? 19:39:14 Let me rephrase it, then. 19:39:27 "If lack of correlation is evidence for lack of causation, then correlation is evidence for causation." 19:39:44 Do you agree with me now? 19:40:24 kerlo: (a=>b)^(!a=>!b) is just another way to do equivalence with implications 19:40:37 What does ^ denote? 19:40:40 and 19:40:55 you're saying the first implies the latter, which would mean a=>b implies a<=>b 19:41:02 http://en.wikipedia.org/wiki/Denying_the_antecedent except switched 19:41:12 if i'm not mistaken, do realize i can't keep my eyes open. 19:41:32 * oklopol is a bit too tired for interactive conversation 19:41:32 I venture that if A is evidence for B, then B is evidence for A. 19:42:20 kerlo: you should probably read the newest xkcd 19:42:23 you might learn something 19:42:32 I did. That's why I'm saying this at all. 19:42:49 i know you did, that's why i said that. 19:42:57 kerlo: the first part is much stronger evidence than the second though 19:43:49 the first is proof of absense, the second just absense of disproof 19:44:36 Okay, enough venturing. 19:44:44 Theorem: If A is evidence for B, then B is evidence for A. 19:44:57 yeah absense of *that specific* disproof; just "A is evidence for B" simply says nothing about the other direction in general 19:45:18 kerlo: stating stuff seemingly formally does not make it rigorous. 19:45:31 I'll make it rigorous and give you a proof. 19:45:32 and sorry for being cranky, not sure i mentioned this yet but i'm pretty tired 19:45:37 oh cool 19:45:40 * oerjan swats kerlo and gives him an F -----### 19:45:42 i'll read it when i'm back to my senses 19:45:52 Would you agree with this statement: P is evidence for Q if and only if the probability of P(Q|P) > P(Q). 19:45:56 I think kerlo enjoys winding people up by trying to prove the idiotic. 19:46:05 http://pastebin.ca/1355402 19:46:10 how can i make that faster? 19:46:23 while(c = *str++) { 19:46:30 maybe summat *((int*)s)?!?!?!?!?!?!?!?!?! 19:46:33 <_< 19:46:42 kerlo: i guess that's a reasonable definition in some cases 19:46:44 case 2: 19:46:44 if(c == 'o') 19:46:45 return 1; 19:46:47 can you avoid the comparison? 19:47:36 i don't think so, because you have to break out somewhere 19:47:43 Well, take Bayes' theorem: P(A)P(B|A) = P(B)P(A|B). Rearrange it: P(A)/P(A|B) = P(B)/P(B|A). 19:47:44 true 19:47:46 lessee, that's equivalent to P(P /\ Q) > P(Q)*P(P), huh. 19:48:01 bsmntbombdood: but, *((int*)s)? 19:48:07 ehird: and? 19:48:18 Cool, oerjan just proved it using symmetry. 19:48:20 whaddya mean and? 19:48:39 what about *((int*)s)? 19:48:45 Anyway, with this rearrangement, it's obvious that if P(A|B) > P(A), then P(B|A) > P(B). 19:48:51 bsmntbombdood: use it to read instead of one char at a time? 19:49:11 Assuming, of course, that all probabilities are positive. If one of them is negative or zero, you've got bigger problems. 19:49:16 ehird: my computer doesn't have memory for a 4 gigabyte lookup table 19:49:29 bsmntbombdood: that's why you use a mask 19:49:38 then you are doing the same thing 19:49:49 and it won't be any faster 19:49:57 nope 19:50:01 me & ais523 helped comex recently 19:50:04 lemme dig up a link 19:50:07 you may be interested to know that my final solution is 19:50:20 comex: a slower one? :P 19:50:26 http://pastie.org/409469 19:50:44 specifically, instead of nulling out the characters after the space, the lookup table includes every possibility 19:50:52 erm 19:50:54 isn't that huge 19:51:06 not really, most of the morse codes are three characters anyway 19:51:26 and it's faster, only one branch 19:51:41 but I found out that it was only taking ~20ms, and the other ~180ms was JNI being slow :p 19:51:48 heh 19:51:54 comex: 20ms for a 6 megabyte string? 19:51:57 that's awesome. 19:52:04 can you pastie the resulting asm? 19:52:14 i don't get it 19:52:16 sec 19:52:23 isn't java supposed to be open source now? but I can't find JNI's implementation anywhere 19:52:27 bsmntbombdood: that decodes morse code 19:52:36 just alphabetical 19:52:52 note the huge STUFF line 19:54:56 why on earth is that an array of chars rather than an array of shorts? 19:55:19 because they're separate values? it doesn't matter :u 19:56:15 gcc on my desktop gives me http://pastie.org/410377 19:56:16 isn't 2*(a%381) longer than stuff? 19:56:37 bsmntbombdood: #define STUFF 19:56:39 that line 19:56:42 is like 23948578349345 columns wid 19:56:43 e 19:56:45 oh ok 19:56:56 #define STUFF 63, 1, 63, 1, 63, 1, 63, 1, 77, 3, 65, 3, ravenous black hole 19:56:58 that's the lookup table 19:57:06 blame pastie for not wordwrapping 19:57:09 comex: wow, that's really compact 19:57:20 is this with all the optimizations? 19:57:23 yeah 19:57:26 unsigned short ink = stuff[a%381]; would be a lot easier to read 19:57:36 comex: no, blame you for not writing stuff sensibly 19:57:44 bsmntbombdood: he was optimizing 19:58:08 bsmntbombdood: yeah, but when writing nomic stuff I have to use pastebin because pastie doesn't wordwrap 19:58:25 should be static const stuff = { 19:58:33 it is 19:58:34 in the function body 19:58:36 /* 70 columns ...*/ 19:58:39 /* 70 columns ...*/ 19:58:42 etc 19:58:44 oh shut the fuck up 19:58:52 nobody gives a shit how pretty it looks, it's trivial code 19:59:02 could've at least used \ when defining the macro 19:59:05 well then i might actually be able to see the whole thing! 19:59:11 horizontal scrollbar 19:59:12 bsmntbombdood: it's not mainly because it was easier for me to copy and paste from a python script if it was all on one line 19:59:14 or, click raw 19:59:17 and copy it into an editor 19:59:18 :p 19:59:43 (I was in the sauna.) No, it doesn't do ` for inline jvm, but I was thinking of extending ` for FFI to Java or something; the "strange" False command-line-as-input thing it doesn't do at all. 19:59:52 could've made the python script print a header, then include that header 20:00:02 it was a quick hack 20:00:06 fizzie: what about the 'a' thing 20:00:08 how did you generate the table? 20:00:36 ehird: What is the 'a' thing? 20:00:36 bsmntbombdood: brute force modulos until it found one that gave unique results for each possibility 20:00:48 fizzie: a-z variables; a is initialized to a pointer to argv 20:00:50 Oh, right, that 'a' thing. 20:00:55 so you can read it and + it to access argv 20:00:57 and your code isn't portable across endianness 20:01:03 bsmntbombdood: yeah, I know 20:01:12 just do an #if on the endianness 20:01:16 and have two tablse 20:01:16 :P 20:01:17 if I cared I would fix it and do that :p 20:01:31 -!- asiekierka has quit (Read error: 113 (No route to host)). 20:01:59 * comex tries to find the right include files for compiling it on linux 20:02:33 Yes, no, it doesn't do that. The peek/poke ;/: operations work only for a-z (which actually push 0-25 as the varadr). I don't see where that 'a' thing is specified either. 20:02:37 Oh, there. 20:02:51 so it's not really false 20:02:51 :P 20:02:59 maybe i should see if i can write that a little more sensibly 20:03:15 fizzie/ehird; what're you ralking about? 20:03:23 Well, it's false-ish. 20:03:32 we're ralking about rizzie's ralse interpreter in rava 20:03:34 more sensible, less fast is probably how it'll turn out :( 20:03:36 err 20:03:37 compier 20:03:40 compirer 20:04:03 bsmntbombdood: if you adopt the ugly, you get 20ms to morse-decode a 6mb string :P 20:04:15 not possible 20:04:20 bsmntbombdood: well, the original assignment was to implement it in Java using a binary tree 20:04:21 I got creative :p 20:04:25 bsmntbombdood: why not? 20:04:28 his does that 20:05:28 I wonder why linux gives less accurate results for clock() 20:05:30 comex: "...in java" :P 20:06:07 bsmntbombdood: hey, java was weird 20:06:29 i assume all the crud in there is so you can call the function from java? 20:06:33 yeah 20:07:05 in my java implementation, even though it was written so that it should be O(n), the time taken was increasing way faster than that 20:07:24 when I saw that, I gave up :p 20:07:47 (charAt and indexOf only, no new string creation or anything) 20:10:50 if you want it done right, you have to do it yourself i guess 20:13:16 what level class is this? 20:15:04 -!- tombom has joined. 20:31:50 yeah like i could sleep after that many liters of coffee :< 20:32:42 for sound sleep, always make sure your blood percentage exceeds your coffee percentage 20:33:03 kerlo: Would you agree with this statement: P is evidence for Q if and only if the probability of P(Q|P) > P(Q). <<< heh, no. i guess i should've asked what you meant before starting to insult you :D 20:33:06 * oerjan has only had one cup today 20:33:14 Yay. 20:33:24 kerlo: by that definition you're right, i think. 20:33:53 i'd define A implies B by P(B|A)>e for some positive e, probably. 20:34:07 and that's not a two-way street 20:34:23 err 20:34:37 or maybe for e=0.5. 20:34:43 Hmm. 20:35:22 So if P(B) = 0.7, then A implies B for all A independent of B. 20:35:26 Fun stuff. 20:36:06 yeah and the moon being yellow implies 1+1=2 20:36:29 that's just how i'd define it, A implies B means if you know A is true, then B is probably true. 20:36:37 * kerlo nods 20:37:03 -!- oerjan has set topic: WARNING: Mad (Statistical) Science | Logs: http://tunes.org/~nef/logs/esoteric/. 20:37:13 Hmm. This chewing gum tastes like rubbing alcohol all of a sudden. 20:37:42 kerlo: that means a little more chewing will set your gums on fire 20:37:56 Cool. 20:38:04 I wonder if this is the taste of glycerol. 20:38:07 the gums of your teeth, too 20:39:06 blah 20:39:10 head 20:39:11 is 20:39:18 broken 20:39:34 yeah it cannot distinguish space from return 20:40:32 i had a great comeback to that, but it would've been many, many lines, and you wouldn't have seen its last word. 20:40:47 so i just decided to do this meta stuff 20:40:52 i hope you enjoy it 20:41:09 i never meta stuff i didn't enjoy 20:42:27 ...you're chokes are killing me 20:42:54 and your spelling 20:43:11 * oklopol is listening to a song coauthored by kerlo and himself 20:43:21 I didn't know I coauthored a song. 20:43:30 What did I contribute? 20:43:45 the main melody 20:43:59 i wrote it on gp and added some random stuff, and now it found it 20:44:02 *now i 20:44:53 Can you send it to me? 20:45:27 well it's a really short snippet but sure 20:48:08 i just wanted to try out that transition i heard in my head when i listened to yours 20:50:02 and the second part is just a random continuation to it, i think i just hacked it up without that much thought, i don't usually go for anything that conventional 20:50:19 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 20:56:13 -!- bsmntbombdood has joined. 21:01:17 kerlo: did you not get it or just didn't feel like commenting? 21:01:44 not saying there's anything to comment, just asking because i have nothing else to do :P 21:03:02 Sorry, my dad asked me for help with something. 21:03:38 I wonder if I'll recognize this. 21:03:57 no worries, i'm not sure what you could possible want to comment about it anyway :P 21:05:50 Yes, I do recognize that. 21:06:35 was that the background you were thinking? i mean i was going songsmith there 21:07:37 -!- KingOfKarlsruhe has joined. 21:08:09 I was thinking something more like the music in Spore, I guess. Something suggestive of being underwater. 21:08:19 Since Spore takes place underwater. :-P 21:08:26 also i should make more music, kinda getting boring listening to this same stuff all the time 21:09:33 kerlo: right i don't really do atmosphere :| 21:09:44 -!- madbr has joined. 21:10:27 Add arpeggiated B minor and C major chords. 21:10:36 And tell me how to spell "arpeggiated" while you're at it. 21:10:51 well looks alright to me 21:10:52 but i can check 21:10:59 I imagine it is. 21:11:02 oerjan, hi 21:11:03 yeah 21:11:03 correct 21:11:09 ho 21:11:10 (and hi everyone else) 21:11:14 kerlo: together at the same time? :o 21:11:17 oh and befunge too, with fungot and with AnMaster improving his cfunge 21:11:18 AnMaster: but those are about sound, not the host) 21:11:19 ? 21:11:36 kerlo: arpeggiated b minor and c major where exactly? 21:11:48 AnMaster: someone asked what esolangs were popular at the moment 21:11:52 -!- sebbu2 has joined. 21:12:00 hm 21:12:03 befunge+c 21:12:04 ... 21:12:09 I actually had some ideas 21:12:11 about FFI 21:12:28 oerjan, to allow calling external code from funge 21:12:37 however the tasks seems very difficult 21:12:50 I mean, expressing prototypes and such from funge 21:13:05 and using libffi to construct calls on the fly 21:13:20 a better approach may be having the user make a simple module that can be useful 21:13:23 used* 21:13:25 from cfunge 21:13:30 like dlopen()ed 21:13:36 No, not at the same time. 21:14:02 kerlo, err what language is this? 21:14:16 kerlo: well i don't know how to pluralize "where". 21:14:33 AnMaster: um, I'm talking about music in English. 21:14:47 oh not talking to me 21:14:50 I was replying to madbr when I said "no, not at the same time". 21:14:52 kerlo, ah. 21:14:59 So, where. 21:15:20 kerlo, there are some esolangs based on music 21:15:30 kerlo: ohh, i thought madbr was some irc contact of yours, and asked you when you'd meet :P 21:15:38 hah no way 21:16:39 The main melody goes like this, if I'm not mistaken: (.) F# B D . . E . . B . . . G C D . . E . . C . . . (F# B) 21:17:16 yeah 21:18:29 -!- Slereah has set topic: There is no "i" in UBUNTU | WARNING: Mad (Statistical) Science | Logs: http://tunes.org/~nef/logs/esoteric/. 21:18:33 what song& 21:18:51 -!- sebbu has quit (Read error: 145 (Connection timed out)). 21:18:52 -!- sebbu2 has changed nick to sebbu. 21:19:27 Add arpeggiated B minor and C major like this: (G) C E F# B D F# B D F# B D F# B D G C E G C E G C E G (C E) 21:19:49 oh, i see 21:19:50 Omit the G C E at the beginning the first time around. 21:19:57 that's like B phrygian 21:20:00 grappa rapida 21:20:22 kerlo: so Bm on top of the E..B.. too? 21:20:58 oklopol: yes. 21:21:49 reminds me of the transformers theme (except that's in A I think) 21:22:23 listening to other stuff, so i can't say for sure what it'd sound like 21:22:32 seems like that E'd be a waste 21:23:13 madbr: congrats for perfect pitch 21:23:23 I don't have perfect pitch 21:23:30 err k 21:23:42 F is sharp, A is not used, everything else is natural, and I don't know what the tonic is but suspect it's B. 21:24:05 just a keyboard right next to my computer :D 21:24:20 oh 21:24:39 kerlo: Is it some song or something you're composing? 21:25:19 madbr: not willfully. :-P 21:25:37 I mentioned a melody once, and then oklopol used it. 21:25:40 kerlo: yeah i don't think you can have Hm 21:25:46 i mean 21:25:47 Bm 21:26:03 in the second bar 21:26:06 Bm, C? 21:26:25 oklopol: how are you dividing this into bars? 21:26:31 Well, E is the 4th of B 21:26:40 And specifically Bm 21:26:49 kerlo: so that there are two bars of Bm in yours. 21:27:07 madbr: well yes, clearly it doesn't work on paper 21:27:09 F# B | D . . | E . . | B . . | . G C | D . . | E . . | C . . | . 21:27:10 Afaik that's a weak note but no problem over Bm 21:27:27 i just don't think it sounds good. 21:27:34 tonics divided into bars, but no gin? 21:28:02 C E | F# B D | F# B D | F# B D | F# B D | G C E | G C E | G C E | G 21:28:07 Bm, Em, Bm, C could fit too 21:28:16 kerlo: okay i had twice as long bars 21:28:37 F# B | D . . E . . | B . . . G C | D . . E . . | C . . . 21:28:45 madbr: yeah Em is what i had, and what's the obvious chord 21:28:53 C E | F# B D F# B D | F# B D F# B D | G C E G C E | G C E G 21:29:02 that or Bm11 21:29:34 yeah of Bsus4 or Aadd9. 21:29:51 *or 21:29:51 oklopol: so you don't like the chords I gave? 21:30:08 kerlo: no i think the second bar kills the melody. 21:30:11 but 21:30:32 do realize i'm used to my own chords, i may just not understand your vision. 21:30:52 oklopol: I'd like you to send me a MID of it. 21:31:06 Not that I don't have a piano and some ability to play it. 21:31:07 it's a short snippet, esoteric ideas will usually sound crappier without company. 21:31:13 MID is easier. :-P 21:32:03 k wait a sec 21:32:55 http://www.vjn.fi/oklopol/music/jeesjess.mid 21:34:32 kerlo, what does "arpeggiated" _mean_? 21:34:36 Em7 Fm7 perhaps? 21:34:39 i don't see how that'd sound good in any context, so i'm assuming you either explained or represented it wrong 21:34:41 I can't find it in a dictionary 21:34:46 so I can't translate to Swedish 21:34:48 AnMaster: play the notes sequentially, not simultaneously. 21:34:50 err 21:34:51 As an arpeggio. 21:34:55 kerlo, oh right 21:34:56 explained or thought it wrong 21:35:12 kerlo, what was the melody supposed to be? 21:35:22 oklopol: I don't think you aligned it right. 21:35:25 I tried it on my piano, but not knowing any timing information... 21:35:32 what is it, some sort of musical tarpit? :D 21:35:34 quite nice tune 21:35:43 madbr, there exists such 21:35:49 forgot the name 21:35:52 kerlo: well how about you do it. 21:35:53 The first F# of the chords is aligned with the first D of the melody. 21:35:58 there was one with music as only storage 21:36:04 Okay. What program are you using to do this? 21:36:14 AnMaster: the melody isn't supposed to be anything in particular. 21:36:20 madbr, with a "Schönberg command" for 12 random notes 21:36:21 iirc 21:36:39 haha 21:36:48 madbr, it was one of the entries to the esolang contest of some year 21:36:53 don't remember which 21:36:59 kerlo: so don't listen to the first three notes of the guitar, it's not like they are the ones that sound bad. 21:37:06 -!- Sgeo has joined. 21:37:35 Okay. 21:37:44 hm? 21:37:45 http://www.stephensykes.com/choon/choon.html 21:37:49 madbr, that was it ^ 21:37:55 what's that file pastebin that works? 21:37:58 In that case, it sounds perfectly fine to me. 21:38:15 madbr, also has the "john cage" command. Pause 21:39:09 i was going through ~, cleaning it out, and look what i find... 21:39:11 http://filebin.ca/hdjbby 21:39:24 oklopol professing something strange about chainsaws 21:39:32 I thought you were referring to the dissonance at the final repetition of F# B D overlaid with . G C. 21:39:36 hm :) 21:39:53 kerlo: no. the E 21:40:24 bsmntbombdood, original file name? 21:40:26 no dissonance, just sounds worse than Em imo. 21:40:28 also what does it mean? 21:40:30 finnish? 21:40:33 I don't know Finnish 21:40:39 AnMaster: ask oklopol 21:40:48 madbr, yes it is Finnish, I know that, but I don't speak the language 21:41:00 * AnMaster can handle Swedish and English 21:41:09 was just trying to guess what language it was 21:41:24 heh, i love my voice 21:41:32 oklopol, and what does it mean? 21:41:51 listen closely to the last word 21:42:00 then ask again if you're still interested. 21:42:24 oklopol, I can't hear the last word really, it is cut short it seems 21:42:39 bsmntbombdood, also what was the original filename 21:42:41 * kerlo makes some MIDIs 21:42:45 oklopol, anyway what did it mean? 21:42:51 the original filename was "terat.wav" 21:42:53 dunno what that means 21:43:11 So a John Cage isn't simply a zero 21:43:32 AnMaster: fuck me gently with a chainsaw 21:43:41 the blades feel great on my genitals 21:43:48 well maybe "wonderful" 21:43:49 :D 21:43:56 ok... 21:44:10 oklopol, you are weir 21:44:11 (bsmntbombdood's sentence, i was just the delivery boy.) 21:44:12 weird* 21:44:17 anyway sleep time 21:44:22 and yeah, i guess i might be a little 21:44:24 -> 21:44:38 bsmntbombdood, you wanted that said? 21:44:49 AnMaster: it is my fantasy 21:44:56 I don't want to know more 21:45:04 nor why in Finish 21:45:04 he needed to explain it to his finnish hooker 21:45:12 madbr, -_- 21:47:08 kerlo: okay this is getting ridiculous 21:47:14 i just realized 21:47:16 we're both right again 21:47:17 what is? 21:47:32 you're thinking of the "F# B" notes as a... wait what's the term 21:47:40 anyway that they start before the first bar 21:47:42 right? 21:47:51 oklopol, chord? 21:47:55 in that case, Bm *would* work for the second bar. 21:48:05 "levée" in fr. 21:48:17 oklopol, anything works. As Schönberg proved ;P 21:48:21 oklopol: well, I said "omit the C E the first time around". You actually have B D where I have C E. 21:48:24 (but, in that case i'm less impressed by the melody) 21:48:43 i thought schonberg actually proved that most things don't work :) 21:48:53 lament: :) 21:48:57 lament, well he became famous 21:49:03 I don't like his music 21:49:13 and almost killed classical music?% 21:49:15 but it all depends on how you measure "works" 21:49:16 kerlo: i'm talking about the two first notes, so i'm not sure what you're saying. 21:49:34 he became famous in what was basically the age of mass hysteria where everybody went crazy and started claiming that bad art was good. 21:49:38 ohh 21:49:41 "kerlo: F# B | D . . E . . | B . . . G C | D . . E . . | C . . ." 21:49:45 well, here you say it :D 21:49:49 madbr, hm? Personally I like classical music, as well as more modern music (like Debussy) 21:49:58 i did not read that, sorry. 21:50:00 I consider classical music to only refer to the classical period 21:50:02 tenchincally first bar is | D . . E . . | 21:50:14 AnMaster: Debussy was way before schonberg killed classical 21:50:24 Well, I mean classical music in the large sense of course 21:50:35 lament, yes. But schonberg didn't kill classical. Since classical refers to the classical period 21:50:36 kerlo: so, my updated opinion is we're both right, and that our disagreement was because of the snippet being too short. 21:50:42 Just like "tonal" can have both a large meaning or a small one 21:50:47 in Swedish we have a better name for the larger sense: konstmusik 21:50:52 meaning art music 21:50:55 literally 21:51:10 madbr: yes, i thought it was | . F# B D . . | 21:51:11 vad konstig 21:51:12 schonberg didn't really kill anything, music is still around 21:51:15 the melody is more interesting that way. 21:51:17 modern classical music just sounds utterly silly 21:51:17 imo 21:51:24 oerjan, you don't have it in Norwegian? 21:51:39 oklopol: okay. 21:51:40 actually no, though that was a pun 21:51:41 anyway, back to sleep, just came to apologize for once again not actually listening to anyone else, just assuming they're idiots. 21:51:57 Anyway I don't like all of the music Debussy produced. 21:51:58 WHICH YOU STILL PROBABLY ARE, I JUST HAVEN'T CAUGHT YOU YET 21:51:58 :P 21:51:59 -> 21:52:00 lament: no, but the output of classical composition stuff in universities is disappointing because of people like him 21:52:45 madbr: the output of classical composition stuff in universities is disappointing because it's a bad way to teach composition 21:52:51 nothing to do with schonberg 21:53:24 oerjan, hm 21:53:32 -!- Arrogant has joined. 21:53:32 21:51 AnMaster: modern classical music just sounds utterly silly <-- considering your general reaction to these things, 'classical' can be omitted for you. 21:53:49 ehird, what I was talking about the word... 21:53:51 madbr: as i understand it, academical classical composition basically spends years showing you how to compose in the styles of dead people. 21:53:52 not the music 21:54:02 as in the term "modern classical music" 21:54:06 yes, don't let that detract from my joke 21:54:16 lament: probably depends on the place though 21:54:20 ehird, your joke is highly irrelevant 21:54:30 your butt is highly irrelevant. 21:54:32 ehird, Plus I *do* like some modern non-classical music. 21:54:39 AnMaster: actually we seem to have the term (kunstmusikk) 21:54:41 so anyway, it turns out this works in C: 21:54:42 ehird, just you would never believe what 21:54:44 int stk[1]; 21:54:51 gives you an infinite length array 21:54:54 (at global level) 21:54:58 (I knew it worked inside functions0 21:55:07 ehird, for example would you believe I liked Leonard Cohen's earlier works? Or Enya? 21:55:13 Just some examples :P 21:55:18 AnMaster: I wouldn't if you hadn't already said that 50 times in the past. 21:55:25 madbr: not really, i mean, what else can they teach? 21:55:29 ehird, no I haven't 21:55:32 more like 5 21:56:12 what does -fomit-frame-pointer actually do, btw 21:56:46 ehird, it omits the frame pointer register reservation, making back traces impossible, but freeing up a general purpose register for use by the register allocator 21:56:52 ehird, as google could have told you 21:57:01 lament: well, what I've had was "analysis" class where they basically taught classical style, and "composition" where they taught, ahem, "avanced" techniques 21:57:04 21:56 AnMaster: ehird, as google could have told you 21:57:10 don't you see any irony in that? 21:57:16 ehird, yes, I was being ironic 21:57:20 AnMaster: also, google only gives me things like 'Suppress creation of frame pointers on call stack. Frees the EBP register for other uses.' 21:57:21 over you asking in here 21:57:24 madbr: was it all a huge waste of time? 21:57:29 INSTEAD OF GOOGLING WHICH YOU ALWAYS SUGGEST I SHOULD DO 21:57:30 which is patently useless, as I didn't know what the fuck a frame pointer was 21:57:41 CAPS LOCK MAKES YOUR ARGUMENT MORE VALID RAAAAR INTERNET RAGE 21:57:44 ehird, it is used for stuff like back traces 21:57:52 if I ask here, I've already google. 21:57:53 *googled 21:58:09 ehird, to find where the return address is iirc 21:58:16 I'm not 100% sure on details 21:58:20 hmm 21:58:26 globally, where does 'int stk[1]', I wonder? 21:58:30 lament: Depends, not all of it, but I wonder how those people can say they're making music with a straight face :D 21:58:33 It's mutable, so not in one of the .o sections. 21:58:36 The heap? 21:58:40 ehird, what? Grammar? 21:58:48 es 'int stk[1]' go, I 21:58:51 ^ patch 21:58:56 ah right 21:58:58 that I know too 21:59:08 ehird, if you have a global variable like that it goes into the .data section 21:59:11 in the *.o file 21:59:12 well 21:59:13 AnMaster: .data is mutable? 21:59:15 that depends 21:59:19 it may go into .bss 21:59:28 ehird, yes. .rodata isn't 21:59:31 ah 21:59:32 however this is for ELF 21:59:33 oh damnit 21:59:37 madbr: mass insanity, i'm telling you. 21:59:38 -!- oerjan has quit ("Gah tired"). 21:59:38 I don't know about Mach-O 21:59:40 because with {int stk[1]} i'm successfully doing "stk[100] = foo" 21:59:44 which is nice 21:59:45 that foo matcher from before is slower that strstr on long strings 21:59:51 madbr: the past 100 years is kind of the dark age in the history of culture. 22:00:03 madbr: it seems to be mostly over though 22:00:04 ehird, err, that may cause nasal demons 22:00:23 as you probably know 22:00:24 lament: dunno... frankly I wonder if it's a religion or something 22:00:25 to hell with nasal demons, it works well and does what I want ("just put this shit anywhere, man") 22:00:35 if it breaks I accept full responsibility :D 22:00:47 ehird, anyway, doing stk[4097] = foo is less likely to work 22:00:53 depends on how large the data segment is 22:00:57 ah 22:01:03 but since x86 page size is 4096 bytes.. 22:01:05 well, FALSE only guarantees a 20kb stack iirc 22:01:13 seems tied with "postmodernism" (which is like the most concentrated form of that sort of thought) 22:01:14 wait 22:01:15 so I could possibly break it into segments 22:01:21 int is 4 bytes 22:01:22 madbr: mass hysteria - see the dutch tulip mania for a similar example 22:01:22 meaning... 22:01:24 madbr: postmodernism is so stupid. 22:01:25 * AnMaster consiuders 22:01:28 considers* 22:01:34 it would break by 1/4 of that 22:01:36 And with some marxism tied in it 22:01:44 AnMaster: before you're blabbing about this, 22:01:51 ehird, anwyay you are likely to end up overwriting stuff like stdout 22:01:54 keep in mind that my next solution is to put this on the c stack. 22:01:57 With inline asm. 22:02:04 So, you might wanna keep quiet. 22:02:07 ehird, that is the data segment stuff needed by stdio 22:02:10 what are we talking about? 22:02:14 AnMaster: hm. 22:02:16 bsmntbombdood: Evil. 22:02:20 It's like a ball of pseudointellectualism 22:02:34 ehird, just do it the well defined way, it is way less likely to crash 22:02:49 AnMaster: what's the well-defined way to have a global VLA that works in C89 22:03:18 Usually with some french intellectuals 22:03:20 ehird, there is also stuff like __data_start and __dso_handle 22:03:38 ehird, on heap do the 1 variant 22:03:44 and malloc with larger size 22:03:46 it works 22:03:54 Right, I don't want to continually check bounds & realloc 22:03:56 ehird, but you were asking about global/static variables right? 22:04:00 Yes 22:04:07 This is for the global data stack of the language 22:04:09 ehird, even with VLAs you need to check bounds. 22:04:23 C won't do it 22:04:47 I'm fine crashing on that 22:05:21 ehird, also VLAs == on stack. Flexible array members is the thing in C99 structs 22:05:35 yes, I meant VLA in a generic sense 22:06:13 [8221`29184`9336`4`50510`20142`65338`50510`11008`]a:{ allocmem (size-mem) } 22:06:18 somehow I doubt this will work on non-Amiga :D 22:06:26 (i` writes the raw machine code i to the output file) 22:06:32 ehird, then the portable way is probably: mv main.c main.cpp and replace with std::stack>>,...> 22:06:42 ehird, there is no trivial VLA in C 22:06:48 AnMaster: then I'll stick with what I have til it breaks :P 22:06:51 that will work magically 22:06:58 ehird, how large array do you need? 22:07:06 as large as possible. 22:07:16 alloca? 22:07:17 what is your target system? 22:07:21 portable C 22:07:27 no mmap()? 22:07:28 hm 22:07:30 for values of portable limited to the real world 22:07:49 ehird, idea: malloc a huge chunk, if it fails try again with a smaller size 22:07:55 until you find the largest working one 22:08:02 then use it 22:08:03 yeah that'd kill my startup time 22:08:17 well true 22:08:21 what are you doing anyway? 22:08:27 ehird, implement the stack as a linked list, very very slow 22:08:30 bsmntbombdood: writing a FALSE compiler, since fizzie did 22:08:32 AnMaster: urg 22:08:34 what's false? 22:08:47 and use mmap 22:08:54 http://strlen.com/false/ 22:08:56 because it will only allocate when you write 22:08:57 bsmntbombdood, he said portable C... 22:08:57 duh 22:08:58 old esolang 22:09:05 ehird, also did you say compiler? 22:09:08 so you generate ASM? 22:09:09 AnMaster: fuck non posix 22:09:17 "The doctors did what had to be done: save the life of a girl of nine years old,'' he said, adding that "in this case, the medical profession was more right than the church.'' 22:09:18 ehird, then just use the system stack 22:09:20 AnMaster: I generate C. But I'm adding an asm backend after this, the C is just to check it worked. 22:09:23 ehird, in the compiled program 22:09:25 erm 22:09:27 Wrong channel 22:09:29 ehird, wait a sec.... 22:09:31 I have an idea 22:09:34 AnMaster: I'm calling c functions 22:09:38 so using the c stack would fail badly 22:09:42 dammit 22:09:43 brk(), sbrk(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 22:09:45 :/ 22:09:49 heh 22:10:07 ehird, it would allow you to use the C stack however 22:10:10 wait 22:10:15 C heap* 22:10:18 in an easy way 22:10:25 ehird, just make sure to never malloc anything else 22:10:25 i don't understand the problem here 22:10:29 I'm just doing int stk[1] until I get an overflow. 22:10:39 ehird, you are going to get memory corruption 22:10:47 I'll let you know when that happens, then fix it. 22:10:58 ehird, I don't know Mach-O exactly, but on Linux you would hit it after 1-2 pages 22:11:17 hm wait 22:11:24 data segment is *last* 22:11:26 well 22:11:29 apart from .bss 22:11:54 and .bss is for "zero fill at load time" 22:12:03 while .data loads the actual data from the binary 22:12:03 so 22:12:10 you are going to get page faults yes 22:12:23 by writing out into the void of the heap 22:12:24 i thought he wanted portable? 22:12:30 bsmntbombdood, yes 22:12:30 why are you talking about elf? 22:12:41 but his suggestion is even less portable than sbrk() 22:12:47 it is unportable to *EVERYTHING* 22:13:01 $ ulimit -s 22:13:01 8192 22:13:05 .. 22:13:08 an 8 mb stack is enough for anyone 22:13:18 bsmntbombdood, he want to do this on heap anyway 22:13:26 or should at least 22:13:30 i mean, the stack for the program he's running 22:13:36 just malloc 8 megabytes 22:13:36 AnMaster: how many more times do I have to say "I will fix it when it comes up" 22:13:39 before you stop whining about it? 22:13:51 bsmntbombdood: technically, 20kb would be enough. 22:13:57 since that's what the old FALSE used 22:14:08 then what are you on about? 22:14:13 ehird, just one last thing: Likely you are going to get hard to detect corruption first. Only after are you going to segfault 22:14:30 so it may seem to run fine even with your solution while your stack is corrupted 22:14:36 or rather, your heap 22:17:37 ehird, idea: char stack[1024*20]; 22:17:53 no duh. 22:18:07 i really do not understand this discussion 22:18:37 ehird, you could use the C stack, and that would be fastest. But probably you would run out pretty quickly 22:18:50 ehird: AnMaster: how many more times do I have to say "I will fix it when it comes up" 22:18:50 22:13 ehird: before you stop whining about it? 22:19:01 ehird: do it the right wya 22:19:03 hm 22:19:41 ehird, just saying that you _will_ most likely get hard to debug issues. Like memory corruption in libc, or of other variables. Stuff on heap 22:19:52 I would thank you if you hadn't told me 50 goddamn times already!! 22:20:17 ehird, you seem to confuse 50 and 5 a lot 22:20:22 what exactly are you trying to do? 22:20:22 this is the second time today 22:20:30 bsmntbombdood, duh. He said that above. 22:20:41 bsmntbombdood, A FALSE to C compiler 22:21:54 and why is allocating a fixed size stack on the C heap not acceptable? 22:22:26 bsmntbombdood, ask eh ird 22:22:49 go ahead, highlight him, ask it. Don't be shy! 22:22:51 * AnMaster runs 22:22:55 ehird: well? 22:23:07 this is all AnMaster talking, actually 22:23:14 if you want to know something about the warped model he has of my compiler, ask him 22:23:15 eh? no 22:23:26 wrapped memory is fun 22:23:27 :) 22:23:36 (yes I realise that wasn't relevant at all) 22:26:44 wonder if gcc can optimize 22:26:45 *top++ = (int)f0; 22:26:46 *top++ = (int)f1; 22:26:48 x = *--top; y = *--top; 22:26:54 (to x = (int)f0; y = (int)f1; ofc) 22:27:27 ehird, what about modifying top? 22:27:39 AnMaster: top++; top++; --top; --top; 22:27:40 no net effect 22:27:43 well, rather were top points to 22:27:54 wait, what are you talking about? 22:28:06 ehird, gcc still has to write to the location top points to. 22:28:16 no it doesn't 22:28:26 well, it can't know it is a stack 22:28:30 the above is semantically equivalent to x=(int)f0; y=(int)f1; 22:28:37 -!- Arrogant has quit ("Leaving"). 22:28:38 well, hm 22:28:41 yeah, I guess gcc is idiotic 22:28:45 ehird, yes but only because top is the top of a stack 22:28:55 it can't know the values aren't useful to you 22:28:56 above top 22:29:04 so it will probably do it to: 22:29:05 ehird: wright your own optimizer 22:29:07 -!- M0ny has quit ("Quit"). 22:29:16 i'll get wright on it 22:29:25 *BADUM TISHHHHH* 22:29:30 ehird, x = *top = (int)f0; y = *(top+1) = (int)f1; 22:29:32 something like that 22:29:56 right, those two are from separate parts 22:30:02 to merge them would be a pain on the backend 22:30:05 ehird, hm? 22:30:10 *top++ = (int)f0; 22:30:10 *top++ = (int)f1; 22:30:12 and 22:30:15 x = *--top; y = *--top; 22:30:17 right 22:30:18 are generated right after each other 22:30:19 not as one 22:30:49 ehird, generate an IR and then merge the nodes in the graph 22:30:52 no 22:30:58 or something 22:31:02 ehird, why not? 22:31:08 that's a pain :P 22:31:36 well.. 22:31:47 I guess so 22:31:50 ps: 22:31:51 you won't get perfect speed 22:31:52 - if you do not write a flush (ß) at the start of a program that 22:31:52 processes the input to the output, you will get a as 22:31:53 first input: this is actually the commandline. example: 22:31:56 a.out blabla out 22:31:58 then a.out will first read "blabla" as a line, then the contents 22:31:59 of "in". 22:32:02 i hate that. 22:32:12 ehird, oh why? 22:32:24 btw 22:32:28 because I have to convert argv to a space separated string, and then every time I read check if we're done reading argv yet 22:32:28 in what encoding 22:32:29 ? 22:32:33 ... 22:32:34 what do you mean 22:32:42 " if you do not write a flush (ß)" 22:32:49 whatever the amiga used 22:32:49 is that ß as UTF-8? 22:32:52 the original compiler was for the amiga 22:32:55 its implementation defined 22:32:58 hm ok 22:32:59 I handle both utf-8 and iso 22:33:02 the examples use iso 22:33:08 windows style I think 22:33:33 ehird, but do you handle... UTF-EBCDIC?! 22:33:37 yes that exists iirc 22:33:46 no. No I do not. 22:33:54 Patches unwelcome. 22:33:54 http://en.wikipedia.org/wiki/UTF-EBCDIC 22:34:11 it is one of the strangest ideas I have come across 22:34:43 strlen((char *)argv) + argc - 1 /* i so hope this works */ 22:34:48 that is strangest ideas in the charset encoding area 22:34:59 ehird, err 22:35:00 what? 22:35:10 that assumes argv is one argument 22:35:16 oh, right, dammit 22:35:19 that would get string length of argv[0] 22:35:21 that is all 22:35:21 grr 22:35:27 + 22:35:31 char **argv 22:35:36 yes, and 22:35:41 that's why I casted it 22:35:42 ehird, they aren't even after each other in memory 22:35:52 aagh 22:35:57 hate hate hate 22:36:02 wtf is this shit 22:36:03 come on 22:36:10 ehird, why is it so hard to handle? 22:36:19 I mean. cfunge has to handle it. 22:36:19 bsmntbombdood: i'm lazy 22:36:20 :) 22:36:22 And I don't complain 22:36:26 also, I'm not actually asking 22:36:36 wait, I don't need to strdup it there 22:36:38 I think 22:36:42 I'm just whining before fixing it and AnMaster gives a 10 minute response about how he would never complain 22:36:42 * AnMaster considers 22:37:05 * AnMaster goes optimising away a strdup call in cfunge 22:39:42 hmph, stpcpy isn't portable. it should be 22:43:13 stp? 22:44:41 ehird, and nor is strdup() btw 22:45:14 ehird, also I prefer strlcpy 22:45:21 which is *BSD specific 22:48:51 what do you mean strcpy isn't portable? 22:49:00 % ./a.out 22:49:01 a 22:49:02 zsh: bus error ./a.out 22:49:02 CONFORMING TO 22:49:03 SVr4, 4.3BSD, C89, C99. 22:49:04 huray 22:49:09 Yes, but stpcpy is not. 22:49:13 ehird, I told you so 22:49:17 22:44 AnMaster: ehird, and nor is strdup() btw 22:49:20 AnMaster: no, it's not that 22:49:21 stfu 22:49:27 i know this because the stack was EMPTY 22:49:31 hm ok 22:55:40 Someone should work on implementing the ABCDEF language *ducks* 22:56:02 Sgeo, specs? 22:56:18 http://esolangs.org/wiki/Special:Search?search=ABCDEF&go=Go 22:56:22 didn't find anything 22:56:27 http://www.harderweb.de/tmp_jix/allofthem.txt 22:56:33 http://esolangs.org/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory 22:58:56 Sgeo, that is TOO incoherent to be implementable 22:59:33 no it isn't 22:59:44 nothing there is particularly glarly 22:59:46 gnarly 22:59:48 go ahead and implement it then 22:59:55 ehird, what about the GregorR rule? 23:00:02 what about it 23:00:09 it is contradicted 23:00:15 ... no it's not? 23:00:22 those are command definitions. 23:00:27 -!- kar8nga has quit (Remote closed the connection). 23:00:37 oh right 23:02:27 anyway I won't implement it 23:03:31 -!- MizardX has quit ("kåmpjuter köttdaon"). 23:03:49 -!- MizardX has joined. 23:05:22 2. [S] [dest_var,] [n_var,] m_var 23:05:22 calculates the arm data op of n_var and m_var storing the result in dest_var (treating them all as 33 bit registers) 23:05:25 flags get stored when S is set (like on a real arm) 23:05:27 i love that bit 23:07:21 ehird, can't find it in FALSE spec? 23:07:39 oh talking about ABCDEF? 23:10:23 ß (alt-s)--ß{ flush() } 23:10:25 hm 23:10:27 almost 23:10:30 AltGr-s 23:10:32 makes that here 23:10:39 night 23:16:18 -!- tombom has quit ("Peace and Protection 4.22.2"). 23:19:22 Why is it always "Illegal type in constant pool"? And why can't it give the constant pool index with the supposedly illegal type while it's at it. 23:31:28 That static-analysis bytecode verifier is not liking my stuff. "Expecting to find object/array on stack". 23:33:27 fizzie, language? 23:33:36 Uh, Java? 23:33:42 ah ok 23:33:45 Well, False, in a way. 23:33:48 night really 23:36:38 Ha! The power of open sores: gij-4.3's version of that same error includes also the location: java.lang.VerifyError: verification failed at PC 10 in JVMFalse:main((Lfi.zem.jvmfalse.FalseIO;)V): incompatible type on stack 23:40:03 Next up: VerifyError: Inconsistent stack height 2 != 3. I have a feeling using the jvm operand stack as the False stack won't really work, since the VM is so really intensely boring about what kind of code it wants. 23:42:33 Yes, it complains at the jump-table spot of the code, which is indeed entered with various stack depths. Meh. It sounds like an unfixable restriction. I mean sure, I could use some explicit stack object and push/pop method invocations, but it sounds really boring. (And optimize by using the operand stack inside basic blocks. But that's just boringly boring.) 23:44:25 Yes, it's there in the "4.8.2 Structural constants" of the Java VM specification: "If an instruction can be executed along several different execution paths, the operand stack must have the same depth (§3.6.2) prior to the execution of the instruction, regardless of the path taken." 23:44:34 what are we talking about? 23:45:10 I have this compiler (maybe too fine a word) which translates False into Java VM bytecode, and it uses the Java VM's operand stack as the False stack. 23:46:15 But the VM has these all kinds of silly restrictions; I can't really require that the False stack depth is always the same for a particular instruction, since it wouldn't make sense at all. 23:47:47 Wow, writing that "compiler" was one rather colossal waste of time. 23:56:16 Great, a bus error. 23:56:20 Programmer got hit by a bus.