←2007-07-17 2007-07-18 2007-07-19→ ↑2007 ↑all
00:02:38 <Figs> you guys are going to hate me :)
00:02:46 <Figs> when you try to figure wtf this does
00:03:28 <pikhq> Quine.
00:04:09 <pikhq> (just a guess from reading it
00:04:10 <pikhq> )
00:04:34 <Figs> NO
00:04:36 <Figs> :)
00:04:38 <oerjan> Two iterating quines that turn to each other, and are also rot13 of each other
00:04:46 <pikhq> "Hello world!" according to g++.
00:04:51 <pikhq> Also, you suck at coding.
00:04:55 <Figs> who, me?
00:04:57 <oklopol> pikhq: that's mine
00:04:59 <oklopol> and very old.
00:05:02 <oklopol> and why?
00:05:09 <Figs> I'm writing mine still
00:05:13 <pikhq> Because you use an old-style C++ header. :p
00:05:34 <oklopol> lol
00:05:36 <oerjan> it's _extremely_ old :)
00:05:41 <oklopol> very crucial in being a good coder
00:05:43 <pikhq> Also, you've got a comparison that's always true.
00:06:10 <oklopol> pikhq: yes, there are also simple obfuscations there
00:06:42 <oklopol> the first "for" is very trivial to hack up
00:06:50 <oklopol> it's the while i actually obfuscated
00:06:56 <pikhq> I is always greater than 0.
00:07:16 <oklopol> pikhq: yes, you can most likely do some deobfuscating just by looking at it
00:07:34 <pikhq> Actually, I'm busy adding to the obfuscation.
00:07:49 <oklopol> you are adding obfuscation to that?
00:07:58 <oklopol> or..?
00:08:17 <pikhq> "1"
00:08:32 <pikhq> Err.
00:08:32 <pikhq> "i>=0" can be replaced with just "1".
00:08:34 <oklopol> you can just take the obfuscation of the "for" outta there, i just added it there in 5 min for perfecting it
00:08:54 <oklopol> pikhq: do you read what i say?
00:09:10 <pikhq> oklopol: That was in the "hwile" loop.
00:09:39 <oklopol> pikhq: sorry, didn't know i use i there
00:10:25 <oklopol> anyway, you can of course replace everything with a cout<<"hello world"
00:10:57 <oklopol> but if you can do that manually in the while loop, that's something
00:10:59 <oklopol> in my standards
00:11:28 <oklopol> most things on the net are much simpler to deobfuscate than that
00:12:37 <pikhq> I can replace the "cout" line with puts(), allowing you to not use a header. . . And now I think it's also valid C. . .
00:13:35 <oklokok> cool
00:14:03 <oklokok> that's just c obfuscation anyway
00:14:13 <oklokok> i should do a real obfuscation sometime
00:14:25 <oklokok> something sick
00:14:26 <oklokok> uh
00:14:35 <pikhq> And I'm tempted to redo your loops via labels.
00:14:56 <oklokok> hehe
00:15:13 <Figs> :P
00:15:27 <oklokok> http://www.vjn.fi/pb/p211131112.txt <<< loops being used when obfuscating often result in there actually being no obfuscation present...
00:16:06 <oklokok> that being an example of that
00:16:37 <oklokok> the problem with obfuscation is that stuff like that make code look just as obfuscated as actual complicated obfuscation
00:18:49 <pikhq> Obvious solution: obfuscated Perl.
00:18:53 <pikhq> Compiled to C.
00:19:59 <oklopol> perl seems to allow for a quite big range of obfuscation
00:20:10 <oklopol> too bad i don't have a perl compiler and won't dl one :|
00:50:25 -!- oerjan has quit ("leaving").
01:13:47 <SimonRC> zzzzzzzzzz
01:23:32 <Figs> hehehe, this will be good!
01:31:09 -!- Tritonio has quit ("Bye...").
01:40:55 <Figs> OMFG
01:40:56 <Figs> it works :D
02:01:48 <Figs> you guys will like this when I finish
02:29:51 <oklopol> coool
02:30:13 <Figs> wooh! almost there
02:30:19 <Figs> one more block to write
02:30:21 <Figs> and it will be done
02:30:28 <Figs> (then I have to clean it)
02:30:47 <Figs> it sure takes a while to compile though :P
02:38:40 <Figs> hehe
02:38:42 <Figs> testing it
02:38:45 <Figs> I think it's done
02:38:51 <Figs> I'll know shortly...
02:48:07 <Figs> http://rafb.net/p/C7WE8x61.html
02:48:11 <Figs> MUAHAHAHAHA!!!!!
02:49:01 <Figs> so? is it _evil_?
03:06:36 <oklokok> i'll see
03:07:47 <oklokok> pretty cool :)
03:07:56 <oklokok> hmm... how do the _'s work?
03:29:59 <bsmntbombdood> why is the equivalence of two turing machines incomputable?
03:33:17 <Figs> :D
03:33:33 <Figs> bsmnt, I assume it has to do with the halting problem
03:33:40 <Figs> anyway I was afk oklokok
03:34:06 <Figs> it's all templates :D
03:36:05 <Figs> which _'s, oklo
03:36:13 <Figs> there are several different uses :P
03:38:45 <oklopol> hmm, i mean you're not defining all the identifiers of /_+/ you are using
03:43:44 <bsmntbombdood> Figs: yes, but i don't know how
03:45:10 <oklopol> bsmntbombdood: i guess they're equal if they produce the same output... and proving that incomputable is pretty easy
03:45:23 <bsmntbombdood> how?
03:45:58 <oklopol> hmm
03:46:04 <oklopol> actually i'm not sure after all
03:46:24 <oklopol> guess they may never terminate
03:46:50 <oklopol> so even if they produce the same output for any n steps, they might differ at some point
03:47:00 <oklopol> i mean, the output might differ
03:47:36 <bsmntbombdood> that's only if you do it the brute force way
03:47:45 <oklopol> err
03:47:58 <oklopol> with turing machines it's always the brute force way
03:48:02 <oklopol> basically
03:48:37 <oklopol> you can't predict what they will do
03:49:04 <bsmntbombdood> ?
03:49:32 <oklopol> if you could just check if they will ever terminate, you'd solve the halting problem... and if you can't do that, there can be two programs that will produce the same output for any number of steps you run them and then differ in output after that
03:50:30 <oklopol> in other words: try to deobfuscate my incoherent explanation or just ask oerjan for proof.
03:54:03 <Figs> back
03:54:08 <Figs> sorry
03:54:12 <Figs> uncle's visiting
03:54:31 <oklopol> you and your social contacts
03:54:51 <Figs> :P
03:55:05 <Figs> so you wanted to know how it works without trying to deobfuscate it yourself? :P
03:55:09 <oklopol> today (well, night, i slept all day) i've seen 3 rabbits.
03:55:20 <oklopol> Figs: err... yes :)
03:55:31 <Figs> rofl
03:55:32 <Figs> :D
03:55:44 <oklopol> i'm lazy, you should honor that :<
03:55:47 <Figs> it's convincingly fucked up though, no? :P
03:55:57 <Figs> did you ever get around to playing my song...? :P
03:55:58 <oklopol> uh i love the templates
03:56:07 <oklopol> ...oh fuck... i'll dl it now xD
03:56:53 <oklopol> found el linco.
03:57:06 <Figs> :D
03:59:48 <Figs> ok, basically it works by using the macros to generate statements for characters
04:00:01 <Figs> __ ___ ____.... are different structs
04:00:49 <oklopol> i thought it might be so, seems i don't know enough about preprocessor macros
04:01:11 <Figs> I did some evil shit :)
04:02:15 <oklopol> hmm, i'm putting coke bottles behind my back, and they are dissappearing into my armchair
04:02:25 <Figs> lol
04:02:35 <Figs> I feel evil
04:02:42 <oklopol> heh
04:06:54 <oklopol> zip zop.
04:07:55 <oklopol> nothing to eat but pure condensed chocolade
04:12:05 <Figs> O.o
04:12:08 <Figs> send me some? :P
04:13:12 <oklopol> i could bring it to you but i'm pretty poor right now
04:14:27 <oklopol> just a few pieces left
04:14:32 <oklopol> after that it's fast for me
04:14:38 <Figs> :P
04:14:45 <Figs> did you try my song? :P
04:15:08 <oklopol> well i guess i still have 10 euros, but i'm not awake when shops are awake so doesn't help that much
04:15:10 <oklopol> err
04:15:17 <oklopol> my memory is a bit short-term...
04:15:20 <oklopol> i'll try now
04:15:45 <Figs> :P
04:15:46 <Figs> ok
04:15:50 <oklopol> eh, it's still loading the page... and i opened it like 5 min ago
04:15:58 <Figs> ... o.o
04:16:19 <oklopol> okay, refresh okayed it
04:17:48 <oklopol> what's the best way to parse arithmetic expressions with left-to-rigth evaluation? i'm reversing and doing it recursive to avoid left recursion's perils, but i somehow feel there's a better way...
04:18:16 <oklopol> i did it iteratively in java once but that was pretty complex
04:18:35 <Figs> I'm working on that :P
04:18:43 <oklopol> of course java tends to start looking pretty complex quite easily
04:18:58 <Figs> you saw my obfuscated C++, right? :P
04:19:08 <oklopol> err.. the one with _'s?
04:19:16 <oklopol> and templates
04:19:29 <oklopol> is that a part of your regex thingie? :D
04:20:26 <Figs> no
04:20:37 <Figs> but I could slip it in there and scare people
04:20:44 <oklopol> i saw it, i also commented it
04:20:45 <oklopol> heh
04:20:50 <Figs> yes ;)
04:20:52 <oklopol> you should obfuscate all of it
04:20:53 <Figs> I was joking
04:21:09 <oklopol> ah indeed
04:22:33 <oklopol> are there any good obfuscated open source lisenses around?
04:22:41 <Figs> haha
04:22:43 <Figs> probably
04:22:45 <oklopol> :D
04:22:48 <Figs> but I bet they scare people
04:40:39 * pikhq curses friggin' loudly
04:41:01 <Figs> hi pikhq
04:41:05 * oklopol too, someone please fix my back...
04:41:06 <bsmntbombdood> 10-4
04:41:15 * bsmntbombdood licks oklopol's back
04:41:18 <pikhq> Next HP book leaked.
04:41:21 <Figs> yes
04:41:23 <Figs> I know
04:41:24 <Figs> :P
04:41:32 * oklopol doesn't like people sneaking on his back
04:41:35 <Figs> pikhq, you looked at my code, didn't you? :P
04:41:48 <Figs> I can't remember
04:41:49 <oklopol> a licking is always in order of course
04:41:49 <pikhq> Damn it! I show up to the release at midnight to *avoid* spoilers!!!
04:41:51 <bsmntbombdood> pikhq: old!
04:42:07 <Figs> it's been out for a couple days, afaict
04:42:17 -!- immibis has joined.
04:42:26 <pikhq> Then I should've been flipping off people for a couple of days.
04:42:57 <Figs> :P
04:42:59 <Figs> yes
04:43:07 <immibis> hello everyone
04:43:09 <Figs> flip off the idiot who uploaded it with his camera's serial number
04:43:12 <Figs> hi immibis
04:43:49 <oklopol> hi immibis
04:44:01 <Figs> is there an obfuscated C++ contest?
04:44:09 <pikhq> Figs: That's the first person to flip off, yes.
04:44:32 <Figs> oh, and pikhq, flip off the idiot on Digg who's claiming to have uploaded it
04:44:35 <pikhq> And no, but there's probably a space for you in the C contests, via a C++>C compiler.
04:44:44 <pikhq> Figs: He's up there.
04:44:48 <Figs> I'm usint templates :P
04:44:50 <Figs> *using templates
04:45:01 <Figs> it's the primary tactic
04:45:16 <Figs> I don't know if it'd be much good without templates
04:45:24 <oklopol> Figs: you might weanna perfect the visual structure
04:45:49 <Figs> it could look nicer :P
04:45:52 <oklopol> most of the entries also have a nice layout
04:46:02 <Figs> but
04:46:10 <pikhq> Templates, compiled, are name-mangled fairly well.
04:46:11 <Figs> it's still just as hard to read as is :P
04:46:23 <Figs> pikhq, have you seen my code? :P
04:46:37 <Figs> http://rafb.net/p/C7WE8x61.html
04:46:40 <immibis> #define Q int #define X main( #define Y int argc,unsigned long argv #define Z ) { #define A); } #define YAH printf( #define ERROR_CODE "I don't know if there is an obfuscated C++ contest." Q X Y Z YAH ERROR_CODE A
04:46:52 <immibis> (in response to figs question)
04:46:54 <oklopol> Figs: layout is not about being hard to read, but to make it seem more intact
04:47:08 <Figs> :P
04:47:21 <Figs> eh... I'd have prefered one really long template
04:47:23 <immibis> !help
04:47:24 <oklopol> intact as in having a certain theme going
04:47:29 <Figs> but it was easier to assemble
04:47:30 <pikhq> I get the feeling that you know the template system. . .
04:47:36 <Figs> I do.
04:48:17 <oklopol> Figs: there's a nice pdf somewhere about how to make turing machines with templates
04:48:22 <Figs> yeah
04:48:25 <immibis> class MessagePrinter<class T> {public: MessagePrinter(unsigned long nCashReserves) {printf("%s\n",(char*)nCashR
04:48:28 <oklopol> though i'm not sure you'd find that helpful
04:48:29 <Figs> I think I pasted it here before
04:48:32 <oklopol> ah
04:48:34 <oklopol> well
04:48:38 <oklopol> i should've known
04:48:51 <Figs> it was the one where they showed templates were turing complete by doing math or something in them
04:48:52 <immibis> oops
04:48:58 <oklopol> since i remember it was that same night i read it that you showed your c++ stuff
04:49:07 -!- toBogE has joined.
04:49:15 <toBogE> !help
04:49:27 <immibis> oh and gregorr, egobot crashed
04:49:28 <oklopol> hey, i could listen to the song now...
04:49:53 <Figs> ?
04:49:54 <toBogE> No such factoid
04:50:13 <immibis> ?
04:50:13 <toBogE> ?
04:50:24 <oklopol> Figs: your teh song.
04:50:32 <toBogE> I agree
04:50:42 <Figs> I thought you were going to play it on the piano :P
04:50:45 <Figs> (and record it) :P
04:50:54 <toBogE> Oh yeah, what is it with figs and pianos
04:50:59 <immibis> shut up, toboge
04:51:28 <Figs> What? :P I like pianos. And the song is for piano.
04:51:31 <oklopol> Figs: i don't remember it anymore :)
04:51:37 <Figs> lol, ok
04:51:50 <oklopol> hmm... vlc doesn't play midis...
04:51:56 <oklopol> my linux vlc that is
04:51:57 <toBogE> !daemon undaemon undaemon daemon
04:51:59 <Figs> that is disappointing
04:52:05 <bsmntbombdood> (vector (vector (vector 'a) (vector 'b)) (vector (vector 'c) (vector 'd)))
04:52:17 -!- toBogE has left (?).
04:52:18 <oklopol> and i'm watching family guy on my other computer... god i need more computers
04:52:23 <oklopol> how many do you have?
04:52:30 <Figs> I think I have 7
04:52:35 <Figs> but most are dead
04:52:37 <oklopol> i mean, in use now
04:52:39 <Figs> and they aren't mine
04:52:43 <Figs> :P
04:52:45 <Figs> I just use one
04:52:48 <immibis> bsmntbombdood: what is (vector (vector (vector 'a) (vector 'b)) (vector (vector 'c) (vector 'd)))?
04:52:50 <Figs> but we have a lot here
04:53:00 <bsmntbombdood> immibis: a vector
04:53:01 <Figs> I have a second older dead laptop
04:53:04 -!- toBogE has joined.
04:53:08 <Figs> looks like my tree class
04:53:17 <Figs> what are you doing with it bsmntbombdood?
04:53:25 -!- GreaseMonkey has joined.
04:53:31 <bsmntbombdood> displaying it in your irc windows
04:53:35 <Figs> I assume listp?
04:53:37 <Figs> *lisp
04:54:08 <oklopol> Figs: can you upload that in another format? :)
04:54:18 -!- toBogE has quit ("Immibis wants me to be able to enumerate all channels on IRC and create a factoid for each of them.").
04:54:26 <Figs> yeah, but I can't think of one that allows score
04:54:33 <oklopol> oh
04:54:40 <Figs> unless you have some idea :S
04:54:42 <oklopol> darn
04:54:45 <Figs> do you have wine?
04:54:49 <oklopol> i'll just use my other comp
04:54:51 <Figs> ok
04:54:56 <pikhq> { { {a b} { { c d } } } }
04:55:32 <immibis> what is { { {a b} { { c d } } } }?
04:55:46 <bsmntbombdood> A VECTAR
04:55:47 <pikhq> bsmntbombdood's code as a Tcl list.
04:55:48 <oklopol> immibis: pretty obvious even if you don't know lisp
04:55:54 <immibis> no
04:55:55 <oklopol> or tcl
04:56:07 <GreaseMonkey> wtf is that coded in?
04:56:14 <oklopol> a translation of bsmntbombdood's vector into another format
04:56:17 <immibis> since when has a vector needed TEN curly brackets?
04:56:24 <oklopol> didn't know lang though
04:56:28 <bsmntbombdood> immibis: when they are nested deeply
04:56:29 <pikhq> (I'd express it as a Tcl array, except that that can only be expressed as a list)
04:56:31 <immibis> and isn't a vector just two numbers anyway
04:56:36 <oklopol> immibis: no
04:56:42 <oklopol> any number of numbers
04:56:56 <bsmntbombdood> pikhq: indexing O(n)?
04:57:05 <immibis> this IS the sort of vector you use in mathematics, right?
04:57:08 <pikhq> bsmntbombdood: Yeah.
04:57:17 <bsmntbombdood> pikhq: fail
04:57:57 <pikhq> bsmntbombdood: Tcl arrays work as foo(bar). . . Associative arrays can't contain arrays, since arrays aren't a first class type.
04:58:33 <oklopol> immibis: you can have any number of cells
04:58:35 <oklopol> in a vector
04:58:38 <bsmntbombdood> tcl is a wimpy scripting language
04:58:56 <pikhq> I beg to differ.
04:59:00 <oklopol> the point is, if you use it to mark a point's position, you use n numbers, where n is the number of dimensions
04:59:46 <oklopol> so a vector with 2 numbers in it is often referred to just as 'vector', since 2d calculation is easier
04:59:49 <oklopol> or something
05:00:03 <oklopol> i mean, often used
05:00:06 <oklopol> i mean, i don't mean.
05:05:23 <oklopol> Figs: that's not the piece i thought you wanted me to play
05:05:29 <oklopol> but i'll see if i can do that one
05:05:32 <Figs> ???
05:05:44 <Figs> The Way, right?
05:06:10 <oklopol> theway, yeah
05:06:22 <oklopol> i didn't know you meant that one
05:06:28 <Figs> ah, I meant that one ;P
05:06:35 <oklopol> i like that one too
05:06:44 <Figs> thanks :)
05:07:47 <oklopol> well, actually i like this one more than the others, most of this is pretty great
05:07:57 <oklopol> the middle part was cool
05:08:11 <oklopol> and the beginning, though guitar pro messed it up
05:08:25 <oklopol> by playing it "humanly" == not good
05:08:31 <Figs> ah
05:08:37 <oklopol> the timing's not perfect
05:08:39 <Figs> the ending is a bit bad
05:08:47 <Figs> because I couldn't make it slow gradually
05:08:56 <Figs> so it had to be more of an abrupt slow down
05:09:30 <oklopol> darn this is long, will take me some time to memorize
05:09:38 <Figs> it's 2 minutes or so
05:09:45 <Figs> the bass is exactly the same for most of it
05:09:49 <Figs> for the left hand
05:10:24 <Figs> ok
05:11:50 <immibis> oh and i programmed toboge to retrieve a channel list
05:11:52 <immibis> ?#esoteric
05:11:59 -!- toBogE has joined.
05:12:02 <immibis> oops
05:12:03 <immibis> ?#esoteric
05:12:03 <toBogE> #esoteric is a channel on irc.freenode.net. The topic is '+++++++++++++++[>++++++>+++++++>+++++++>++<<<<-]>------.>>-.---.>++.<<.+++++.++++++.>.<--.----.<+++++++++++++.>++++++.>++++.++++++.-.<<.>>--.>.<----.<+.<+.>>>.<--.<------.+++. esoteric programming language design and deployment'
05:12:17 <Figs> I wrote this for a former girlfriend actually, if you want the history :)
05:12:32 <Figs> I don't think she really cared ;P
05:12:47 <oklopol> heh
05:13:05 <oklopol> i wrote something for a girlfriend once, but she dumped me before i'd shown it to her :)
05:13:06 -!- toBogE has quit (Excess Flood).
05:13:11 <Figs> :P
05:13:17 <Figs> yeah...
05:13:22 <oklopol> it's a great song
05:13:31 <Figs> mine?
05:13:39 <Figs> or yours?
05:13:41 <oklopol> wait
05:13:44 <Figs> or both?
05:13:45 <Figs> :P
05:13:49 <oklopol> you haven't heard the punchline.
05:13:53 <Figs> ok ok ;)
05:14:04 <oklopol> you know a piece is good when your 8-year-old cousin says that can't be yours, it sounds like a real piece
05:14:13 <Figs> haha
05:14:19 <Figs> I know what you mean :)
05:14:24 <oklopol> hehe
05:14:29 <Figs> except it's my sister ;P
05:14:36 <Figs> (for me)
05:14:46 <oklopol> that one i don't even have on the computer
05:14:49 <oklopol> asdf
05:14:53 <oklopol> i'll start training now
05:14:59 <Figs> thanks :D
05:14:59 <oklopol> *practicing
05:15:04 <Figs> lol :)
05:16:45 <oklopol> (btw, the piece is quite similar to nightwish's "crimson tide")
05:16:53 <oklopol> (which must be one of the reasons i like it)
05:17:01 <Figs> yours?
05:17:01 <oklopol> (uh, nightwish <3)
05:17:07 <Figs> or mine?
05:17:12 <Figs> I don't know nightwish
05:17:13 <oklopol> err
05:17:14 <oklopol> yours :)
05:17:20 <Figs> ahh
05:17:23 <oklopol> listen to it
05:17:35 <Figs> do you have a link?
05:17:41 <oklopol> it's the same chord sequence, the actual melody is only similar in some parts
05:17:44 <oklopol> i can google...
05:17:49 <Figs> I can too :P
05:17:57 <Figs> I was just wondering if you had one handy
05:18:16 -!- GreaseMonkey has set topic: ☭ +++++++++++++++[>++++++>+++++++>+++++++>++<<<<-]>------.>>-.---.>++.<<.+++++.++++++.>.<--.----.<+++++++++++++.>++++++.>++++.++++++.-.<<.>>--.>.<----.<+.<+.>>>.<--.<------.+++. ☭ esoteric programming language design and deployment ☭.
05:20:28 <oklopol> http://video.google.com/videoplay?docid=2571592842877083218&q=nigthwish+crimson+tide&total=2&start=0&num=10&so=0&type=search&plindex=0
05:20:33 <oklopol> though just a live video
05:20:35 <oklopol> and
05:20:35 <oklopol> err
05:20:48 <oklopol> you can only hear guitar
05:20:52 <oklopol> that's not cool :<
05:21:43 <oklopol> ah
05:21:50 <oklopol> it's not nightwish playing
05:21:54 <oklopol> no wonder it's not perfect
05:21:57 <Figs> :P
05:22:29 <Figs> http://www.youtube.com/watch?v=FSCSVmzOE64
05:22:31 <Figs> is this it?
05:22:45 <oklopol> i've listened to most of nightwish's songs in double slow speed to be sure they make no mistakes
05:22:47 <oklopol> err
05:22:49 <oklopol> wait
05:23:20 <oklopol> yeah
05:23:23 <oklopol> ah
05:23:32 <oklopol> omg i gotta listen to nightwish today <3
05:23:47 <Figs> I can see some similarities to the way I write
05:23:53 <Figs> it is very different though
05:24:01 <Figs> not bad ;)
05:24:28 <oklopol> being nightwishish is the best compliment you can get, it's perfectino
05:24:30 <oklopol> *perfection
05:24:38 <Figs> lol, thanks :P
05:24:49 <oklopol> (i like nightwish, just so that you know.)
05:24:53 <Figs> ;)
05:24:59 <oklopol> (in case you couldn't deduce that yet)
05:25:29 <Figs> oklo: www.adom9.com/mp3s/mariye.mp3
05:25:55 <oklopol> sami vänskä is still the bassist there i see
05:26:07 <Figs> oh
05:26:07 <oklopol> i was wondering why the bass wasn't shown :)
05:26:08 <Figs> typo
05:26:25 <Figs> http://www.adom9.com/mp3/mariye.mp3
05:26:26 <oklopol> oklo is actually what i'm called among my "irl" friends
05:26:33 <oklopol> sounds weird when you use it
05:26:37 <Figs> oh, sorry :P
05:26:41 <oklopol> since no one does
05:26:51 <oklopol> no sorry
05:26:53 <Figs> I just get tired keeping track of whether you're oklokok or oklopol
05:26:59 <oklopol> use it as much as you can
05:27:22 <Figs> that's an example of the sort of music I like
05:27:28 <Figs> I don't really care for lyrics in my music
05:27:33 <Figs> but I like the intro to that song a lot
05:27:36 <oklopol> i'll wait till it plays
05:27:47 <oklopol> i don't care about lyrics usually
05:28:02 <oklopol> though nightwish has perfect lyrics and i remember all of them /methinks
05:28:24 <oklopol> also, i love the lyrics in death metal etc.
05:28:40 <oklopol> gorgasm ftw
05:29:03 <oklopol> i can't listen to that sonf
05:29:04 <oklopol> *song
05:29:06 <oklopol> i mean open it
05:29:12 <Figs> linux issues?
05:29:28 <oklopol> i have no idea
05:29:32 <Figs> :S
05:29:33 <oklokok> i'll try here
05:29:37 <Figs> ok
05:29:46 <Figs> kok = windows box?
05:29:49 <oklokok> it's just i only have head phone here
05:29:52 <Figs> pol = linux?
05:29:56 <oklokok> yes... usually :)
05:30:02 <oklokok> you can't count on that
05:30:10 <oklokok> i might be fok occasionally as well
05:30:22 <Figs> ok
05:30:37 <oklokok> and when i get my third comp, i might be all those ;)
05:30:45 <oklokok> well, most likely not on the same channel
05:30:52 <Figs> lol
05:30:53 <Figs> ok
05:40:35 <oklopol> damn, i need this printed... i can't memorize this just by reading fast enough
05:40:45 <oklopol> i remember most of the riffs though
05:41:01 <Figs> I have a print copy somewhere
05:41:07 <Figs> it's very simple music
05:41:10 <Figs> for the most part
05:41:16 <Figs> I'll look for it tomorrow
05:41:21 <oklopol> eh
05:41:21 <Figs> and scan it if I can find it
05:41:26 <oklopol> that'll help :)
05:41:36 <oklopol> i could print this as well...
05:41:39 <Figs> I don't have the program I wrote this in any more
05:41:42 <oklopol> i could print this as well...
05:41:43 <Figs> well, the midi is bad
05:41:47 <oklopol> oh
05:41:51 <oklopol> how come?
05:42:03 <oklopol> i can have it in numbers just as well
05:42:07 <Figs> it was written by the program using a sort of 'human' interpretation that just doesn't work well
05:42:11 <oklopol> i can't play straight from a score
05:42:25 <oklopol> i refused to learn it since i hated it from the beginning
05:42:26 <oklopol> :P
05:42:33 <Figs> ?
05:42:37 <oklopol> i mean
05:42:49 <oklopol> i don't care in what format a score is printed
05:42:51 <Figs> reading from score?
05:42:54 <Figs> no, I mean
05:42:57 <oklopol> i have the score in a midi
05:43:00 <oklopol> *the
05:43:01 <Figs> the score in the middle file is not very clean
05:43:10 <oklopol> err... why not?
05:43:14 <oklopol> it's the right notes.
05:43:24 <Figs> it is, but the timing is not precise
05:43:32 <oklopol> it is precise
05:43:43 <oklopol> in the score
05:43:47 <Figs> hold on a sec
05:44:35 <Figs> oh
05:44:37 <Figs> no it is good
05:44:40 <Figs> this is the corrected version
05:44:44 <Figs> I thought you had the old one
05:44:47 <Figs> sorry :)
05:45:20 <oklokok> ah okay
05:45:32 -!- toBogE has joined.
05:45:43 <oklokok> i can correct obvious errors though
05:45:49 <Figs> yeah :P
05:45:54 <Figs> what I meant was like
05:46:12 <Figs> you've opened some midis you know, and it's all like weird lengths like dotted 32nd notes and shit
05:46:22 <Figs> to indicate stacattos and things
05:48:46 -!- toBogE has quit (Read error: 104 (Connection reset by peer)).
05:50:32 -!- immibis has quit (Read error: 104 (Connection reset by peer)).
05:51:21 <Figs> damn, I wish I had better software!
05:51:26 <Figs> anvil is annoying
05:51:35 <Figs> print music was irritating
05:51:43 <Figs> (this was written in Finale Print Music)
05:52:04 <Figs> what I really want is a program I can type in the music
05:52:07 <Figs> like anivl
05:52:09 <Figs> *anvil
05:52:16 <Figs> but see multiple staves like print music
05:52:39 <Figs> with playback and with printing abilities
05:52:41 <Figs> for free.
05:52:45 <Figs> :D
05:52:49 <Figs> that'd kick ass
05:53:06 <Figs> Maybe I'll write it when I get better at doing gui programming
05:54:27 -!- immibis has joined.
05:57:15 <pikhq> Figs: Just learn LilyPond syntax, and get some really, *really* good typeset sheet music.
05:58:16 <Figs> LilyPond doesn't do playback though, does it?
05:58:27 <Figs> it could do a hell of a lot to help me make printable music
05:58:28 <Figs> but
05:58:37 <Figs> I wasn't aware of it playing back your music
05:59:09 <pikhq> It doesn't. That's called 'art'.
05:59:27 <Figs> ? :P
05:59:32 <pikhq> Um, wha?
05:59:39 <Figs> exactly.
05:59:42 * pikhq needs to turn on his brain
05:59:45 <Figs> yes.
05:59:47 <Figs> thanks.
05:59:48 <Figs> :)
06:00:03 <Figs> it's convenient to be able to hear what you've written without having to carry a piano with you
06:00:10 <pikhq> http://en.wikipedia.org/wiki/Rosegarden
06:00:39 <Figs> I'm on windows
06:00:52 <immibis> yes, who would carry a piano everywhere?
06:01:01 <Figs> crazy people.
06:01:11 <pikhq> Then asking for free software is pointless. . .
06:01:23 <Figs> no, not really :P
06:01:27 <Figs> I use mostly free software
06:01:29 <immibis> a lot of free software runs on windows
06:01:31 <Figs> on windows.
06:01:37 <Figs> and if I wrote this
06:01:40 <Figs> it'd probably be free
06:01:51 <Figs> since no one's done a good job of making software like this yet
06:01:52 <immibis> if you wrote *what* you'd probably be free?
06:01:58 <Figs> (at least on windows)
06:02:08 <Figs> the notation/play-back program
06:02:24 <pikhq> Nobody does a good job of making software when they aim to do it on Windows. . .
06:02:28 <pikhq> :p
06:02:36 <Figs> thanks >.>
06:02:40 <immibis> nobody does a good job of making software when they aim to do Windows. . .
06:02:48 <immibis> either
06:02:54 * Figs is a Windows developer. :P
06:03:17 <Figs> Is that a challenge?! :P
06:03:19 <Figs> rofl
06:03:37 <pikhq> Figs: What software do you develop with?
06:03:42 <immibis> a windows developer as in you write programs on windows or a windows developer as in you write windows
06:03:48 <immibis> probably older versions of windows
06:03:59 <immibis> visual c++?
06:04:11 <immibis> that is, M$ visual c++?
06:04:19 <oklokok> okay
06:04:20 <pikhq> Cygwin? "Pay through the nose" C++?
06:04:39 <immibis> why would a microsoft employee use cygwin?
06:04:52 <oklokok> i can play the first 32 or so bars now... it just keeps changing the details, hard to remember it all :=)
06:05:09 <pikhq> He's not stated whether he develops on Windows, or develops Windows itself.
06:05:24 <immibis> oh yeah
06:05:30 <pikhq> Figs: Care to fill us in?
06:05:39 <Figs> I use Code::Blocks (which sucks, at least on windows) with gcc/mingw
06:05:43 <immibis> so my last statement and three questions are only applicable if he develops windows itself
06:05:54 <immibis> do you write on windows or do you write windows?
06:06:03 <immibis> then again, writing on windows is graffiti
06:06:08 <Figs> I write while I use windows
06:06:18 <pikhq> There's a good reason why Code::Blocks sucks. . .
06:06:30 <Figs> yeah, it's more or less alphaware, isn't it?
06:06:34 <pikhq> IDEs are emasculating.
06:06:45 <Figs> and it has a poorly designed interface
06:06:54 <immibis> [17:02] * Figs is a Windows developer.
06:06:58 <Figs> yes
06:07:04 <Figs> my target platform is windows
06:07:09 <Figs> that makes me a windows developer.
06:07:11 <immibis> a developer of windows or a developer on windows
06:07:11 <immibis> ok
06:07:19 <pikhq> Anything that doesn't require a space cadet keyboard has a bad interface.
06:07:21 <pikhq> :p
06:07:25 <Figs> rofl
06:07:33 <Figs> iPod? :P
06:07:44 <immibis> computers?
06:07:46 <immibis> linux?
06:07:46 <Figs> I don't use iPod, so I don't know.
06:07:52 <immibis> iBladder?
06:07:57 <Figs> iRack?
06:08:05 <immibis> http://uncyclopedia.org/wiki/IBladder
06:08:10 <Figs> heh
06:08:10 <immibis> iRequireASpaceCadetKeyboard?
06:08:14 <Figs> lol
06:08:41 <immibis> iRequireASpaceCadetKeyboardButIHaveABadInterfaceAnyway
06:08:54 <pikhq> A space cadet keyboard is a joking reference to the keyboards on early Lisp machines. . .
06:09:03 <bsmntbombdood> lispms FUCKING RULE
06:09:08 <bsmntbombdood> too bad they died :(
06:09:21 <Figs> mmmm
06:09:31 <pikhq> Emacs's UI was influenced by it.
06:09:36 <Figs> anyway
06:09:40 <Figs> I'm going to go to work
06:09:43 <pikhq> Figs: *WHY?!?* do you torture yourself with using Win32?
06:09:50 <Figs> I have no choice
06:09:57 <pikhq> Not true.
06:10:02 <immibis> going to work at 17:09?
06:10:08 <pikhq> At 00:09?
06:10:10 <Figs> 22:09
06:10:16 <immibis> oh right the timezone difference
06:10:19 <Figs> :P
06:10:31 <immibis> pikhq is GMT-5
06:10:33 <Figs> you live in austrailia?
06:10:35 <immibis> no
06:10:38 <bsmntbombdood> 2309
06:10:42 <pikhq> Working that late? You deserve what's coming to ya.
06:10:42 <immibis> figs: /whois immibis
06:10:48 <immibis> check my hostname
06:11:20 <Figs> ohh nz
06:11:23 <Figs> ;)
06:11:33 <immibis> bsmntbombdood is BE wherever that is
06:11:33 <Figs> you have to admit it was a fair guess :P
06:11:39 <pikhq> The Win32 API is a crime against humanity. . .
06:11:40 <immibis> australia isn't gmt+12
06:11:51 <immibis> a crime against posix and portability more like it
06:11:56 <Figs> I didn't say I used win32 directly
06:12:01 <Figs> (though sometimes I do)
06:12:11 <Figs> I'm just stuck with this computer on windows
06:12:13 <pikhq> You stated it when you said that you develop on Windows using mingw.
06:12:25 <immibis> http://uncyclopedia.org/wiki/IBladder
06:12:26 <immibis> Warnings
06:12:26 <immibis> * iBladders should never, ever, ever be overfilled. Empty your bladder regularly.
06:12:26 <immibis> * Please eat.
06:12:26 <immibis> * Beware of cheap imitations. There is only one quality iBladder.
06:12:26 <immibis> * Don't Steal Waste!
06:12:28 <immibis> * Wearing this garment does enable you to fly
06:12:30 <immibis> * iBladders work best with the new iShit
06:12:48 <Figs> stated what?
06:12:53 <pikhq> It's not merely the *use* or *development* of Win32 that's a crime. . . The mere existence of Win32 is a crime.
06:12:59 <pikhq> Figs: That you use Win32.
06:13:04 <pikhq> Well, implied it, more like.
06:13:06 <Figs> Win32 Api
06:13:30 <pikhq> API is in all-caps.
06:13:33 <Figs> I know.
06:13:35 <Figs> I'm lazy.
06:13:44 <Figs> :)
06:13:51 <immibis> if toboge wasn't busy scanning the network for channels to add to its database, i'd say !factoid Win32 API is !What the hell are you using the Win32 API for??!!!
06:13:56 <immibis> but it is
06:14:05 <Figs> rofl
06:14:12 <Figs> I don't usually use win32 directly
06:14:21 <Figs> though I do when I have to, or don't know another way to do something
06:14:33 <Figs> I was actually considering using SDL
06:14:36 <immibis> ok it flooded itself off with status messages
06:14:40 <pikhq> Here's a new way.
06:14:40 <Figs> and designing my own interface
06:14:47 * pikhq inserts Knoppix
06:14:47 <Figs> but that is not very appealing
06:14:50 <Figs> no
06:14:54 <Figs> I can't write to an NTFS that way
06:14:56 <pikhq> fdisk /dev/hda
06:15:01 <Figs> and I can't format my drive
06:15:01 <pikhq> mke2fs /dev/hda1
06:15:10 <Figs> and there isn't enough for another partition
06:15:17 <pikhq> Fine, fine.
06:15:20 <pikhq> parted /dev/hda
06:15:34 <Figs> I *could* use a flash drive, but I'd be limited to 256 mb of data
06:15:46 <Figs> and
06:15:49 <Figs> I have no money.
06:15:52 <Figs> So get over it
06:15:52 <pikhq> Or you could resize your partition.
06:15:54 <Figs> I use windows.
06:16:13 <Figs> not when it's full.
06:16:23 -!- toBogE has joined.
06:16:36 <pikhq> The Kubuntu installer resizes partitions nondestructively. . .
06:16:37 <immibis> !factoid Win32 API is !What the hell are you using the Win32 API for??!!!
06:16:52 <immibis> !factoid Win32 is the suckiest thing on the planet
06:17:03 <Figs> Ubuntu doesn't boot on my computer
06:17:03 <immibis> !factoid Win16 is even more suckier than Win32, were that possible.
06:17:06 <Figs> I tried it :P
06:17:14 <pikhq> I. . . And you. . .
06:17:19 <immibis> !factoid Win64 is the latest way for Microsoft to pretend Windows doesn't suck.
06:17:19 <Figs> knoppix works though
06:17:24 <pikhq> I pity for your computer.
06:17:49 <Figs> one of these days, I'll have money
06:17:52 <Figs> and build a linux box
06:18:04 <immibis> ?immibis' os
06:18:04 <toBogE> immibis' os->Windows XP->Windows->Win32
06:18:04 <toBogE> Win32 is the suckiest thing on the planet
06:18:07 <pikhq> http://www.paulgriffiths.net/program/c/winhellosrc.html I also feel sad for any language who's "Hello, world!" app is harder to understand than the Malbolge one.
06:18:22 <Figs> :P
06:18:42 <Figs> I don't think it's as hard as malbolge
06:18:46 <Figs> maybe close
06:18:49 <Figs> but not quite
06:18:58 <immibis> it's not the simplest win32 hello world program
06:19:20 <immibis> the simplest is: #include <stdio.h> void main() {printf("Hello World!");}
06:19:29 <pikhq> immibis: That's the GUI one.
06:19:48 <pikhq> For comparison, the GUI "Hello, world!" app in my prefered language. . .
06:20:05 <pikhq> package require Tk;pack [label .l -text "Hello, world!"]
06:20:15 <Figs> hmm that's a good idea
06:20:19 <pikhq> Cross-platform and everything.
06:20:30 <Figs> use Tk for writing the interfaec
06:20:45 -!- immybo has joined.
06:20:59 <Figs> might make it easier to port later ;P
06:21:00 <Figs> *might*
06:21:18 <Figs> anyway
06:21:21 <Figs> I need to go to work
06:21:26 <Figs> I haven't done any work today
06:21:31 <Figs> and it's late
06:21:31 <toBogE> (L)
06:21:32 <pikhq> Easiest way to port is to just write it on Linux. . .
06:21:33 <toBogE> (L)(L)
06:21:36 <toBogE> (L)(L)(L)(L)
06:21:42 <Figs> yes, but I don't use linux
06:21:42 <toBogE> (L)(L)(L)(L)(L)(L)(L)(L)
06:21:46 <toBogE> (L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)
06:21:48 <Figs> I don't really CARE if it works on linux
06:21:55 <Figs> It'd be _nice_
06:21:55 <toBogE> (L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)
06:22:01 <toBogE> (L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)
06:22:05 <Figs> but I develop for windows first, because I use it.
06:22:06 <toBogE> (L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)
06:22:08 <Figs> shutup toboge
06:22:10 <toBogE> (L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L)(L
06:22:11 <pikhq> Writing for Linux is the easiest way to make it cross-platform. . .
06:22:13 <bsmntbombdood> wtf
06:22:20 <toBogE> the amount i love this channel is growing exponentially
06:22:30 <Figs> Lol :P
06:22:31 <pikhq> (assuming either GTK+ or Qt 4 is used)
06:22:31 <immybo> SHUT UP TOBOGE!!!!!!!!!!!!!!!1
06:22:33 <immybo> bye
06:22:37 -!- immybo has quit ("On the other hand, you have different fingers.").
06:22:42 -!- immibis has quit ("We be chillin - IceChat style").
06:23:01 -!- toBogE has quit (Read error: 104 (Connection reset by peer)).
06:23:40 <Figs> I don't really care if it's cross platform or not :P
06:23:54 <Figs> all I care about is whether I can use it or not
06:24:00 <Figs> for my uses
06:24:10 <Figs> I'm not getting paid to do this :P
06:24:23 <pikhq> Then you really, truly suck.
06:24:34 <pikhq> You're not getting paid, but you chose a horrible solution.
06:24:47 <Figs> Who said anything about my solutions?
06:24:53 <pikhq> You lose the right to be called a "hacker". Come back when sane.
06:25:04 <Figs> I said it'd be _nice_ if I can make it cross-platform
06:25:12 <Figs> but if I have to go out of my way to do so
06:25:14 <Figs> I won't.
06:25:18 <pikhq> Win32 is a horrid solution.
06:25:27 <Figs> WHO THE FUCK USES WIN32?!
06:25:31 <pikhq> YOU DO.
06:25:33 <Figs> (except for small bits)
06:25:36 <Figs> I DON'T
06:25:49 <Figs> come back when you're sane
06:25:53 * pikhq is back
06:25:57 <Figs> I only use it when I have to :P
06:26:04 <pikhq> Then you're still using it.
06:26:06 <Figs> for something os specific
06:26:22 <Figs> or for something I can't find a good way to do any other way
06:26:34 <Figs> I don't enjoy using it
06:26:57 <Figs> but if it makes for a solution that WORKS, I use it.
06:27:01 <pikhq> If you don't enjoy what you're coding in, then you shouldn't be using it. . .
06:27:10 <Figs> pikhq, I care about the result.
06:27:23 <Figs> not how I get there so much when I'm writing tools for my own use
06:27:47 <Figs> writing a tool for personal use is very different from writing a library meant for many people to use
06:27:48 <pikhq> I actually *ENJOY* coding. . . And so, I hate anything that gets in the way of that pleasure.
06:28:14 <Figs> I enjoy it too, except when I am doing it to do something else and it gets in my way
06:28:43 <Figs> if I need to get my homework done, and I don't have a graphing calculator, and I don't have internet access, but I need to graph something, I can write a graphing calculator
06:28:46 <Figs> but I don't enjoy doing it
06:28:47 <oklokok> win32 works.
06:28:53 <oklokok> why not use it
06:29:00 <Figs> since I'm doing it to get something else done as quickly as possible
06:29:11 <oklokok> portable? why? :|
06:29:18 <Figs> if I am for example, writing my regex library
06:29:20 <Figs> I enjoy coding that
06:29:32 <oklokok> if someone wants to use your code, they can convert it themselves
06:29:33 <Figs> because the design of that is creative and fun to think about how to do
06:29:52 <pikhq> oklokok: Win32 works in the same sense that COBOL works.
06:30:02 <Figs> the fact that it is useful too is a bonus
06:30:02 <oklokok> pikhq: what's wrong with cobol?
06:30:05 <Figs> :)
06:30:21 <pikhq> oklokok: You have *also* lost the right to be called a "hacker".
06:30:28 <bsmntbombdood> haha
06:30:31 <Figs> if coding in C# would get me through the tedius things that I _have_ to do to get on with my life...
06:30:36 <Figs> I'd do it
06:30:44 <Figs> but I probably wouldn't enjoy it
06:30:46 <bsmntbombdood> pikhq: maybe he just doesn't know what cobol is like
06:30:46 <pikhq> Figs already lost that, so. . .
06:30:51 <pikhq> bsmntbombdood: I guess not.
06:30:51 <oklokok> pikhq: what ever
06:31:10 <Figs> I'm telling you there are multiple kinds of programming.
06:31:32 <Figs> Hacking and doing library construction is great fun
06:31:44 <oklokok> i know cobol
06:31:50 <oklokok> reading a book about it
06:31:54 <Figs> but if you're doing a project just to be able to do something else
06:31:57 <oklokok> would be fun to learn thoroughly
06:32:03 <Figs> and it's keeping you from what you REALLY want to do
06:32:15 <Figs> then FUCK the programming.
06:32:26 <oklokok> if you're doing something, who cares about portability? that's not programming
06:32:34 <pikhq> We need an asylum.
06:32:43 <Figs> pikhq, you're in #esoteric
06:32:50 <Figs> you should LIKE the complexity of win32
06:32:52 <Figs> :P
06:33:00 <Figs> (that was humor, of course)
06:33:04 <pikhq> :p
06:33:58 <oklokok> Figs: the hard part is fun to play
06:34:05 <Figs> ?
06:34:12 <oklokok> the song of yours
06:34:15 <Figs> ahh :)
06:34:16 <Figs> cool
06:34:19 <Figs> in the middle?
06:34:31 <oklokok> except the hardest part which i can't really play yet
06:34:40 <oklokok> err i guess it's about in the middle
06:34:58 <Figs> pikhq, let me put it this way... if you wanted to play super mario, you wouldn't want to have to build the damned gameboy first
06:35:33 <Figs> you'd use the premade gameboy someone else has already built, or get parts cusom to that particular type of cartridge because it lets you accomplish what you want to do
06:35:52 <pikhq> No, if I were writing Super Mario, I'd write it in a decent environment, rather than an environment more worthy of an 8086 than a modern computer.
06:36:10 <Figs> but I'm saying playing, not writing
06:36:15 <pikhq> Ah.
06:36:23 <pikhq> In that case, I'm not programming a damned thing, am I?
06:36:31 <oklokok> argh you and your unbelievable unyielding opinions about redundant stuff :D
06:36:35 <oklokok> *unbelievably
06:36:39 <pikhq> So, it has little to do with programming.
06:36:50 <oklokok> (i'm not sure if an opinion can yield though)
06:37:06 <Figs> you wouldn't want to have to BUILD your TV to sit back and watch your favorite show each night, would you?
06:37:33 <Figs> especially if it takes you 12 hours to build your tv
06:37:42 <Figs> to watch a 30 minute show once or twice
06:37:54 <pikhq> No, I'd get a *DECENT TV*.
06:38:03 <Figs> EXACTLY!
06:38:14 <Figs> but, supposing you can't find a decent TV
06:38:25 <Figs> but you have your neighbor's half-finished TV
06:38:32 <pikhq> In your analogy, what you're doing would be like getting a TV constructed from bubble gum, duct tape, and a block of uranium. . .
06:38:33 <Figs> wouldn't you use that and finish the task faster?
06:38:50 <Figs> well, if it works :P
06:38:58 <pikhq> That's not working.
06:39:19 <oklokok> pikhq: win32 works
06:39:23 <Figs> then you shouldn't have chewed on the bubble gum so much. Glutton.
06:39:26 <oklokok> pretty well too
06:39:30 <pikhq> oklokok: That's not working.
06:39:34 <oklokok> huh?
06:39:37 <oklokok> win32?
06:39:42 <pikhq> Yeah.
06:39:45 <oklokok> oh
06:39:45 <Figs> pikhq, have you ever written a full program in win32?
06:40:10 <pikhq> No, the idea of a 100 line Hello, world! app scares the shit out of me.
06:40:33 <oklokok> pikhq: the fact linux is better than windows doesn't mean there's any need to use linux if you already have windows
06:40:35 <Figs> then you have no right to say that it doesn't get the job done, albeit unintuitively.
06:40:53 <pikhq> oklokok: GTK+ is a Windows library, as well. Qt 4 is a Windows library.
06:41:12 <pikhq> Both are actually fairly good (although Qt 4 seems better designed).
06:41:14 <Figs> Sure, it is duct-tape, uranium and bubble gum. But if all you need is to mark an X on your wall, the duct tape will work just as well as paint.
06:41:34 <oklokok> pikhq: why dl them when you have win32?
06:41:37 <oklokok> which works
06:42:07 <Figs> they have weird licensing things associated with them though, I think
06:42:12 <Figs> Qt4 especially
06:42:16 <Figs> IIRC
06:42:17 <pikhq> Figs: GPL or LGPL.
06:42:32 <pikhq> The same license that governs about 60% of all free (as in freedom) software.
06:42:42 <Figs> I think Qt4 was dual licensed GPL and commercial
06:42:47 <pikhq> Yeah.
06:42:54 <pikhq> The stuff you'll get is GPL.
06:42:58 <oklokok> pikhq: i understand you don't want to encourage people to do something you think is better to do another way, but why start insulting people about it?
06:43:02 <oklokok> i don't really see the point
06:43:16 <oklokok> it's the coding that matters, not which api you build on
06:43:28 <pikhq> The API you build on effects the coding you do.
06:43:35 <pikhq> Especially when the API you build on is shit.
06:43:47 <oklokok> slightly, yes, but this is code you'll never see, why care?
06:44:32 <oklokok> i'd say a hacker is someone who does what he can with what's given rather than someone who takes the tools with which it's easiest to do
06:44:56 <oklokok> anyway, piano, stop being ideological :)
06:45:00 <oklokok> ->
06:45:01 <Figs> rofl
06:45:16 <pikhq> Sorry. . . Why not ask water to stop being wet?
06:45:22 <Figs> oklo, that's good, except I'm talking about a quick hack.
06:45:33 <oklokok> <-
06:45:34 <oklokok> huh?
06:45:46 <Figs> A piece of chewing gum to stop the hole.
06:45:47 <oklokok> hmm, i lost context, wait
06:45:58 <Figs> a band-aid
06:46:11 <Figs> I don't use it except for small things these days
06:46:17 <Figs> like the beep command
06:46:17 <pikhq> I prefer artful solutions. . .
06:46:19 <oklokok> Figs: i'm not referring to you, i'm just tired of people putting down windows, as much as i hate it myself :)
06:46:24 -!- jix has joined.
06:46:32 <Figs> Windows does suck, it is true.
06:46:47 <Figs> but it generally lets you get on with your life
06:47:00 <Figs> if not always perfectly.
06:47:07 <oklokok> well, the only programs i *use* and *don't hate* are compilers
06:47:16 <oklokok> everything else starts pissing me off after a while
06:47:19 <jix> i hate most compilers....
06:47:20 <Figs> :P
06:47:34 <oklokok> compilers do what i ask, always
06:47:37 <oklokok> so i like them <3
06:47:48 <Figs> pikhq: you can be as artful as you like. I just want to finish the project, not spend the next 5 years writing it
06:47:50 -!- bsmntbombdood_ has joined.
06:47:57 <Figs> you see what I mean?
06:48:06 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)).
06:48:07 <Figs> I can always go back and rewrite tomorrow
06:48:15 <Figs> and, if I've done good work
06:48:22 <jix> oklokok: compilers don't always do what i want them to do....
06:48:25 <Figs> I won't have to do much to take out the specific parts
06:48:36 <jix> oklokok: ever compiled a crosscompiler?
06:48:37 <oklokok> jix: i haven't had bad experience
06:48:43 <oklokok> except with vc6++ .D
06:48:43 <oklokok> :D
06:48:46 <Figs> :D
06:48:50 <oklokok> jix: i don't even know what that is
06:49:00 <Figs> *thuderbolts and lightning VC6!!!*
06:49:00 <oklokok> so... i guess not.
06:49:06 <jix> oklokok: a compiler that runs on one platform but produces code for another platform...
06:49:25 <Figs> anyway
06:49:28 <Figs> to work with me, :D
06:49:30 <Figs> cya all later
06:49:32 <jix> and if the platform where the compiler should run on isn't linux but the target platform is linux but for some not so common architecture you're kind of lost...
06:49:34 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
06:49:38 <Figs> oklo... g'luck playing it :)
06:49:43 <Figs> I'll check back before I go to bed
06:49:46 <Figs> if I can
06:49:51 <Figs> cya all
06:49:58 <oklokok> Figs: hopefully get it by the next time you visit
06:49:58 <oklokok> bye
06:50:04 <Figs> cool :D
06:50:07 -!- Figs has left (?).
06:50:13 <jix> you have to do things like compiling glibc without having glibc which somehow is something that isn't really supported...
06:50:33 <oklokok> jix: i haven't done that much programming that depends on the platform
06:50:48 <jix> oklokok: the programming doesn't depend on the platform...
06:50:58 <jix> i just need a compiler to compile my portable program for the target architecture..
06:51:08 <oklokok> err indeed
06:51:13 <oklokok> well
06:51:32 <oklokok> i haven't made that many programs i've distributed
06:51:40 <jix> neither me....
06:51:44 <oklokok> i usually have someone make them portable for me and compile for linux :)
06:51:59 <jix> i use mac os x... and have some portable linux devices...
06:52:07 <jix> and i want to compile code for the portable linux devices...
06:52:20 <oklokok> i see how that might suck
06:52:43 <oklokok> i was more referring to interpreters actually, compilers, actually, have let me down quite a lot
06:52:45 <jix> it isn't even easy when your main platform is linux but there it is at least possible to get something that works....
06:53:12 <jix> so i'm using a virtualized linux now for that things :)
06:53:17 <oklokok> jix: use java and everything will be 100% portable :P
06:53:20 <jix> or ssh into a linux compile server....
06:53:24 <jix> oklokok: go away with java!
06:53:27 <oklokok> hehe
06:53:37 <jix> java won't run fast on arm cpus....
06:53:40 * oklokok is a sick little java boy
06:53:50 <lament> harry potter marries snape
06:53:55 <oklokok> nooooo
06:53:56 <oklokok> :<
06:53:59 <oklokok> spoiler...
06:54:00 <bsmntbombdood> HOT HARRY POTTER LOVIN
06:54:23 <oklokok> is there a new book coming... i recall hearing something like that :)
06:54:36 <pikhq> lament: Don't make the adult fan-fic writers too happy.
06:54:43 <jix> i stopped reading/being interested in harry potter when i was in grade 4 or something...
06:56:14 <jix> and there is another great thing about gcc... it doesn't really support the fpu of the arm device i'm going to get soon
06:56:46 <jix> so i might have to code the inner loops of my image routines in assembler....
06:56:55 <pikhq> Or use integer arithmetic.
06:57:09 <jix> pikhq: well the FPU is faster than the integer unit...
06:57:14 <pikhq> (assembler would be cleaner)
06:57:25 <jix> because it can work in parallel to everything else....
06:57:47 <jix> so while the integer unit is busy calculating memory offsets or whatever the fpu can do the number crunching...
06:58:19 <jix> and the fpu contains an integer alu which is faster for 32*32+32=>64bit than the main alu...
06:58:53 <jix> but there are some bugs inside the fpu that make some instruction combinations impossible... and afaik gcc has or at least had some problems with that...
06:59:42 <jix> and the calling convention depends on which fpu is used or whether software cpu is used... so i can't mix a kernel compiled for softfloat with a binary that has c code compiled with that fpu support...
07:00:02 <jix> that limitation is gone with assembler because i don't have to follow any calling conventions there...
07:00:18 <bsmntbombdood> jix stix lix nix
07:00:24 <jix> huh?
07:01:46 <jix> but some people are working on fixing this...
07:08:14 -!- GreaseMonkey has quit ("gtg right now, cya").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:20:05 -!- andreou has joined.
08:26:50 -!- computerdude2 has joined.
08:26:53 -!- computerdude2 has changed nick to immibis.
08:27:21 <immibis> now why would xchat set my name to computerdude2 when thats not even my nick/
08:27:23 <immibis> now why would xchat set my name to computerdude2 when thats not even my nick?
08:27:33 <pikhq> Because it's magic.
08:30:27 <immibis> !cat EgoBot is working now
08:30:33 <immibis> or not
08:30:40 -!- Figs has joined.
08:30:44 <Figs> hello!
08:30:48 <immibis> hi figs
08:30:59 * Figs prods oklopol / oklokok
08:31:04 <Figs> hi immibis :)
08:31:22 <immibis> why did your name appear in yellow just now/
08:31:24 <immibis> why did your name appear in yellow just now?
08:31:31 <Figs> ???
08:31:34 * Figs like this?
08:31:40 <immibis> do
08:31:42 <immibis> oops
08:31:46 <immibis> <Figs> hi immibis :)
08:31:51 <immibis> the Figs part was yellow
08:31:52 <Figs> uh, no idea
08:31:58 <andreou> because he said immibis
08:32:00 <Figs> maybe because I said your name?
08:32:06 <Figs> immibis!
08:32:09 <immibis> yes thats it
08:32:10 <Figs> is it yellow?
08:32:11 <Figs> ok
08:32:14 <immibis> it was
08:32:18 <immibis> andreou too
08:32:31 <Figs> immibis makes me yellow! :P?
08:32:33 <andreou> i get a mustard-like pseudo-yellow
08:32:37 <Figs> rofl
08:32:41 <Figs> I get nothing
08:32:48 <oklopol> andreou: you talk?
08:32:49 <andreou> Figs: sure you do
08:33:01 <andreou> oklopol: hm?
08:33:05 <Figs> uh, no, no color
08:33:06 <oklopol> (i may have seen you talk before, but not often at least)
08:33:32 <Figs> hi oklopol
08:33:34 <immibis> Figs: immibis makes you yellow on my client
08:33:37 <andreou> oklopol: it'll have been years since i last said anything meaningful
08:33:41 <oklopol> andreou: you're one of the people whose nicks i've seen tons of times here but don't remember seen talk
08:33:43 <immibis> which i don't use much so i didn't notice it before
08:33:50 <oklopol> hi Figs
08:33:54 <oklopol> started making an irc bot :D
08:33:56 <Figs> did you get a chance to play? :P
08:34:06 <oklopol> i know about half of the song
08:34:14 <oklopol> and i can play the beginning third or so
08:34:29 <Figs> cool ^_^
08:34:54 <oklopol> but i'm not playing anymore today, i'll play a bit tomorrow again
08:35:32 <oklopol> immibis: i don't care if toboge is not there, i don't part channels unless i have to
08:35:43 <Figs> ok
08:36:01 <Figs> I'm heading off, so I was just checking in
08:36:25 <immibis> oklopol: problem solved
08:36:28 <andreou> what's this bot craze?
08:36:36 <immibis> writing bots is sort of fun
08:36:54 <immibis> i'm going to try to write a simple bot in bash now
08:37:05 <andreou> yes, satisfies the luciferian aspects of men's psychologies
08:37:27 <immibis> the what
08:37:33 <andreou> playing god
08:37:56 <immibis> ok
08:38:27 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
08:38:27 <Figs> DO YOU ENJOY PLAYING GOD?! Yes... Why yes I do, actually. -- EGS
08:38:32 -!- EgoBot has joined.
08:38:37 <immibis> !ps
08:38:39 <EgoBot> 1 immibis: ps
08:38:42 <Figs> ps?
08:38:42 <immibis> it works!!!!
08:38:47 <Figs> !ps
08:38:49 <immibis> same as the unix command
08:38:51 <EgoBot> 1 Figs: ps
08:38:57 <Figs> process?
08:39:06 <Figs> !ps
08:39:06 <Figs> !ps
08:39:09 <EgoBot> 1 Figs: ps
08:39:11 <EgoBot> 1 Figs: ps
08:39:13 <Figs> :S
08:39:13 <EgoBot> 2 Figs: ps
08:39:14 <Figs> ok
08:39:16 <Figs> O_o
08:39:18 <Figs> wtf
08:39:22 <Figs> lol
08:39:24 <immibis> !bf +[,.[-]+]
08:39:26 <immibis> !ps
08:39:29 <EgoBot> 1 immibis: bf
08:39:31 <EgoBot> 2 immibis: ps
08:39:36 <immibis> processes like that one
08:39:37 <immibis> !kill1
08:39:38 <immibis> !kill 11
08:39:40 <immibis> !kill 1
08:39:41 <EgoBot> Process 1 killed.
08:40:34 <immibis> !daemon cat bf8 +[,.[-]+]
08:41:16 <immibis> !cat hi
08:41:40 <Figs> !who
08:41:44 <immibis> this bot crashes easily
08:41:49 <Figs> :(
08:41:56 <Figs> !pwd
08:42:04 <immibis> no, bot commands only, figs
08:42:09 <immibis> unix commands don't work
08:42:09 <Figs> oh
08:42:13 <Figs> I thought it was a unix bot
08:42:16 <Figs> :P
08:42:19 <Figs> since it did ps
08:42:26 <immibis> ps is just a name
08:42:33 * Figs can't think of too many unix commands so that's all I came up with
08:42:44 <Figs> !chans
08:42:47 <Figs> !help
08:43:05 <immibis> it seems to have crashed
08:43:12 <Figs> :(
08:43:15 <Figs> :'(
08:43:20 * Figs cries and runs around
08:43:33 <Figs> wtf
08:43:37 <Figs> when I put my foot on the floor
08:43:45 <immibis> i think i confused it (again): !daemon daemon daemon daemon undaemon daemon
08:43:46 <Figs> I hear more static in my headphones
08:44:59 -!- Sukoshi has joined.
08:45:41 -!- immibis_ has joined.
08:46:05 <immibis_> Hey cool i'm using irc from a bash shell using BASH and CATcommands
08:46:20 <Figs> ;D
08:46:21 <immibis_> No IRC client involved!
08:46:31 <Figs> I've done that with telnet before
08:46:35 <Figs> it's hard to read
08:46:38 <immibis_> But with bash?
08:46:40 <bsmntbombdood> i'm going to BASH your head in and fellate your CAT
08:46:41 <Figs> nope :)
08:46:46 <Figs> O_o
08:46:47 <immibis_> I know its hard to read
08:46:54 <Figs> you're going to suck his cat off?
08:46:57 <Figs> perv.
08:47:02 <immibis_> fellate?
08:47:07 -!- immibis_ has changed nick to toBogE.
08:47:19 <Figs> I assume the action verb or a corruption of it from the word fellatio
08:47:29 <Figs> I can't figure out what else he meant
08:47:47 <Figs> bsmnt, care to enlighten us?
08:48:05 <bsmntbombdood> how about you use a dictionary
08:48:20 -!- toBogE has changed nick to immibis_.
08:48:32 <Figs> and
08:48:35 <Figs> exactly what I expected
08:48:36 <Figs> :P
08:48:49 <Figs> ohh
08:48:50 <Figs> cool
08:48:50 <Figs> http://arstechnica.com/news.ars/post/20070717-fcc-asks-for-comments-on-network-neutrality-gets-27000-of-them.html
08:48:56 -!- immibis_ has quit (Client Quit).
08:51:14 <andreou> lol
08:51:22 <Figs> I'm gonna head off for the night
08:51:25 <Figs> cya tomorrow guys
08:51:27 -!- Figs has left (?).
08:51:28 <bsmntbombdood> andreou's back!?!
08:52:28 <immibis> !ps
08:52:34 <immibis> still not working
08:56:09 <andreou> more mustard-green
08:57:47 <Sukoshi> What's wrong with the Tunes Wiki?
08:57:54 <Sukoshi> Why does it have random pages about cell phone ringtones?
08:58:15 <immibis> because it's a *tunes* wiki?
08:58:31 <Sukoshi> ... :P
09:00:27 <bsmntbombdood> i have a feeling when i walk across my room, in the dark, i will run into the vaccum cleaner there and hurt myself
09:02:02 <andreou> bsmntbombdood: is there a vacuum cleaner?
09:02:18 <bsmntbombdood> of course
09:02:51 <bsmntbombdood> wait, were you trying to say something subtle about my spelling?
09:07:49 <andreou> not really, just noticed it myself
09:08:25 <immibis> well then don't walk where you think you'll hurt yourself
09:09:11 <andreou> no, go ahead and hurt yourself, it'll make you stronger
09:09:36 <bsmntbombdood> or just break my toe
09:10:08 <andreou> toes (as they have proved to me lately) are peculiarly resilient to sudden blows
09:11:22 <andreou> hm should i append to the topic "have irix? memo andreou!" ?
09:15:17 <fizzie> My Indy (which has irix 6.5.something installed on it) is in the basement. :/
09:16:22 <immibis> wtf is irix?
09:16:58 <fizzie> SGI's Unixy operating system.
09:17:16 <immibis> ok...
09:17:17 <fizzie> As seen in the Jurassic Park movie. "It's the Unix system!"
09:18:53 <andreou> see? i thought fiz would have something to do with it
09:18:58 <bsmntbombdood> ``vi`vi
09:19:01 <andreou> fizzie: do you have the CDs by any chance?
09:19:22 <immibis> what is ``vi`vi
09:19:25 <andreou> immibis: :P
09:19:26 <oklopol> v
09:19:26 <fizzie> Sorry, no. I just got the box, without the installation media.
09:19:38 <bsmntbombdood> immibis: some code
09:19:40 <andreou> ah classic
09:19:53 <oklopol> immibis: that's v
09:20:06 <immibis> what's v?
09:20:13 <oklopol> the bottom.
09:20:13 <immibis> i said ``vi`vi
09:20:26 <oklopol> it's the end, you know
09:20:35 <oklopol> you should learn unlambda
09:20:37 <immibis> <bsmntbombdood> ``vi`vi
09:20:44 <oklopol> it's a pretty sexy language
09:21:42 <andreou> ah running late
09:21:43 <andreou> cheers
09:21:44 -!- andreou has quit ("Leaving.").
09:22:27 <bsmntbombdood> what, is v call/cc?
09:23:09 <bsmntbombdood> err, c is
09:23:12 <bsmntbombdood> ``ci`ci
09:23:16 -!- bashbot has joined.
09:23:28 <immibis> !raw nick writteninbash
09:23:35 <immibis> !raw nick writteninbash
09:23:40 <immibis> hmm
09:23:42 -!- bashbot has quit (Remote closed the connection).
09:25:41 -!- bashbot has joined.
09:25:54 <immibis> !raw nick writteninbash
09:26:00 -!- bashbot has quit (Remote closed the connection).
09:36:34 -!- writteninbash has joined.
09:36:52 <immibis> i made a bot in bash just like i said
09:37:00 <immibis> !raw quit
09:37:01 <writteninbash> !raw quit
09:37:07 <immibis> what
09:37:09 <immibis> !raw quit
09:37:09 <writteninbash> !raw quit
09:38:42 <immibis> !raw privmsg #esoteric :i am written in bash
09:38:42 <writteninbash> i am written in bash
09:38:53 <immibis> oh well at least i can't make it quit
09:39:44 -!- writteninbash has quit (Remote closed the connection).
09:42:10 <immibis> well ok i can
10:02:35 <immibis> !ps
10:02:38 -!- bashbot has joined.
10:02:41 <immibis> no egobot i see
10:02:49 <immibis> !bf +.
10:03:34 <immibis> !bf +.
10:04:35 -!- oklopol has changed nick to oklofok.
10:04:39 <Sukoshi> oklopol: Does Wolfram spend a lot of time talking about the applications of CA on ODE?
10:04:42 -!- oklofok has changed nick to oklopol.
10:05:10 <immibis> oklopol/fok/kok: make up your mind which nick you want
10:05:31 <Sukoshi> immibis: Stop bringing in bots and spamming.
10:05:38 <immibis> oops sorry
10:05:45 <immibis> !raw JOIN #bashbot
10:05:48 <immibis> !raw PART #esoteric
10:05:52 <oklopol> immibis: i won't
10:05:59 <oklopol> Sukoshi: i'm not sure what that means :|
10:06:00 -!- bashbot has quit (Read error: 104 (Connection reset by peer)).
10:06:16 <Sukoshi> oklokok: CA == Cellular automata, ODE == Ord. Diff. Eqs.
10:06:28 <oklopol> ah
10:06:32 <oklopol> then i guessed right
10:06:35 <oklopol> well
10:06:39 <Sukoshi> Being able to model an antenna via CA would be super awesome until I can get the maths neccessary to solve Maxwell's equations on my own.
10:06:46 <oklopol> he sayd non discrete stuff sucks ass
10:06:56 <oklopol> and that differential equations only get you so far
10:06:57 <oklopol> *says
10:07:03 <Sukoshi> Yeah, exactly.
10:07:07 <oklopol> so... not really
10:07:09 <Sukoshi> But do CA model the concept better?
10:07:12 <Sukoshi> *does
10:07:30 <oklopol> there was no direct comparison
10:07:38 <oklopol> but he does model a lot of things using ca
10:07:38 <Sukoshi> Does he expound on it later?
10:07:47 <oklopol> expound? :)
10:07:52 <Sukoshi> Or does he relegate ODE to only one section?
10:08:01 <Sukoshi> Expound == expand (generally in context of books).
10:08:06 -!- immibis has quit (Read error: 104 (Connection reset by peer)).
10:08:16 <oklopol> okay, never seen
10:08:28 <oklopol> hmm
10:08:56 <oklopol> i'm not sure... i'm pretty sure there's just one part in the book that's about ode
10:09:02 <Sukoshi> :(
10:09:11 <oklopol> well actually i don't even remember that for sure
10:09:11 <Sukoshi> Well, he does, in name, refer to Maxwell's EMW equations.
10:09:20 <Sukoshi> I sooo want to be able to do the maths, but bleh.
10:09:31 <Sukoshi> I wish I had more hours in the day :\
10:09:57 <oklopol> Sukoshi: there's not that much math in the book.
10:10:01 <oklopol> hmm
10:10:15 <oklopol> i haven't read the end of the book, but i'm pretty sure most of the real data is there
10:10:41 <Sukoshi> No, I'm following a seperate book on ODE now.
10:10:43 <oklopol> because looking at the glossary, most concepts are on pages 1000-1100 :)
10:10:46 <oklopol> i see
10:11:03 <Sukoshi> But I can only devote so much time, with other homework in the way and all.
10:11:40 <Sukoshi> I'm thinking of retrying Uberman. I dunno if it's worth it or not, hmm.
10:11:58 <oklopol> i've never studied at all in my life... wonder how much more you know than me
10:12:07 <oklopol> :P
10:12:16 <Sukoshi> You don't like studying on your own?
10:12:29 <oklopol> if you do 4 hours a night now, that's almost as good as uberman
10:12:37 <oklopol> i do like it, but i rarely do it
10:12:41 <Sukoshi> But that's still not enough time!
10:12:50 <oklopol> heh
10:12:52 <oklopol> drop school
10:12:56 <Sukoshi> I can't.
10:13:00 <oklopol> why's that?
10:13:03 <Sukoshi> Nor can I go totally hikikomori on my parents.
10:13:05 <oklopol> i mean, stop doing homework
10:13:09 <Sukoshi> Because I want to go to a good college.
10:13:35 <Sukoshi> I'm not one of the ``hippie'' types who's content reading while living like a sage or such.
10:13:43 <oklopol> i have an automatic place in one of the best colleges here and i've never made homework at all :)
10:13:56 <Sukoshi> How? :P
10:14:04 <Sukoshi> Is it in the top 10?
10:14:36 <Sukoshi> I love to be better than other people at things.
10:14:39 <Sukoshi> :P
10:14:41 <oklopol> err... i guess finnish people are dumb
10:14:50 <oklopol> or then no one here studies.
10:15:21 <Sukoshi> I'm shooting for top 10, but I doubt I can make it. Top 30 is my wide goal, and top 50 is my saftey net.
10:15:25 <oklopol> me too, i get pretty competetive
10:15:35 <fizzie> What's this "one of the best colleges", then?
10:15:49 <Sukoshi> Berkeley or Urbana Champaign.
10:15:52 <oklopol> fizzie: not saying, hoped no finnish guy'd see :P
10:16:03 <Sukoshi> Oh :P
10:16:10 <oklopol> which city do you live in, fizzie?
10:16:19 <Sukoshi> Well, more anime time for me.
10:16:20 <fizzie> In Espoo nowadays.
10:16:30 <Sukoshi> (Sounds like poop.)
10:16:39 <Sukoshi> (Joke.)
10:16:39 <fizzie> Well, for the last 4 years, but those went by so fast.
10:16:46 <fizzie> "es poop".
10:16:58 <oklopol> okay, i'm talking about turku university and i actually have no idea how good it is :PP
10:17:10 <oklopol> just that people say it's good
10:17:59 <fizzie> I haven't seen anything that would be the de facto top-N list.
10:18:00 <oklopol> i'm pretty sure i could easily get to any university in finland if i took computer science
10:18:05 <oklopol> me neither
10:18:37 <oklopol> because you need like M in math to get to most
10:18:41 <oklopol> and L is a piece of cake
10:19:23 <oklopol> (you can ask me how piece of cake it was next spring :P)
10:20:14 <fizzie> At least the University of Helsinki CS department would've been pretty trivial to get in: an E out of three subjects (math+something+something) means a guaranteed place with no entrance exams or nothing. Or at least that's the way it was back in 2002.
10:20:15 -!- okolobot has joined.
10:20:28 <oklopol> oh
10:20:34 <oklopol> i already have L in english
10:20:49 <oklopol> is that 2 E's by any chance?
10:20:52 <oklopol> :D
10:20:59 <fizzie> Nnnnno, I don't think so.
10:21:17 <oklopol> well, physics and math i'd say are pretty easy L's
10:21:24 <oklopol> though can't say for sure of course
10:21:38 <oklopol> we'll see
10:22:19 <oklopol> >>> bf ++++++++[>++++++++<-]>+..+.-.
10:22:28 <oklopol> oh
10:22:35 <oklopol> darn, it doesn't work that way
10:23:27 <fizzie> Oh, and HUT CS department admission criteria has been really, really in the last few years. In 2002 it was still the third-most-difficult department here; now I think it's below-average.
10:23:32 <oklopol> >>> raw part #esoteric
10:23:33 -!- okolobot has left (?).
10:23:50 <oklopol> you in the university?
10:23:55 <fizzie> At HUT, yes.
10:24:17 <oklopol> want to tell me what that's short for? :)
10:24:28 <fizzie> Helsinki University of Technology. TKK, you know.
10:24:39 <oklopol> ah okay
10:24:51 <fizzie> They've changed the "official" domain name from hut.fi to tkk.fi, but ~no-one uses the new name. :p
10:24:59 <oklopol> heh
10:25:10 <oklopol> what year you in?
10:25:13 <oklopol> hmm
10:25:20 <oklopol> i guess i could calculate that...
10:25:28 <fizzie> 2002, which is why I've been talking about that year. :p
10:25:49 <fizzie> (Although I didn't actually start until 2003; there was a civil service thing to do.)
10:25:50 <oklopol> so it's your 4th year?
10:25:58 <oklopol> ah
10:26:19 * oklopol is thinking about going to jail... it's the shortest :)
10:29:20 <fizzie> Yes, and civil service is for the lazy and no-moral-backbone people among us. Especially the one-month training period in Lapinjärvi, which was more like a summer camping thing. (Although the barbequed-beer-baked-potatoes-in-aluminium-foil thing was relatively awful. I wonder whose bright idea _that_ was.)
10:29:59 <oklopol> i can't say i have a backbone
10:30:19 <oklopol> but i'm not willing to do the work they want me to do in civil service
10:30:25 <oklopol> what'd you do?
10:31:39 <oklopol> in the civil service
10:32:01 <fizzie> There would've been a nice "network administration and general messing around, maybe some scripting" non-job in LUT (Lappeenranta Univ. of Tech.), but someone had managed to beat me to it (and they didn't want to have two people there), so I just did some desktop publishing stuff for vhkk.fi.
10:32:17 <oklopol> oh
10:32:19 <fizzie> I think there's my name in a book or two. :p
10:32:38 <oklopol> desktop publishing stuff?
10:33:10 <oklopol> i thought they're all jobs where you feed the elderly and such...
10:33:26 <fizzie> "Here's a manuscript in Word - use Pagemaker to turn it into a book, then Photoshop a silly cover for it" type of stuff.
10:33:43 <oklopol> oh
10:33:49 <oklopol> that sounds like something i could do
10:33:57 <fizzie> http://www2.sivarikeskus.fi/paikat/ has a browseable-searchable list of the possible jobs.
10:34:02 <oklopol> oh cool
10:34:13 <oklopol> that *would* be better than jail
10:36:17 <oklopol> everything i found in turku is unbelievable crap :)
10:38:50 <oklopol> food ->
10:42:08 -!- ehird` has joined.
10:43:01 <Sukoshi> I'm thinking of going for an EECS myself, but what I really want to do is RF engineering.
10:43:13 <Sukoshi> IMO, computer logic is fun, but nowhere near as fun as EMW are.
10:47:44 <Sukoshi> One thing that really irks me is people into research.
10:48:59 <Sukoshi> I've always viewed being an academic as a privilege, and not a right, and that you should spend some time making the world a better place with your ideas. Research is the very antithesis of that, it's a completely selfish practice that contributes next to nothing.
10:50:43 <ehird`> "Research is the very antithesis of that, it's a completely selfish practice that contributes next to nothing." <- that's the dumbest thing i've heard all week
10:50:49 <ehird`> heck, month.
10:51:05 <Sukoshi> It's only useful for a self-gasm.
10:51:19 <Sukoshi> Well hmm. Maybe not research. Reading, I guess.
10:51:30 <ehird`> I'll go back in time and make sure nobody reads or researches
10:51:41 <ehird`> Hope you enjoy your new life as a primitive being
10:51:57 <Sukoshi> Huh?
10:52:04 <Sukoshi> Publish != Read.
10:52:10 <Sukoshi> Share != Read.
10:52:14 <ehird`> <Sukoshi> Well hmm. Maybe not research. Reading, I guess.
10:52:34 <Sukoshi> Reading and taking knowledge to the grave with you does nothing to no-one.
10:53:38 <ehird`> If nobody reads, then nobody can take research further
10:53:54 <Sukoshi> I never said that reading itself was bad, but that the sole act of reading.
10:54:19 <Sukoshi> If you only read and don't contribute, which is what I mean by a ``research type'', then it's pointless.
10:54:46 <fizzie> I would think "research type" people publish and share a lot more than most other people.
10:55:23 <fizzie> I mean, getting publications out seems to be more important than doing actual research in many research-y places. :p
10:56:27 <Sukoshi> Dunno, one annoying guy from #physics followed me, and he fancies himself as a ``knowledge-collector'', and he spends all his time reading, and talking in annoying discussions, but not contributing any of that back.
10:56:45 <Sukoshi> He wants to handle ``large data sets''.
10:56:52 <Sukoshi> Basically, he wants a self-gasm.
11:00:17 <fizzie> I don't think I've ever met anyone who could be concievably called a "researcher" who'd want to do research and not publish the results.
11:01:11 <fizzie> Er, well, actually people doing research in a corporate R&D environments, of course. But I'm not sure that counts.
11:02:02 <fizzie> Of course my opinion is very biased, since my official title here is "undergraduate researcher". Not that I'd doing anything so lofty that I'd really call "research". :p
11:02:31 <Sukoshi> Hah :D
11:02:54 <Sukoshi> I've gotten an idea for a language that's not esoteric.
11:03:01 <Sukoshi> Yes! Gasp you fools, gasp!
11:03:32 <fizzie> Gasp.
11:04:06 <fizzie> Fly, you fools!
11:05:49 <Sukoshi> :P
11:43:33 -!- Sukoshi has quit ("Leaving").
13:52:10 -!- blahbot` has joined.
13:52:10 <blahbot`> hello world
13:52:36 <ehird`> glad that works
13:52:44 <ehird`> %eval part("#esoteric")
13:52:45 -!- blahbot` has left (?).
14:02:41 -!- oerjan has joined.
14:10:35 <oerjan> @bot
14:10:46 <oerjan> (and there we go again)
14:12:15 <ehird`> @bot?
14:12:46 <ehird`> ??
14:13:41 * ehird` is confused
14:14:01 <oerjan> lambdabot "are you there" command
14:14:41 <oerjan> lambdabot@#haskell
14:16:29 <ehird`> ah
14:17:30 -!- blahbot` has joined.
14:17:30 <blahbot`> did somebody say 'bot'?
14:17:30 <blahbot`> oh... LAMBDAbot. i guess because i'm not named after functions i'm not good enough.
14:17:31 -!- blahbot` has left (?).
14:19:12 <ehird`> poor blahbot`.
14:19:26 -!- blahbot` has joined.
14:19:26 <blahbot`> thank you ehird`.
14:19:26 -!- blahbot` has left (?).
14:19:33 * ehird` stops, now
14:20:26 <oerjan> bots are the irc equivalent of ventriloquist's puppets
14:20:35 <oerjan> *s'
14:21:20 <ehird`> hah
14:23:21 -!- blahbot` has joined.
14:23:32 <ehird`> blahbot`, am I testing?
14:23:43 <ehird`> blahbot`, am I testing?
14:23:46 <ehird`> grr
14:23:59 -!- blahbot` has quit.
14:24:14 <ehird`> i tried to make it respond to blahbot`, x with sender, x? is that what you think?
14:24:24 <ehird`> about as good as ELIZA :P
14:27:54 -!- helios24 has quit (Read error: 110 (Connection timed out)).
14:36:29 -!- liber has joined.
14:37:58 <liber> Hello there. I'm working on a small bf interpreter (without very much bf knowleage). I have a small question: Can a "cell" contain negative values?
14:38:39 <ehird`> depends
14:39:20 <liber> On the interpreter?
14:39:44 <ehird`> The original interp. used unsigned values, range 0-255
14:39:47 <ehird`> other interp.s differ
14:40:07 <liber> Does it have any practical use?
14:40:07 <oerjan> however, if values wrap, you cannot tell the difference
14:40:40 <liber> "wrap"?
14:40:48 <ehird`> 255+ -> 0
14:40:50 <ehird`> 0- -> 255
14:40:53 <ehird`> that's wrapping
14:41:12 <liber> okay
14:41:33 <fizzie> ehird; Our channel had (years ago, I think this was pre-2000) a bot that noticed each comment matching /\?$/, and blurted out a random line from the channel logs containing same/similar words than the question had (if found). Up to this day I unconsciously add a trailing space whenever my comment ends in ? to suppress that behaviour. In all channels.
14:43:05 <liber> well. It looks like it doesn't really matter to much. Thx for the answers...
14:43:10 -!- liber has left (?).
14:43:31 <ehird`> fizzie, that sounds fun
14:43:48 <ehird`> Amarok in #amarok does something similar, except it's Amarok, prefix and not ? postfix... so slightly less annoying heh
14:48:06 <ehird`> <ehird`> Amarok: hello world
14:48:06 <ehird`> <Amarok> ehird`: Oh, sorry i could just use mpeg-2, and make sure i understand, that was to use mp3fixer as a secret the world to me. A while ago, in which i can even play vorbis on the first world thanks.
14:52:54 -!- blahbot` has joined.
14:55:48 -!- blahbot` has quit (Remote closed the connection).
14:57:37 * ehird` remembers the nonsense bot he made... it sat in tons upon tons of popular channels, and everytime a line was said it remembered the nick and all the words in the message
14:57:49 <ehird`> then in a channel it spewed out random combinations of the words with punctuation
14:57:53 <ehird`> it produced some real post-modern gems
15:03:43 -!- blahbot` has joined.
15:07:26 <ehird`> %eval self.nick = "test"; self.nick = "blahbot`"
15:07:26 <blahbot`> => "blahbot`"
15:07:34 <ehird`> hrrrm
15:07:36 <ehird`> %eval self.nick = "test"
15:07:36 <blahbot`> => "test"
15:07:39 <ehird`> oh dear.
15:07:54 <ehird`> oh, already in use
15:08:09 <ehird`> %eval self.nick = "basdlknsadasd"; self.nick = "blahbot`"
15:08:09 -!- blahbot` has changed nick to basdlknsadasd.
15:08:09 -!- basdlknsadasd has changed nick to blahbot`.
15:08:09 <blahbot`> => "blahbot`"
15:08:19 <ehird`> thank you nickserv.
15:11:42 <ehird`> %quit
15:11:42 -!- blahbot` has quit.
15:18:22 <ehird`> 2
15:33:36 -!- oerjan has quit ("leaving").
15:42:30 -!- blahbot` has joined.
15:42:37 <blahbot`> testing new %join,%part,%send commands.
15:42:39 -!- blahbot` has left (?).
15:57:48 <SimonRC> ehird`: you need one that does proper dissocaited-press
15:58:01 <ehird`> SimonRC, need one what
16:02:19 <SimonRC> http://www.catb.org/~esr/jargon/html/D/Dissociated-Press.html
16:04:49 <ehird`> that's not very good compared to mine
16:05:04 <ehird`> mine produced things like "<random nick> is idiot! super"
16:14:28 <ehird`> :p
16:15:15 -!- blahbot` has joined.
16:15:21 -!- blahbot` has left (?).
16:15:30 <ehird`> %raw works, evidently
16:19:14 -!- sebbu has joined.
16:22:21 -!- jix has quit (Nick collision from services.).
16:22:35 -!- jix has joined.
16:34:26 -!- liber has joined.
16:34:44 <liber> Ah!
16:36:05 <liber> What behaviour would you expext from a BF interpreter: would it warp? would it go to the last cell if you do a < at the "first" cell? would it allow negative values?
16:42:11 <ehird`> *wrap
16:42:29 <liber> okay
16:42:38 <ehird`> the original interp had 30000 cells, wrapped at 0-255, wrapped from last-first and first-last, wouldn't allow neg. values
16:42:41 <ehird`> but - better is:
16:43:00 <ehird`> infinite tape on the right, < at 0 is an error, infinite unsigned (0-no limit) cell values
16:43:02 <ehird`> IMO
16:44:06 <liber> well. now its like this: it begins with 1 cell and creates new when you need them, and < @0 jumps to last
16:44:46 <liber> Ill change
16:50:39 <ehird`> yeah, jumping to the "last" when it automatically grows is bad
16:50:43 <ehird`> imagine it's an infinite tape
16:50:52 <ehird`> also, start with 30000 cells... it's simpler and will make most programs a lot faster
16:51:01 <ehird`> (and preferably increase the size of the tape * 2 or something)
17:42:47 -!- liber has quit (Remote closed the connection).
17:48:21 <ehird`> what does egobot's @bf do on ,
17:59:14 <ehird`> http://pastie.caboo.se/79910 can anyone see what's wrong with this ruby brainfuck interpreter? i can't
17:59:37 <lament> well, what's wrong with it?
18:00:19 <ehird`> for one thing it doesn't actually, well, do anything
18:00:24 <ehird`> #esoteric-blah, %bf command, nothing happens
18:00:42 <ehird`> oh wait
18:00:44 <ehird`> my [ call is wrong
18:00:45 <ehird`> i need ch
18:00:51 <ehird`> and o
18:00:52 <lament> consider debugging locally rather than on IRC
18:01:06 <ehird`> yeah, i probably should
18:01:47 <ehird`> oh -- stupid me...
18:02:36 <ehird`> ohh
18:02:38 <ehird`> string#each, duh
18:04:24 <ehird`> oh, i'm stupid
18:25:30 -!- sebbu2 has joined.
18:32:17 <ehird`> i ended up using this :) http://pastie.caboo.se/79926
18:32:37 <ehird`> it seems to work - but i don't know if more complex cases will stumble it up
18:45:13 -!- sebbu has quit (Read error: 110 (Connection timed out)).
18:46:29 <sp3tt> try the topic
18:46:54 -!- jix has quit (Remote closed the connection).
18:47:06 <ehird`> <ehird`> %bf +++++++++++++++[>++++++>+++++++>+++++++>++<<<<-]>------.>>-.---.>++.<<.+++++.++++++.>.<--.----.<+++++++++++++.>++++++.>++++.++++++.-.<<.>>--.>.<----.<+.<+.>>>.<--.<------.+++.
18:47:06 <ehird`> <blahbot`> The international hub for
18:47:07 <ehird`> ;)
18:47:20 <ehird`> it does crash on unmatched braces though...
18:51:29 -!- sebbu2 has changed nick to sebbu.
18:58:41 -!- ihope has joined.
18:58:55 <ihope> Oh my.
18:59:34 <ehird`> what
18:59:45 <ihope> Why is the a Unicode HAMMER AND SICKLE in the topic?
19:00:04 <ihope> ~bf +++++++++++++++[>++++++>+++++++>+++++++>++<<<<-]>------.>>-.---.>++.<<.+++++.++++++.>.<--.----.<+++++++++++++.>++++++.>++++.++++++.-.<<.>>--.>.<----.<+.<+.>>>.<--.<------.+++.
19:00:05 <ehird`> i don't know
19:00:09 <ihope> !bf +++++++++++++++[>++++++>+++++++>+++++++>++<<<<-]>------.>>-.---.>++.<<.+++++.++++++.>.<--.----.<+++++++++++++.>++++++.>++++.++++++.-.<<.>>--.>.<----.<+.<+.>>>.<--.<------.+++.
19:00:14 -!- blahbot` has joined.
19:00:16 <ehird`> use %bf ;)
19:00:21 <ihope> %bf +++++++++++++++[>++++++>+++++++>+++++++>++<<<<-]>------.>>-.---.>++.<<.+++++.++++++.>.<--.----.<+++++++++++++.>++++++.>++++.++++++.-.<<.>>--.>.<----.<+.<+.>>>.<--.<------.+++.
19:00:21 <blahbot`> The international hub for
19:00:26 <ihope> Nice.
19:01:31 <ehird`> i should really rewrite %bf
19:01:39 <ehird`> it dies on unmatched braces:
19:01:41 <ehird`> %bf ]
19:01:42 <ehird`> %bf [
19:01:43 -!- blahbot` has quit (Remote closed the connection).
19:01:58 <lament> please consider that we already have like five brainfuck-interpreting bots.
19:02:27 <ehird`> lament, that isn't blahbot`'s main purpose
19:02:31 <ehird`> i just added it as an extra
19:02:31 <ihope> Reminds me of this: http://www.beaverandsteve.com/index.php?comic=271
19:02:47 -!- blahbot` has joined.
19:02:49 <ehird`> these are blahbot`'s main purposes:
19:02:49 <ehird`> %cmds
19:02:50 <blahbot`> quit, eval, ps, kill, cmds, help, reload, join, part, send, topic, raw, bf (use %help for argument information)
19:02:52 <ihope> lament: you know, you seem to be sort of not sending me the kilbot source code :-P
19:03:07 <ehird`> mostly %eval though, to evaluate ruby code with stdout/stderr redirection to irc and irc-related helpers :p
19:03:44 <ihope> %eval 2
19:03:45 <blahbot`> => 2
19:03:48 <ihope> Cool!
19:04:33 <lament> ihope: do you actually want it?
19:04:41 <ihope> lament: yes.
19:05:10 <ehird`> %eval loop { puts "hello!"; sleep 3 }
19:05:10 <blahbot`> hello!
19:05:13 <blahbot`> hello!
19:05:14 <ehird`> %ps
19:05:14 <blahbot`> 0. eval loop { puts "hello!"; sleep 3 }
19:05:14 <blahbot`> 1. ps
19:05:16 <ehird`> %kill 0
19:05:40 -!- Figs has joined.
19:05:45 <Figs> I got it.
19:06:12 <ihope> You got it?
19:06:24 <ehird`> blahbot`'s favourite pasttimes are running cellular automata in IRC channel topics and fold-reversing text
19:06:32 <ehird`> now we're all fully acquainted i'm going to rewrite %bf
19:06:46 <lament> ihope: dcc
19:06:53 -!- jix has joined.
19:07:00 <Figs> Yes, I got it.
19:07:07 <Figs> It makes sense now.
19:07:13 <ehird`> oh yes it also likes reducing lambda expressions (it especially likes (\x.xx)(\x.xx)) but it's still learning how to do that.
19:07:29 <ihope> Hmm...
19:07:35 <Figs> I can represent a my tree of left and right parser sequences as binary trees
19:07:47 <ehird`> Figs, well duh
19:07:52 -!- oerjan has joined.
19:07:53 <ihope> Ooh, nice, they both failed.
19:08:03 <Figs> ehird`, I didn't know that :P
19:08:20 <Figs> I had to figure that one out on my own. ;)
19:08:29 <pikhq> Not bad.
19:08:45 <pikhq> Not the greatest, since that's fairly well-known about binary trees, but not bad.
19:09:43 <Figs> I realized it at 4 am last night
19:09:57 <ihope> lament: try again?
19:10:10 <lament> ihope: i don't see why it should work
19:10:18 <ihope> Email, then?
19:10:23 <lament> gah
19:10:24 <Figs> I sat there wondering why the fuck left vs right expansion mattered, and saw that everything I'd written could be rewritten as binary trees.
19:10:40 <Figs> I was just like O_O
19:10:46 <lament> ihope: http://z3.ca/~lament/killbot.py
19:10:51 <lament> ihope: http://z3.ca/~lament/irclib.py
19:11:18 <Figs> it would have been nice to have realized this say, six months ago. :P
19:11:23 <ihope> Or that. :-)
19:11:49 <lament> Figs: that's why people learn these things in a systematic fashion
19:11:51 <ihope> Figs: why?
19:12:15 <Figs> lament, if I had a good book or could take a class, I would.
19:12:26 <ihope> Books, classes?
19:12:32 <ihope> #math, Wikipedia, Google?
19:12:33 <lament> Figs: good books are available online.
19:12:46 <lament> (not always in book form)
19:12:49 <Figs> that still doesn't make any of it systematic for me
19:12:54 <lament> (okay that totally made no sense)
19:13:07 <Figs> I've been googling and proding the subject since january
19:13:16 <Figs> and my knowledge is pretty spotty in areas, obviously :)
19:13:25 <ihope> You know, I'd really like to take an actual class involving artificial intelligence or something...
19:14:03 <Figs> I don't start college until September... so if I want to figure this stuff out before then, I have to self-teach.
19:14:19 <Figs> Or bug people on irc who assume I know things I don't. :)
19:14:19 -!- sebbu2 has joined.
19:14:53 <lament> Figs: look for course materials online.
19:15:19 <lament> i'm guessing wikipedia would be a good place to start looking.
19:15:48 <Figs> Well, as it turns out, I _do_ have a book on parsing
19:15:52 <Figs> however
19:15:57 <Figs> it didn't explain any of this
19:16:24 -!- blahbot` has quit (Remote closed the connection).
19:16:26 <ihope> I think any classes would have to run from July 27 to September 4, though.
19:16:38 <ihope> That's the next gap between things that's longer than two days.
19:16:49 <ihope> Shorter than two days, I could take a class this weekend...
19:17:01 <Figs> the place that would have made it obvious is looking at the wikipedia article on foldr
19:17:16 <lament> Figs: maybe it's a crappy book.
19:17:31 <ihope> (September 3, actually.)
19:17:33 <Figs> I never said it was a good book :P
19:18:02 <Figs> *_good_ book
19:18:05 <lament> Figs: so maybe you could find a better one online.
19:18:16 <Figs> Maybe I could now
19:18:21 <Figs> but I couldn't before
19:18:34 <Figs> If you don't know something is bad, it's hard to know you should replace it :)
19:19:37 <Figs> well, now I get to try writing a parser that can handle >> and <<
19:19:43 <Figs> should be fun
19:21:09 <Figs> the meaning of 3 >> term('+') << 4 makes some sense now.
19:21:43 <oerjan> precedence parsing is easily done in shift/reduce fashion
19:22:09 <Figs> oerjan, that's the kind of statement I find very cryptic :)
19:22:36 <Figs> ahh
19:22:39 <lament> Figs: isolate the specific terms you don't know and google them.
19:22:45 <Figs> you mean like building from the bottom up?
19:23:03 <oerjan> you push its symbol to a stack
19:23:05 <Figs> lament, DUH!
19:23:16 <oerjan> *each
19:24:33 -!- sebbu has quit (Success).
19:24:33 -!- sebbu2 has changed nick to sebbu.
19:25:08 <oerjan> if the next operator has lower precedence than the topmost one on the stack, you combine the things on top of the stack until it no longer is
19:25:14 <oerjan> (reducing)
19:25:18 <Figs> it doesn't make it any clearer what he means even if I know all the specific terms if I don't know WHY. :)
19:25:30 <oerjan> otherwise, you shift the next operator onto the stack
19:25:33 <Figs> oh
19:25:38 <Figs> I did that once before
19:25:43 <Figs> only more convoluted
19:25:48 <oerjan> if they have _equal_ precedence, you look at associativity
19:26:37 <Figs> basically I looked at all the numbers in a mathematical expression as having two operators on either side
19:26:49 <Figs> (added null operators on the end)
19:26:52 <Figs> so you had like
19:27:04 <Figs> N3+4*5+6N
19:27:34 <Figs> you moved --> as far as possible until the term on the left was of higher precedence that the one on the right
19:27:45 <Figs> then you collapsed the expression to the left
19:27:52 <Figs> ie, 4*5 in this case
19:27:56 <Figs> --> 20
19:28:11 <Figs> then you look at what you have
19:28:18 <Figs> N3+20+6N
19:28:26 <Figs> moves over right again one to 6, + > N
19:28:35 <Figs> N3+26N
19:28:36 <Figs> etc
19:28:47 <Figs> until there are two Ns on each side, then you stop
19:29:22 <oerjan> except usually + is taken to be left associative
19:29:33 <oerjan> so it would be N32+6N
19:29:41 <oerjan> er, N32+6N
19:29:47 <oerjan> argh!
19:29:54 <oerjan> N23+6N
19:29:56 <Figs> N23+6N yes
19:30:13 <Figs> yeah
19:30:17 <oerjan> (this makes it easier to handle it with -)
19:30:36 <Figs> I learned about that *after* :P
19:30:54 <Figs> so this was just the crappy way I'd figured out to make it work.
19:31:14 <Figs> and it seems to work well enough for what I needed it for before.
19:31:33 <Figs> but I'm not doing anything particularly complicated with it
19:31:54 <Figs> and it's irritating to have to do the second stage after validating the input and building the chain
19:32:58 <oerjan> if you want user-defined precedence level as in Prolog or Haskell, then a second stage is almost inevitable
19:33:14 <oerjan> except Prolog may drop most of the _first_ stage, i think
19:33:29 <oerjan> er wait
19:33:53 <oerjan> in Prolog the precedences must be defined before you use them, i guess
19:33:58 <Figs> I'm not entirely certain about that
19:33:59 <Figs> yeah
19:34:06 <Figs> if you do it that way, then yes :)
19:34:21 <oerjan> in Haskell the order of declarations is nearly completely free.
19:35:10 <Figs> because of the weird way I've been designing my parser system, I can do things like
19:35:35 <Figs> P = (s[0] = foo) >> reverse(S[0])
19:36:38 <oerjan> that doesn't look very unusual
19:36:46 <Figs> no, not at that point
19:37:01 <Figs> but reverse() can be replaced with anything
19:37:31 <Figs> any function transforms itself into a parser
19:37:46 <Figs> *that
19:38:01 <lament> i don't get it
19:38:31 <Figs> ?
19:38:49 <lament> i don't understand what you're talking about.
19:38:55 <Figs> ok...
19:39:05 <Figs> if you wanted to attach a function say, to store known variables
19:39:31 <lament> to attach a function?
19:39:37 <lament> to store known variables?
19:39:44 <Figs> ok, like if you're parsing something like:
19:39:49 <Figs> int x,y,z;
19:40:01 <Figs> x = 6+8;
19:40:11 <Figs> x should already be known
19:40:24 <Figs> I could do:
19:41:45 <Figs> Declr = "int " >> *(name >> ",") >> name >> ";"
19:41:52 <Figs> and each time name gets called
19:41:56 <Figs> it would store x
19:41:56 <Figs> y
19:41:57 <Figs> z
19:42:06 <Figs> as known variables
19:42:08 <Figs> of type int
19:42:18 <Figs> so it could check in the next statement
19:42:27 <Figs> Assign = KnownVar >> ...
19:42:59 <ehird`> that's not for a parser.
19:43:08 <ehird`> y = 6+8 without int y; is not a syntax error
19:43:19 <Figs> generally.
19:43:25 <Figs> but I'm saying you _could_ do that
19:43:32 <Figs> with the way I've written it so far
19:44:52 -!- zbrown has quit ("leaving").
19:45:10 <Figs> the only thing that has to happen is that an object inheritted from my base-class is returned into the statement.
19:45:38 <Figs> so "name" has to produce an object derived from by base.
19:46:01 <lament> ihope: did you download the killbot files?
19:46:18 * ehird` wonders why ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<. is hanging indefinitely
19:47:15 <oerjan> ehird`: try inserting some debug statements (#)
19:47:24 <ehird`> oerjan, %bf doesn't implement #
19:47:34 -!- zbrown has joined.
19:47:38 <oerjan> !help
19:47:59 <oerjan> why then make it...
19:48:14 * Figs wanders off for a while in a daze
19:48:16 <ehird`> it's just an irc bot command...
19:48:17 <oerjan> does that run properly in other bfs?
19:48:29 <ehird`> yes, it's part of http://www.hevanet.com/cristofd/brainfuck/tests.b
19:48:45 <ehird`> %bf ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<.
19:48:46 <ehird`> %ps
19:48:49 <ehird`> err
19:48:52 -!- blahbot` has joined.
19:48:55 <ehird`> %bf ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<.
19:48:56 <ehird`> %ps
19:48:56 <blahbot`> 0. bf ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<.
19:48:56 <blahbot`> 1. ps
19:49:01 <ehird`> just hangs.
19:49:03 <ehird`> %kill 0
19:52:03 <ihope> lament: yep.
19:52:17 <oerjan> is your bf 0-255 with wrapping?
19:52:22 <ehird`> oerjan, yes
19:52:33 <ehird`> right-unlimited tape, and < on tape pos. 0 is a no-op
19:53:14 <ehird`> it also parses [] into nested arrays before any evaluation which is odd as far as BF interps go
19:53:43 <ehird`> but means that running programs with many nested loops only goes slowly at the start, instead of all the way through
19:54:54 <oerjan> if you don't want to add #, try sprinkling with .'s
19:56:41 <oerjan> actually if it is line buffered that may not help
19:57:01 <oerjan> %bf ++++[>++++++<-]>[>+++++>+++++++<<-]>.>.
19:57:02 <blahbot`> x
19:57:39 <ehird`> it is not line buffered, but program-buffered
19:57:43 <ehird`> it only outputs at the end of the program
19:58:29 <oerjan> well, it is right that far
19:59:11 <ihope> %bf +++%.
19:59:47 <ihope> %bf +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#.
19:59:47 <blahbot`> ;
19:59:53 <ihope> Fish.
20:00:15 <oerjan> %bf ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>].
20:00:20 <ehird`> %ps
20:00:20 <blahbot`> 0. bf ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>].
20:00:20 <blahbot`> 1. ps
20:00:30 <oerjan> %ps
20:00:30 <blahbot`> 0. bf ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>].
20:00:30 <blahbot`> 1. ps
20:00:32 <ehird`> note that, if you output a newline, it won't display everything after that
20:00:37 <ehird`> since, uh, i haven't made privmsg work with newlines yet
20:00:41 <ehird`> i'll do that now
20:01:04 <ehird`> %kill 0
20:01:05 <ehird`> %reload
20:01:05 <blahbot`> Reloaded.
20:01:06 <oerjan> actually, don't do that until you implement throttling properly
20:01:11 <ehird`> %eval send("#esoteric", "abc\ndef")
20:01:12 <blahbot`> abc
20:01:12 <blahbot`> def
20:01:12 <blahbot`> => "abc\ndef"
20:01:20 <ehird`> oerjan, i'll implement throttling some other time..
20:01:23 <oerjan> well, it's clearly that big loop that hangs
20:01:27 <ehird`> for now, dont run any programs outputting 234723987329473298479283479328479324729384723 lines :)
20:01:29 <ehird`> %ps
20:01:29 <blahbot`> 0. ps
20:01:37 <ehird`> (that's because i killed it)
20:02:10 <oerjan> is it supposed to run for a long time?
20:02:28 <oerjan> otherwise i would say it hanged before you killed it
20:02:50 <ehird`> yeah it hanged
20:02:53 <ehird`> but uh i don't think so
20:02:58 <ehird`> it just reports from cell 30000
20:03:07 * ihope tweaks kilbot to his liking
20:03:17 <ihope> (I changed "themselves" to "themself" :-P)\
20:03:59 <oerjan> you grammatical vandal you!
20:06:00 <ehird`> first person to squeeze 99bob in BF into a size that will fit in an irc message when prefixed with "%bf " wins a million billion dollars because i think that's impossible
20:06:51 <ihope> Trivial.
20:07:04 * ihope loads up his super-duper-IRC-message-handler ircd
20:07:33 <ehird`> heh
20:07:45 <ihope> Handles messages up to 1 megabyte.
20:08:26 <ehird`> http://zelaron.com/forum/archive/index.php/t-2111.html how can you not understand what [ and ] do?
20:08:33 <ehird`> "[: Start bracket (very odd)
20:08:33 <ehird`> ]: End bracket (very odd)
20:08:33 <ehird`> Now the [ ] characters are quite odd to say the least....using them you can multiply registers..I have no idea how it works, but I used it in my code to increase the number in the current register using less characters... "
20:09:17 <ehird`> hmm
20:09:22 <ehird`> i should add an implicit \n after the input shouldn't it
20:09:24 <ehird`> *i
20:13:22 <ihope> ehird`: bad explanation?
20:13:29 <ehird`> ihope, indeed
20:13:55 * ehird` hates programs not cooperating with EOF=no change
20:14:58 <ehird`> Hmm... +++++[>+++++<-]>[>++>++++<<-]>-->-<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>] doesn't work
20:51:49 -!- Sgeo has joined.
21:03:11 -!- UnrelatedToQaz has joined.
21:03:54 -!- UnrelatedToQaz has quit (Client Quit).
21:36:25 <ihope> Ho hum. I wonder what the latest in computing things are...
21:38:53 <oerjan> cotypes!
21:38:57 <ehird`> anyone know a short BF program useful for testing an interpreter?
21:39:04 <oerjan> i just heard it on #haskell
21:39:19 <ihope> Well, here's a few programming features: object-orientedness, definition of new infix operators, Haskell-style typeclasses, dependent typing, monads, markable reversibility, support for quantum stuff, markable recursion, variables, lambdas, type signatures, first-class functions...
21:39:41 <ihope> Give me one of those features and I'll give you a language that has it and a language that doesn't.
21:39:50 <ehird`> ihope, :)
21:40:05 <ihope> You tell me a language that has all those. :-)
21:40:07 <ehird`> "I'll be giving a talk on my experiences with Haskell as a person with Asperger's Syndrome." sounds like somebody is pimping their asperger's (probably self-diagnosed) for the hell of it...
21:40:25 <ihope> I... hmm.
21:40:47 <oerjan> hey, don't you dare dis philippa!
21:40:53 <ehird`> :p
21:40:58 <ehird`> i didn't
21:41:01 <ehird`> and i wasn't
21:41:59 <ehird`> it's just the truth
21:42:16 <ehird`> haskell and asperger's have, at best, a very thin link, and even then it's a link shared with many languages.
21:42:38 <pikhq> ehird`: >[>,]<[.<]
21:42:51 <ehird`> %bf >[>,]<[.<]|hello world
21:42:53 <ehird`> %ps
21:42:53 <blahbot`> 0. ps
21:43:01 <ehird`> well that terminated unexpectedly...
21:43:08 <ehird`> pikhq, i assume that's not correct behaviour
21:43:14 <pikhq> ehird`: Let me just pimp mine (not self-diagnosed)
21:43:27 <pikhq> That should output "dlrow olleh"
21:43:37 <ehird`> oh damn
21:43:39 <ehird`> it's !
21:43:40 <ehird`> not |
21:43:40 <ehird`> heh
21:43:44 <ehird`> %bf >[>,]<[.<]!hello world
21:43:47 <ehird`> .... odd
21:43:48 <ehird`> %ps
21:43:48 <blahbot`> 0. ps
21:43:58 <ehird`> :/
21:43:58 <pikhq> %bf ,[.,]!hello world
21:44:07 <ehird`> now that SHOULD work!i tested that!
21:44:09 <ehird`> it should work!
21:44:13 <ehird`> %bf +++++++.
21:44:16 <pikhq> %bf ,.!h
21:44:16 <ehird`> well, that works..
21:44:16 <blahbot`> h
21:44:22 <ehird`> weird
21:44:24 <pikhq> You can't loop.
21:44:24 <ehird`> hello world works
21:44:27 <ehird`> yes i can
21:44:51 <ehird`> %bf ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
21:44:51 <blahbot`> Hello World!
21:45:06 <pikhq> Odd.
21:45:07 <ehird`> anyway; EOF behaviour is no-change
21:45:13 <ehird`> maybe that affects your input-using code
21:45:18 <ehird`> %ps
21:45:18 <blahbot`> 0. bf ,[.,]!hello world
21:45:18 <blahbot`> 1. ps
21:45:19 <ehird`> yep
21:45:20 <ehird`> %kill 0
21:45:23 <ehird`> %bf ,[.[-],]!hello world
21:45:23 <blahbot`> hello world
21:45:32 <pikhq> EOF=nochange?
21:45:35 <ehird`> yes.
21:45:35 -!- jix has quit ("CommandQ").
21:45:39 <ehird`> maybe i should change it to EOF=0
21:45:44 <ehird`> most code seems to assume it :/
21:45:44 <pikhq> Yeah.
21:45:51 <ehird`> (stupid code, i like nochange)
21:45:59 <pikhq> (I don't)
21:46:15 <ehird`> %reload
21:46:15 <blahbot`> Reloaded.
21:46:20 <ehird`> %bf ,[.,]!hello world
21:46:20 <blahbot`> hello world
21:46:22 <ehird`> tada
21:46:28 <ehird`> %bf >[>,]<[.<]!hello world
21:46:31 <ehird`> %ps
21:46:31 <blahbot`> 0. ps
21:46:33 <ehird`> odd.
21:46:47 <ehird`> oh
21:46:48 <ehird`> >[
21:46:54 <ehird`> > on a new tape is always 0
21:46:57 <ehird`> loop is never executed
21:46:58 <ehird`> etc.
21:47:29 <pikhq> %bf >,[>,]<[.>!hello world
21:47:29 <blahbot`> Unmatched [.
21:47:36 <pikhq> %bf >,[>,]<[.<]!hello world
21:47:36 <blahbot`> dlrow olleh
21:48:19 <ehird`> what about rot13, is there a rot13 program that fits in an irc message.
21:48:34 <pikhq> %bf ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<.
21:48:41 <ehird`> you need !input
21:48:42 <ehird`> %ps
21:48:42 <blahbot`> 0. bf ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<.
21:48:42 <blahbot`> 1. ps
21:48:43 <ehird`> %kill 0
21:48:51 <ehird`> oh wait
21:48:55 <ehird`> is that that test-30000 one
21:49:00 <ehird`> because if so it loops forever and i don't know why
21:49:01 <pikhq> Yeah.
21:49:35 <ehird`> maybe there's an easy-to-spot error in the code. http://pastie.caboo.se/80015 (yes i do parse beforehand, it's quicker with many nested loops :P)
21:51:32 <ehird`> hmm
21:51:42 <ehird`> does that code rely on 255-up wrapping?
21:51:48 <ehird`> my impl doesn't wrap..
21:51:54 <ehird`> oh, wait
21:51:55 <ehird`> it does.
21:51:58 <oerjan> i thought you said it did
21:52:00 <ehird`> well does it rely on a wrapping tape
21:52:07 <pikhq> No.
21:52:07 <ehird`> oerjan, it wraps cell values, not tape positions
21:52:15 <oerjan> i don't think wrapping tape is that common
21:52:18 <ehird`> pikhq, well what does it rely on
21:52:21 <pikhq> It relys on a tape of 30000 cells.
21:52:32 <ehird`> Not an infinite tape?
21:52:35 <ihope> Whoa, variables!
21:52:36 <ehird`> If so that'd be the problem ;)
21:52:40 <ehird`> ihope, Yeah. :P
21:52:48 <ihope> Like... whoa!
21:52:57 <ehird`> I like to call those kind of nested-parsers "insane descent parsers"
21:53:02 <pikhq> Actually, it tries to go to the 30,000th cell, and then output "#".
21:53:05 <oerjan> i would imagine it depended only on at _least_ 30000 cells
21:53:10 <pikhq> Yeah.
21:53:11 <ehird`> pikhq, Then why doesn't it work :P
21:53:11 <ehird`> %ps
21:53:12 <blahbot`> 0. ps
21:53:46 <ihope> I'm thinking Haskell tends to be less woven and more... not.
21:54:10 <lament> %bf +[>+]
21:54:19 <ehird`> lament, nice infinite loop
21:54:21 <ehird`> %ps
21:54:21 <blahbot`> 0. bf +[>+]
21:54:21 <blahbot`> 1. ps
21:54:24 <ihope> Haskell's Legos aren't also connected by threads.
21:54:57 <lament> %ps
21:54:57 <blahbot`> 0. bf +[>+]
21:54:57 <blahbot`> 1. ps
21:55:00 <lament> still going? nice
21:55:09 <ehird`> lament, it'll go forever. :P
21:55:14 <lament> ehird`: oh?
21:55:19 <ehird`> lament, well why wouldn't it?
21:55:26 <lament> ehird`: because you'll run out of memory
21:55:31 <ehird`> true
21:55:32 <ihope> Maybe it doesn't use memory!
21:55:37 <ehird`> but that'll take a while
21:55:52 <lament> i'm surprised it hasn't already happened. Your implementation must be particularly slow.
21:56:00 <ehird`> ruby is slow
21:56:12 <ihope> Yes, somebody make an implementation that, when given a program like that, doesn't use memory.
21:56:16 <lament> ehird`: yes, but at the same time it probably requires more memory for each cell
21:56:22 <ehird`> it's using 100% cpu though
21:56:42 <oerjan> cannot see anything wrong with the bf() function
21:56:45 <ehird`> it's growing by the 15th of a megabyte per update...
21:56:50 <ehird`> %ps
21:56:50 <blahbot`> 0. bf +[>+]
21:56:50 <blahbot`> 1. ps
21:56:51 <ehird`> %kill 0
21:56:55 <ehird`> that's better
21:57:18 <lament> %bf +[+]
21:57:26 <lament> %ps
21:57:27 <blahbot`> 0. ps
21:57:38 <lament> bit-sized cells?
21:57:50 <ehird`> 0-255
21:57:58 <ehird`> Well, actually I manually overflow them for compatability.
21:58:24 <ehird`> They could be normal Fixnums, then they'd grow into Bignums, which is just crazy
21:58:44 <lament> integers are crazy now? :)
21:58:50 <pikhq> %bf ++++++++++.[>++++++++++.]
21:59:04 <ehird`> lament, for BF compatibility yeah
21:59:18 <ehird`> pikhq, It only outputs on program termination
21:59:51 <pikhq> ehird`: A) that's stupid. B) Then we'll see how long it takes to end.
22:00:01 <pikhq> (or, rather, how bad the Pythonic interpreter sucks)
22:00:05 <ehird`> it's not pythonic
22:00:06 <ehird`> it's ruby
22:00:20 <ehird`> it isn't meant to be very good, anyway
22:00:22 <ehird`> it's for oneliners
22:00:23 <pikhq> Well, we already know that sucks.
22:00:33 <ehird`> what sucks - ruby?
22:00:37 <pikhq> Yup.
22:00:43 <ehird`> no it doesn't.
22:00:56 <ehird`> anyway, program termination is the easiest way to implement the interp.
22:00:57 <ehird`> %ps
22:00:57 <blahbot`> 0. bf ++++++++++.[>++++++++++.]
22:00:57 <blahbot`> 1. ps
22:01:09 <lament> ++++++++++.[>++++++++++.] is a one-liner.
22:01:38 <pikhq> Is there something *wrong* with making . be puts $mem($pointer)?
22:01:49 * lament personally prefers unbounded cells for brainfuck. That gives it more of a CS-theoretic flavour
22:02:03 <ehird`> pikhq, Yes - that would make one irc message for each .
22:02:16 <ehird`> lament, and makes lots of BF code break
22:02:42 <lament> ehird`: that's its problem - the size of cells is never specified.
22:02:50 <pikhq> lament: Then you're a fan of P''.
22:03:09 <lament> ehird`: people are free to write code and make stupid assumptions, but then their code will break.
22:03:37 <lament> ehird`: sadly, this happens all the time with things other than brainfuck.
22:03:52 <ehird`> %bf is meant to execute some short code you wrote to quickly test, etc
22:05:07 <lament> pikhq: P'' doesn't have unbounded cell size.
22:05:55 <oerjan> i cannot see anything wrong with parse_bf either, but then i don't know ruby
22:06:03 <ehird`> parse_bf is fine
22:06:10 <ehird`> if parse_bf wasn't fine the execution wouldn't even start
22:06:27 <oerjan> it might leave out parts, or something
22:06:31 <pikhq> Oh.
22:07:08 <pikhq> Maybe a fan of BFoo?
22:07:38 <oerjan> i assume all variables are local to a function unless specified otherwise?
22:07:39 <pikhq> (a variant of the Fm series of languages, adding "-", with unbounded cells and a right-bounded infinite array.
22:07:42 <pikhq> )
22:07:49 <lament> I like brainfuck.
22:08:18 <pikhq> Fm is Brainfuck in formal-computerese. :p
22:08:55 <ehird`> %reload
22:08:55 <blahbot`> Reloaded.
22:08:58 <ehird`> %parse [++]
22:08:58 -!- blahbot` has quit (Remote closed the connection).
22:09:01 <ehird`> erhm
22:09:30 -!- blahbot` has joined.
22:09:32 <ehird`> %parse [++]
22:09:33 <blahbot`> 91434393
22:09:35 <ehird`> ...
22:09:58 <lament> what?
22:10:02 <ehird`> yeah exactly what.
22:10:24 <ehird`> %reload
22:10:25 <blahbot`> Reloaded.
22:10:26 <ehird`> %parse [++]
22:10:26 <blahbot`> [91, 43, 43, 93]
22:10:35 <ehird`> that's..not right
22:10:37 <ehird`> OH, duh
22:10:50 <ehird`> %reload
22:10:50 -!- blahbot` has quit (Remote closed the connection).
22:10:55 <ehird`> GRUMBLE
22:11:12 * ehird` restarts bot. again
22:11:53 -!- blahbot` has joined.
22:12:12 <ehird`> %parse [++]
22:12:12 <blahbot`> [["+", "+"]]
22:12:25 <ehird`> %reload
22:12:25 <blahbot`> Reloaded.
22:12:26 <ehird`> %parse [++]
22:12:26 <blahbot`> ++
22:12:28 <ehird`> grumble
22:13:02 <oerjan> that [["+", "+"]] looks correct
22:13:05 <ehird`> yes
22:13:37 <oerjan> you need an unparse function
22:13:44 <ehird`> just written one
22:13:46 <ehird`> %reload
22:13:46 <blahbot`> Reloaded.
22:13:48 <ehird`> %parse [++]
22:13:55 <ehird`> ... blargleworth.
22:14:11 <ehird`> %reload
22:14:12 <blahbot`> Reloaded.
22:14:13 <ehird`> ... blargleworth.
22:14:15 <ehird`> %parse [++]
22:14:15 <blahbot`> [++]
22:14:23 <ehird`> %parse [++]<<+++>>>><><><,.[[[[[[2]]]]],+]
22:14:23 <blahbot`> [++]<<+++>>>><><><,.[[[[[[2]]]]],+]
22:14:28 <ehird`> %parse [++]<<+++>>>><><><,.[[[[[[2]]]]],aaa+]
22:14:28 <blahbot`> [++]<<+++>>>><><><,.[[[[[[2]]]]],+]
22:14:30 <ehird`> there we go.
22:14:35 <ehird`> so, i think my parser is fine
22:14:49 <ehird`> %parse ++++++++++.[>++++++++++.
22:14:49 <blahbot`> Unmatched [.
22:14:49 <blahbot`> Unmatched [.
22:14:50 <ehird`> %parse ++++++++++.[>++++++++++.]
22:14:50 <blahbot`> ++++++++++.[>++++++++++.]
22:15:01 <ehird`> %parse ++++++++++.[>++++++++++.
22:15:02 <blahbot`> Unmatched [.
22:15:02 <blahbot`> Unmatched [.
22:15:04 <ehird`> hmm
22:15:04 <ehird`> 2?
22:15:36 <ehird`> %reload
22:15:36 <blahbot`> Reloaded.
22:15:38 <ehird`> %parse ++++++++++.[>++++++++++.
22:15:38 <blahbot`> Unmatched [.
22:15:40 <ehird`> there
22:15:54 <ehird`> %parse ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<.
22:15:54 <blahbot`> ++++[>++++++<-]>[>+++++>+++++++<<-]>>++++<[[>[[>>+<<-]<]>>>-]>-[>+>+<<-]>]+++++[>+++++++<<++>-]>.<<.
22:15:59 <ehird`> nope, that's fine.
22:17:42 <ehird`> odd, then
22:17:45 <oerjan> oh wait
22:17:45 <ehird`> maybe i should add a trace function
22:17:48 <ehird`> oerjan, ?
22:18:34 <oerjan> will that thing performing the loops actually _copy_ any large structures each iteration?
22:18:47 <ehird`> no
22:18:52 <ehird`> it passes a reference to the object
22:18:58 <ehird`> or rather, a poiner to the object
22:19:21 <ehird`> the tape, output, loop contents, input are all refs.
22:19:35 <ehird`> the index isn't, but that isn't really much of a problem
22:21:27 <ehird`> :P
22:21:31 <oerjan> how long is the tape to start with?
22:21:35 -!- Figs has left (?).
22:22:41 <ehird`> infinite... ruby's arrays are infinite size...
22:22:47 <ehird`> but i only initialize one cell
22:22:52 <ehird`> aka tape = [0]
22:23:05 <ehird`> every time you do > and tape[new index] is nil (i.e. element doesn't exist), it's 0'd
22:23:12 <oerjan> hm...
22:23:15 <ehird`> ruby doesn't resize the array every > though.
22:23:25 <oerjan> %bf >>>+++++++++++++++++++++++++++++++++++++++++++++++++++.
22:23:25 <blahbot`> 3
22:24:10 <ehird`> wtf#
22:24:13 <ehird`> oh, right
22:24:22 <ehird`> i thought "thats more than 3 +s" silly me
22:25:13 <ihope> %bf ++++++++++++++++++++++++++++++++++++++++++++++++.
22:25:13 <blahbot`> 0
22:25:17 <oerjan> oh wait
22:25:17 <ihope> %bf +++++++++++++++++++++++++++++++++++++++++++++++.
22:25:17 <blahbot`> /
22:25:31 <ihope> I hereby declare / "the new -1".
22:25:36 <ehird`> :D
22:25:41 <oerjan> ||= is that _bitwise_ or _boolean_ or? :)
22:25:48 <ihope> %bf ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
22:25:49 <blahbot`> :
22:25:50 <ehird`> oerjan, neither
22:25:53 <ehird`> that's:
22:25:58 <ihope> Likewise: the new 10.
22:26:08 <ehird`> x ||= y is "x = y unless x"
22:26:20 <oerjan> ah
22:26:33 <ehird`> aka, "if the cell we're going into doesn't exist, make it 0"
22:26:35 <oerjan> fiendishly clever
22:26:46 <ehird`> it's actually built in ruby behaviour
22:26:48 <ehird`> ||= is syntax
22:26:52 <ehird`> it is quite useful
22:26:54 <ihope> But it's outside the scope of the language!
22:27:03 <ehird`> ihope, ruby's scope?
22:27:12 <ihope> Unless it doesn't allow you to declare it. Allowing a person to declare it is within the scope of a language.
22:27:13 <ehird`> ruby's scope is a general purpose mashup of lisp, perl and a bit of python
22:27:14 <ihope> ehird`: yup.
22:27:27 <ehird`> i don't understand
22:27:48 <ihope> A language doesn't need to do define that.
22:27:54 <ihope> s/ do / /
22:27:57 <ehird`> ruby has many shortcuts
22:28:06 <ehird`> yet it's more elegant and thought-out than perl
22:28:07 <ihope> That doesn't mean they need to be built in.
22:28:15 <ehird`> in this case it does
22:28:46 <pikhq> I'm a fan of languages without much syntax, personally.
22:28:56 <ehird`> pikhq, so am i, but ruby works for practical things
22:29:42 <pikhq> if {!$x} {set x $y}
22:29:54 <ehird`> i think x ||= y is clearer...
22:30:07 <pikhq> Or [set x [expr {!$x?$y:$x}]]
22:30:13 <ihope> What we really need is a language where most syntax constructs can be defined easily.
22:31:48 <oerjan> Scala
22:32:00 <ehird`> ihope, Sure.
22:32:17 <ehird`> I have in my head a "perfect language" that i should implement some day
22:32:25 <ihope> Me too.
22:32:39 <ehird`> it's a nice blend of smalltalk, ruby, lisp, a dash of python, and Something Completely Different
22:32:47 <oklokok> ihope: oklotalk allows for that :)
22:32:50 <ihope> If you can come up with a good way of defining typeclasses, you should be able to use it!
22:33:01 <oerjan> i thought Something Completely Different was python.
22:33:05 <ehird`> heh
22:33:09 <oerjan> Monty Python, to be precise
22:33:14 <ihope> oklokok: please implement it as soon as possible. :-)
22:33:25 <ihope> oerjan: Python *is* Monty.
22:33:36 <ehird`> my perfect language, in the actual source form, looks quite like ruby
22:33:49 <ehird`> But with - DUN DUN DUN - first-class functions
22:34:02 <ihope> Heh... a 153-page tutorial for a language with a 149-page spec.
22:34:05 <oerjan> ruby doesn't have first class functions?
22:34:07 <pikhq> My perfect language, in actual source form, has a clean syntax.
22:34:18 <pikhq> (clean as in "Definable in 11 lines or less. Fully.")
22:34:24 <ehird`> oerjan, Well - you can do obj.method(:name)
22:34:31 <oerjan> i thought it had _continuations_, how can it not have first class functions?
22:34:32 <ehird`> oerjan, But you can't do that() you need that.call()
22:34:38 <ehird`> oerjan, Because continuations use .call
22:34:52 <ehird`> oerjan, You can't just do pass_around(a_func) since functions automatically call
22:34:54 <ehird`> a_func == a_func()
22:35:01 <ehird`> a_func :x, :y == a_func(:x, :y)
22:35:27 <ehird`> The ideal solution, of course, is for a_func to be the function, a_func any, number, of, args to call
22:35:41 <lament> oerjan: ruby is fucked up
22:35:58 <lament> oerjan: they have functions, and they have blocks, and those have different semantics
22:36:29 <lament> it has first-class objects representing functions, but normally you access them only through special syntax
22:36:36 <ihope> Oog, simple.
22:36:50 <pikhq> Tcl has 11 rules which fully define it's semantics and syntax. :D
22:36:55 <ihope> Syntax can be defined using--dun dun dun--dependent BNF!
22:37:10 <lament> pikhq: forth has 1 or so
22:37:15 <ihope> pikhq: where?
22:37:45 <pikhq> http://swoolley.org/man.cgi/n/Tcl The Endekalogue.
22:41:15 <oklokok> ihope: i realized oklotalk's syntax, being quite complex, was a bit outta my reach, so i'm rehearsing my parsing skills atm :)
22:41:38 <ehird`> it has first-class objects representing functions, but normally you access them only through special syntax <-- special syntax? which?
22:41:41 <ihope> Hmm.
22:42:14 <ihope> ehird`: foo.call()?
22:42:14 <ehird`> also, method(x) objects behave equally to continuation objects behave equally to block objects.
22:47:35 <pikhq> Question: why the hell should there be a difference?
22:48:14 -!- Tritonio has joined.
22:48:40 <ehird`> pikhq, Because "x" on its own calls x
22:49:13 <pikhq> Ugh.
22:50:04 <ehird`> ruby is not particularly pretty or nice, no
22:50:06 <ehird`> but it's practical
22:50:09 <ehird`> and nicer than pelr
22:50:10 <ehird`> *perl
22:51:01 <lament> i'd use ruby if python didn't exist.
22:51:10 <lament> it's not all bad.
22:51:36 <pikhq> Just not as nice as I'd like.
22:51:36 <ehird`> python has some annoying flaws but it is a very pretty language
22:51:37 <lament> but certain design choices are questionable.
22:51:40 <ehird`> it is well-designed
22:51:56 <lament> in particular the whole sigil system and special syntax for passing functions
22:52:06 -!- Sgeo has quit (Connection timed out).
22:55:45 <oerjan> what are sigils?
22:56:20 <ehird`> $var @var, $ and @ are sigils
22:56:22 <ehird`> like perl variable prefixes
22:57:30 -!- Tritonio has quit (Remote closed the connection).
23:01:10 -!- Tritonio has joined.
23:02:22 <lament> and @@
23:03:14 <ihope> Python does indeed have annoying flaws.
23:03:20 <ihope> ...what are they?
23:05:17 <lament> lack of proper lambdas, lack of proper closures
23:06:02 <ihope> Proper lambdas... would that be the scope thing?
23:06:32 <ihope> (And I think I've forgotten what concept "closure" refers to.)
23:07:25 <ehird`> lament, lambda x: x
23:07:29 <ehird`> looks like a real lambda to me
23:07:33 <ehird`> of course, it can't handle statements
23:07:41 <ehird`> i hate the expr/statement distinction
23:08:49 <ihope> We all have differing opinions!
23:09:11 <lament> ihope: proper lambdas - those that can handle statements. Arguably they're just too hard to implement sanely due to significant indentation.
23:09:24 <ihope> Wait, do you mean how "print" is a statement, not an expression?
23:09:32 <ihope> Yeah, more things should be expressions.
23:09:42 <lament> well, no
23:09:58 <lament> the statement/expression distinction is pretty sane at the moment
23:10:08 * ihope shrugs
23:10:16 <oerjan> ihope: no, ours are exactly the same!
23:10:20 <lament> the problem is when you want to put a statement in a lambda, and can't
23:10:33 <ihope> I'm all for making things that bring things into scope expressions, too, except that's... difficult.
23:10:33 <lament> (because how would it look like?)
23:10:53 <ihope> def do_print(x): print x
23:10:54 <ihope> Or some such.
23:11:04 <lament> that's a function.
23:11:09 <lament> python already has functions. :)
23:11:16 <lament> it's not an anonymous function.
23:11:29 <ihope> Yes, but you can use do_print in a lambda.
23:11:41 <lament> nobody cares about print
23:11:41 <ihope> ...right?
23:11:48 <ihope> Well, there are things other than print.
23:11:53 <lament> the issues are with if/for/while
23:12:05 <ihope> Hmm...
23:12:12 <ihope> Does Python have a value conditional?
23:12:27 <ihope> (Is there an actual term for those?)
23:12:29 <lament> a what?
23:12:45 <ihope> if even(x) then x/2 else 3*x+1
23:12:53 <lament> no, python doesn't have that.
23:12:54 <ehird`> yes it does ihope
23:12:57 <ehird`> and lament.
23:13:03 <ehird`> X if Y else Z
23:13:08 <ihope> Oh, right.
23:13:34 <ihope> I've seen something like "even(x) and x/2 or 3*x+1" in some language, I think.
23:13:40 <lament> ehird`: what language is that?
23:13:51 <lament> ihope: yes, python has that.
23:14:05 <lament> ihope: you can always use short-circuiting for conditionals in languages that have short-circuiting.
23:14:09 <lament> such as C and Python
23:14:26 <ihope> But "even(x) and x/2 or 3*x+1" doesn't make any obvious sense...
23:14:36 <lament> no, it doesn't. it's ugly.
23:14:56 <ihope> Does "foo and bar" mean "bar if foo else False"?
23:15:07 <lament> yes.
23:15:12 <ihope> Weird.
23:15:25 <lament> that's not weird. that's the usual semantics of 'and'.
23:15:32 <ihope> Oh.
23:15:44 <ihope> But bar doesn't have to be a boolean here...
23:16:07 <ihope> ...anyway, does "foo or bar", then, mean "foo if foo else bar"?
23:16:18 <lament> ihope: python doesn't use 'real' booleans much.
23:16:25 <lament> ihope: that is, any type can be used as a boolean.
23:16:33 <lament> (and most things are true)
23:16:49 <lament> ihope: and yes.
23:16:57 <ehird`> lament, that is python.
23:17:06 <ehird`> lament, it is new in 2.5
23:17:13 <lament> oh? nice
23:17:22 <lament> that makes lambdas more useful :)
23:17:36 <lament> still ugly though
23:17:39 <ehird`> yes, quite
23:17:57 <lament> but that's what you get for trying to mix expressions and statements
23:20:53 <lament> damn, every time they release a new version of python they make it more ugly
23:21:15 <ihope> Let's hope they don't remove lambdas.
23:23:36 <lament> wow, this is just plain nuts http://docs.python.org/whatsnew/pep-342.html
23:24:00 <lament> it's more similar to jumpfuck than anything sane
23:24:52 * lament gives up on python
23:25:01 <ehird`> oh thanks
23:25:11 <ehird`> is jumpfuck now a synonym for "shitty"
23:25:16 <lament> no
23:25:19 <ehird`> :P
23:25:23 <lament> just that PEP is literally similar
23:28:57 -!- Tritonio has quit (Read error: 110 (Connection timed out)).
23:30:06 -!- Tritonio has joined.
23:33:08 -!- sebbu has quit ("@+").
23:40:18 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
23:40:23 -!- blahbot` has quit (Remote closed the connection).
23:43:31 * SimonRC find that colourless green ideas do indeed sleep furiously: http://www.linguistlist.org/issues/2/2-457.html#2
23:47:00 <oklokok> hmm
23:47:23 <oerjan> I somehow have the image of a very boring speech in a parliament somewhere, involving an environmental party member.
23:47:27 <oklokok> i just realized i've been awake for 30 hours now.
23:47:39 <SimonRC> oklokok: well sleep then
23:47:54 <oklokok> hmm, perhaps tomorrow, i feel codish now :\
23:47:56 <oerjan> oklokok: and furiously!
23:51:04 <oklokok> okay, i haven't been even 29 hours yet, 28:50... false alarm then
23:52:45 <oerjan> you've been awake long enough to start failing at arithmetic, that's bad enough :)
23:53:16 <oklokok> heh
23:53:34 <oklokok> well, failing in remembering stuff i didn't really memorize...
23:53:50 <oklokok> i always fail in elementary math
23:54:07 <oklokok> too many possibilities to make an error.
23:56:03 <ihope> Quick! What's 304 + 296?
23:56:16 <oklokok> 600
23:56:28 <ihope> And what's 296 + 304?
23:56:32 <oklokok> 600
23:56:36 <ihope> 600 - 296?
23:56:40 <oklokok> 304
23:56:41 <ihope> 600 - 304?
23:56:44 <oklokok> 296
23:56:51 <ihope> Good, you didn't make any stupid mistakes.
23:57:29 <oklokok> that only means i'm good at guessing where you're aiming at, not that i actually calculated them all right :)
23:58:46 <ihope> Now let's see if you don't make smart mistakes, either: what's d(e^x)/dx?
23:59:16 <oerjan> i know! i know! ask me! ask me!
←2007-07-17 2007-07-18 2007-07-19→ ↑2007 ↑all