00:13:36 -!- jix__ has joined.
00:22:55 -!- jix has quit (Read error: 110 (Connection timed out)).
00:31:25 -!- Pikhq has joined.
00:52:20 * Pikhq is done with his open-computer surgery for now. . .
00:58:51 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
01:44:45 -!- CakeProphet has joined.
02:55:34 <Pikhq> It does. And if somebody would care to help out the GNU system maintainer, it would even *be* nice.
02:56:04 <Pikhq> (ams, in #natter and ##hurd. . . Ironically, in spite of being GNU maintainer, he's banned from #gnu)
03:00:02 <lament> Pikhq: must be a complete asshole?
03:03:52 <Pikhq> Nope. The channel owner kicked out a lot of the ops.
03:11:18 <sekhmet> zomg, ams isn't in #gnu anymore?
03:11:34 <sekhmet> <snarky>That channel might be tolerable now, then</snarky>
03:12:07 <sekhmet> </talking_about_strangers_from_irc_behind_their_backs>
03:50:30 -!- digital_me has quit ("leaving").
03:58:57 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
04:03:27 -!- GregorR has joined.
04:18:05 -!- EgoBot has quit (zelazny.freenode.net irc.freenode.net).
04:18:05 -!- SimonRC has quit (zelazny.freenode.net irc.freenode.net).
04:18:08 -!- SimonRC has joined.
04:19:29 -!- SimonRC has quit (zelazny.freenode.net irc.freenode.net).
04:19:29 -!- sekhmet has quit (zelazny.freenode.net irc.freenode.net).
04:23:09 -!- SimonRC has joined.
04:23:33 -!- clog has joined.
04:23:33 -!- clog has joined.
04:23:36 -!- Izzy7 has joined.
04:24:30 -!- sekhmet has joined.
04:27:03 -!- mtve has joined.
05:41:22 -!- GreaseMonkey has joined.
05:43:28 -!- sebbu2 has changed nick to sebbu.
05:53:19 <GregorR> Is anyone anywhere any good with Lazy K? ^^
05:54:19 <GreaseMonkey> k, cos i've made a SKI parser and I think it might be like Lazy K without output :\
05:56:23 <lament> well, if it's a lazy ski parser, then yes, it is.
05:56:32 <bsmntbombdood> lazy K is just a few combinator languages put together isn't it?
06:08:33 <GreaseMonkey> i made a ski parser at 2 levels: level 1 = lazy evaluation, level 2 = parse brackets when they're being evaluated on
06:08:57 <GreaseMonkey> level 2 is for getting a really good evaluation and it allows SII(SII) to not crash the program
06:17:31 -!- CakeProphet has quit ("haaaaaaaaaa").
07:23:06 -!- oerjan has joined.
07:24:27 <oerjan> GreaseMonkey: I pondered a bit how you could implement Lazy K such as to memorize fixpoints.
07:27:09 <oerjan> i think it would require something like your level 2, plus memorizing the result of XX functions with X.
07:29:40 <oerjan> problem is SIIX -> X(IX), so it needs to simplify the I away before knowing if IX will be evaluated.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:47 <GreaseMonkey> there is also "Level 3" parsing which my parser cannot parse (evaluate brackets from the top-down)
08:05:43 <oerjan> another option i thought of was to recognize the term SII and treat it specially.
09:11:19 -!- oerjan has quit ("leaving").
11:11:34 -!- GreaseMonkey has quit ("If they can not go and en-force the damn law / This new law com-ing up will make them look so poor / So if it's been bad, jus).
12:30:38 -!- helios24 has quit ("leaving").
13:12:11 -!- bsmnt_bot has quit (Read error: 145 (Connection timed out)).
13:20:26 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
14:23:59 -!- Sgeo has joined.
15:25:24 -!- jix__ has joined.
16:18:39 -!- Sgeo has quit ("Ex-Chat").
16:19:18 -!- Sgeo has joined.
16:32:16 -!- Feuermonster has joined.
16:42:57 <Feuermonster> I made a new esoteric language with only one instruction: 0
16:43:23 <Feuermonster> It may print hello, world. But It may do something else.
17:15:17 -!- jix__ has changed nick to jix.
17:20:02 <Feuermonster> http://clonkturm.cl.ohost.de/OIIEFAVGEL.exe <- Interpreter for windows.
17:20:21 <Feuermonster> You can write some 0 in the TexBox and click NULL it.
17:24:43 <SimonRC> do you have the source around?
18:00:08 <Sgeo> um.. that doesn't look like C++
18:06:06 <SimonRC> who said anything about C++?
18:06:19 <Sgeo> "Pasted as C++"
18:07:44 <Sgeo> Yes, but whoever pasted it pasted it as C++
18:36:55 -!- oerjan has joined.
18:53:24 <Pikhq> Feuermonster: Why VB?
18:53:39 <Pikhq> That's probably more esoteric than OISC.
18:54:52 <oerjan> i read somewhere that Visual Basic is the most widely used programming language.
18:56:39 <Pikhq> Fine. It's *worthy* of being called esoteric.
18:57:24 -!- sebbu2 has joined.
18:58:06 <Pikhq> It's perhaps the most disgusting language I know of.
18:58:29 <Pikhq> And I do Brainfuck in my free time.
19:00:27 <Feuermonster> Nearly every esoteric language is easier to learn than C++.
19:01:52 <Pikhq> That's because C++ is more powerful.
19:02:13 <Feuermonster> No. It's because, you need to include headers.
19:02:35 <Pikhq> That's perhaps the easiest thing about C++.
19:02:46 <Pikhq> #include <string.h>
19:03:00 <Pikhq> Can now that you've got string.h
19:03:10 <Feuermonster> you need something like if (!(foo.Find("foo") = std::npos))
19:03:30 <oerjan> the fact that nearly no esoteric language has a proper module system is not necessarily positive.
19:03:53 <oerjan> incidentally, Pikhq's BFM comes to mind as one that does have include.
19:04:43 <Pikhq> Yeah; it's fairly weird even for an esolang.
19:05:04 -!- sebbu has quit (Read error: 60 (Operation timed out)).
19:06:12 <Pikhq> Also, I fail to see what's so hard about if(foo.find("foo") != std::npos)
19:06:36 <Feuermonster> You need a lot of lines just to make if(foo.Contain("foo")) Then foo = foo.Replace("foo","fooo) in C++
19:06:40 <Pikhq> Fine, fine. It'd be easier if foo.find was declared to return the unsigned 0 instead of the unsigned std::npos. . .
19:07:45 <oerjan> but what does it return for a match at the beginning of the string?
19:08:24 * oerjan doesn't know c++ but if it returns position then that would be 0 too
19:08:35 <oklopol> you should do like php and have not finding it return false and the first index 0 and have an implicit conversion between false and 0
19:08:46 <Pikhq> Ah. Yeah, that'd be why.
19:08:48 <oklopol> i think that's pretty clever.
19:09:08 <Pikhq> C++ gets a Cism for true and false. . .
19:09:26 <oerjan> but requires dynamic typing. or Haskell Maybe types.
19:10:51 <oerjan> lookup :: Eq a => a -> [(a,b)] -> Maybe b
19:13:38 -!- bsmntbombdood has joined.
19:17:18 <Feuermonster> Anyway, I wouldnt know, how to write OIIEFAVGEL in C++
19:21:06 <Feuermonster> OIIEFAVGEL = one instruction is enough for a very good esoteric language
19:21:28 -!- sebbu2 has changed nick to sebbu.
19:21:43 -!- jix__ has joined.
19:28:42 <oerjan> um, you don't need Randomize _inside_ the loop.
19:29:19 <oerjan> and you miss a Dim for var.
19:30:34 -!- jix has quit (Read error: 113 (No route to host)).
19:31:46 <Pikhq> What is there to parse?!?
19:32:02 <Pikhq> I could store OIEFAVGEL code within an int!
19:32:19 <Pikhq> int parsed_code=code.size();
19:32:21 * oerjan doesn't get all the people who call nearly their entire interpreters "the parser"
19:32:59 <Pikhq> Surely a parser just lets you get at the individual nodes and all that so that your compiler can do stuff with it?
19:34:28 <oerjan> i think i would call that thing "the main interpreter loop"
19:34:56 <Feuermonster> in OIIEFAVGEL there is only one valid character: 0
19:34:59 <oerjan> being essentially a repl sort of thing
19:37:15 <Pikhq> My parser for your language. . .
19:37:24 <Feuermonster> It's just a "joke language". You cant make any "good" Programms with OIIEFAVGEL.
19:38:40 <Pikhq> while(i!=string::npos) {i = code.find(i, 1, "0"); newcode += 0;}
19:39:17 <Pikhq> See? Damned simple to parse.
19:40:04 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
19:40:08 <Pikhq> It gets you a string called newcode which has each char as a node.
19:40:24 <Pikhq> That's all a parser does: in goes code, out goes parsed nodes.
19:40:56 <Pikhq> And the interpreter? while(i!=newcode.size()) {do_interp();i++}
19:41:09 <Pikhq> (where do_interp randomly selects an operation to perform)
19:41:29 <oerjan> pikhq: you are forgetting the parser error message
19:41:40 <Pikhq> oerjan: Right. . .
19:42:26 <Pikhq> if(i == 0){error("ERROR: couldn't find \"0\" in" << code);}
19:43:15 <Pikhq> (in C++, I regularly define a macro "error" as: #define error(x) {cerr << x << endl;exit(1);}
20:28:51 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
21:13:16 * SimonRC wonders what the proper way to uninstall per-user software is
21:23:46 <oklopol> http://www.vjn.fi/s/Ulimon.mp3 hope you like my music
21:24:41 -!- Feuermonster has quit.
21:28:27 <oklopol> it was a 5 minute project, but i kinda... you know... it's great <3
21:28:37 <SimonRC> It;s a load of random noises
21:29:28 * SimonRC listens to some the other mp3s
21:29:46 <SimonRC> wtf is "black.mp3"? I needs a video
21:30:07 <GregorR> http://www.codu.org/Kill_Yourself.ogg
21:30:44 <SimonRC> Just how did you generate brainfuck.mp3? It is some kind of trace, or the output of one?
21:30:56 <oklopol> http://www.vjn.fi/s/brainfuck.mp3 ?
21:31:34 <oklopol> also, a program of mine that creates random melodies
21:31:38 <SimonRC> Oh, I thought you might have derived it from a running Brainfuck program somehow
21:31:57 <oklopol> yeah... i wish it had something to do with brainfuck
21:32:21 <oklopol> i made a bf interpreter with output going into a mid file that's played when the program terminates
21:32:38 <oklopol> but it turned out i only managed to create square and saw
21:33:12 * Pikhq should play around with BFaudio a bit. . .
21:33:41 <oklopol> i thought i'd make it mid output, but i had the wav one finished by then
21:34:46 <SimonRC> ISTR a story about an old (big) computer that created a load of radio noise. If you tuned a radio to the right frequency, you could hear the program running, and with practice tell which part of which program it was, and if it had crashed.
21:35:16 <GregorR> Well, the ENIAC was used to play music, everybody knows that story :)
21:35:20 <Pikhq> It's a program that converts raw audio to Brainfuck code to output that.
21:35:21 <SimonRC> I find that I can hear webpages loading (on my earphones) if there is no other sound playing.
21:35:25 <Pikhq> GregorR: No, I don't. . .
21:36:08 * SimonRC wonders what the best way to derive sound from a running brainfuck program would be.
21:36:19 <SimonRC> i.e. what would give the best effect?
21:36:37 <SimonRC> Something like CHOON might work.
21:36:44 <oklopol> 8 commands... 8 notes in a scale
21:37:10 <SimonRC> (I find the CHOON division program result quite musical actually.)
21:37:22 <SimonRC> you would want 44k instr/sec, usually
21:37:38 <oklopol> okay.. so byte per instruction
21:37:46 * GregorR thinks that doing 8 commands->8 notes is a bad idea.
21:37:48 <SimonRC> Argh! This mp3 has an inaudible sound that makes my sinu hurt, at the end!
21:37:56 <GregorR> Representing the tape is probably a bad idea.
21:38:03 <GregorR> Representing the tape is probably a better idea.
21:38:18 <SimonRC> nah, it only changes a little at a time...
21:38:44 <oklopol> if you want to be able to know where you are in the program then just have it tell you that...
21:38:56 <SimonRC> unless, you set the output amplitude to be the current byte on the tape at each instruction...
21:39:15 <SimonRC> moving over stacks and the like would produce a cool noise
21:40:09 -!- oerjan has quit ("beep beep beep beep").
21:40:12 <oklopol> prolly not, since you can't produce > 170 hZ
21:40:19 <oklopol> actually of course you can
21:42:14 <oklopol> ++++++++[>++++++++<-]>[<>] will start producing ~16000 or 11025 depending on [] management
21:45:50 <bsmntbombdood> no, it would be whatever the instruction execution rate was
21:47:03 <Pikhq> bsmntbombdood: You forget output.
21:47:18 <oklopol> Pikhq: each cycle the current value is output
21:47:34 <Pikhq> Um, that's not BFaudio, then.
21:47:54 <oklopol> plus, it's not as fast as mine
21:48:03 <Pikhq> BFaudio outputs raw audio for /dev/dsp via stdout. ;)
21:48:17 <Pikhq> (it could be made better if PESOIX were implemented)
21:48:19 <oklopol> plus it's amplitude is so small even a monkey couldn't hear it
21:48:27 <SimonRC> ouch! infinite makefile recursion!....
21:48:38 <SimonRC> the "clean" rule includes the line:
21:48:59 <SimonRC> but the dir gc doesn;t exist (broken symlink)
21:49:10 <Pikhq> $(MAKE) -c gc clean
21:49:10 <GregorR> That's not particularly bad style.
21:49:28 <Pikhq> It's bad style for exactly the error SimonRC is getting.
21:49:48 <GregorR> Pikhq: I mean that make -C hasn't always existed :)
21:50:17 <Pikhq> There's a *reason* it exists now. ;)
21:52:14 <SimonRC> Dear writers of Joy. Please distrubute the *contents* of directories, not broken symlinks to them. Love Simon.
21:52:47 <GregorR> What's really bad is that automake by default creates all the necessary automake scripts with symlinks rather than copies.
21:53:20 <GregorR> So people will use automake without -c and distribute utterly broken tarballs with symlinks to nonexisting files :)
21:53:59 <SimonRC> Oh thats a load of fucking use(!) Theier bugfix page gives me a 404.
22:08:57 <SimonRC> "installer" and "suprise" are not generally two words you want to go togther.
22:18:37 <fizzie> What -- you want people to be _bored_ with their installers?
22:19:18 <GregorR> CONGRATULATIONS! You're the 100th person to install this software! So I'm reformatting your hard drive!
22:51:08 <SimonRC> this "factor" thin glooks interesting. Quite why the heck the installer spends several seconds doing things like "Compiling *" I don't know.
22:53:10 <Pikhq> GregorR: ERROR: fsck not found in path
22:56:30 <Pikhq> GregorR: Where's the latest EgoBF?
22:56:51 <Pikhq> Not the one on esolangs.org, since I know that you've touched it since 2005?
23:08:24 <GregorR> I haven't touched it since 2005.
23:09:08 <Pikhq> I remember you doing a minor bug fix last year.
23:09:21 <GregorR> ... I don't remember that ^^
23:09:30 <GregorR> I can't check right now, I'm on my way out.
23:09:35 <Pikhq> Something about the compiler outputting borken code.
23:12:33 <SimonRC> hmm, I think I am begining to like Forth.
23:13:01 <SimonRC> I thought "What might the word be to print a newline?", gueesed it was "nl", and I was right!
23:13:15 <oklopol> i think i should stop listening to ulimon.mp3
23:13:18 <SimonRC> then similarly for "flush" being the command to flush stdout
23:14:56 <oklopol> http://www.vjn.fi/s/Ulimon.mp3 << this one
23:15:59 <oklopol> you're right, no reason to stop
23:16:02 <SimonRC> I like http://lemondemon.com/lemondemon/Word%20Disassociation.mp3 (plug, plug)
23:16:18 <SimonRC> I mean, why are you listening to it at *all*?
23:18:58 <oklopol> that piece is not really interesting
23:19:46 <oklopol> well, i admit the base chord in the chorus being both major and minor alternatively is kinda cool
23:20:34 <oklopol> but otherwise it's just loop and ancient chord ...something
23:20:48 <oklopol> it seems i have no vocabulary for discussing music in english
23:22:26 <oklopol> the whole day i've been trying to get a guy to understand c does not have the perfect syntax
23:24:17 <oklopol> he wants a scripting language for his os, i agreed to make it, so i design this cool syntax... and suddenly he says he's got the spec ready and sends me a text file with half of c syntax specified so bad i didn't even understand it was a spec at first
23:29:38 <Pikhq> sexps are the ultimate syntax. ;)
23:30:35 <oklopol> anything else is just syntactic sugar over it
23:31:39 <oklopol> SimonRC: i'm pretty sure you don't like it because you don't understand the lyrics, they are very important
23:34:24 <oklopol> they were generated by translating back and forth with babelfish
23:34:56 <oklopol> so it's random and plagiated at the same time
23:39:36 <fizzie> 1. plagiarize, plagiarise, lift -- (take without referencing from someone else's writing or speech; of intellectual property)
23:39:50 <fizzie> You evil intellectual property stealer, you.
23:40:32 <oklopol> babelfish did it, i was but a goon.