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