←2008-02-27 2008-02-28 2008-02-29→ ↑2008 ↑all
00:10:02 -!- Tritonio_ has joined.
00:12:50 -!- calamari has quit ("Leaving").
00:21:23 <slereah_> Why are there 8.388.606 different values for NAN :o
00:22:02 <slereah_> Oh, it's also independant of the sign bit. So 16 millions :o
00:22:39 <Corun> The more the merrier! :-P
00:22:46 <olsner> celebrating diversity!
00:23:12 <slereah_> Well, I don't want to be racist and all, but if someone isn't a number, he should go back to his country.
00:24:27 <olsner> apparently, there were political issues with excluding so many non-numbers from the standard
00:25:02 <slereah_> Affirmative action strikes again!
00:25:18 <slereah_> But you don't see them giving a third value to the infinities!
00:25:21 <slereah_> Sickening.
00:36:20 -!- Corun has quit ("This computer has gone to sleep").
01:02:49 -!- sebbu has quit ("@+").
01:22:39 -!- Overand has quit ("Reconnecting").
01:22:41 -!- Overand has joined.
01:22:57 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
01:41:13 -!- Sgeo has joined.
03:41:49 <Tritonio_> goodnight everyone
03:44:09 -!- Tritonio_ has quit (Remote closed the connection).
03:47:15 <slereah_> http://youtube.com/watch?v=gCh-fOTGgks&feature=related
03:47:17 <slereah_> D:
03:47:20 <slereah_> D:
03:47:21 <slereah_> D:
04:13:43 <Sgeo> Why D:?
04:15:40 <Sgeo> I mean, besides the sucky attempt at singing
04:18:25 <pikhq> That's also horribly written.
04:18:50 <pikhq> I stopped at 'Formally, a Turing can be defined as'. . .
04:19:01 <pikhq> Just *ouch*.
04:19:14 <pikhq> My music-loving soul wants to execute him.
04:19:15 <slereah_> He won't win no gold.
04:19:58 <slereah_> Is there a good program to deal with graphs?
04:20:06 <slereah_> Bonus point for visualisation.
04:20:30 <pikhq> Is there a good way of embedding a graph in LaTeX?
04:20:41 <slereah_> Something that would be able to deal with some transformation on the graph, so that I might try to build the Andrei machine.
04:20:44 <slereah_> 9000.
04:26:24 <slereah_> I just don't dare to google "graph".
04:50:47 <slereah_> http://gato.sourceforge.net/
04:50:48 <slereah_> Ahah!
04:53:49 * Sgeo posts on Fark: Completely 100% irrelevant and off-topic, but when I see someone say "gObama", I immediately think of gOS.. Is Obama sponsored by Google?
04:53:49 <Sgeo> /waits for someone to not recognize a joke
04:53:49 <Sgeo> //darn
04:53:53 <slereah_> Aw shit. I need some modules.
04:54:02 <Sgeo> http://forums.fark.com/cgi/fark/comments.pl?IDLink=3430569
05:27:44 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
05:29:55 <slereah_> Argh.
05:30:16 <slereah_> I'm having trouble sleeping, because I have a graph doing the Fibonacci jig in my head.
06:22:58 -!- dbc has joined.
06:54:30 -!- oerjan has joined.
07:20:29 -!- immibis has joined.
07:31:03 -!- cherez has quit ("Leaving.").
07:31:46 -!- cherez has joined.
07:52:11 -!- immibis has changed nick to we.
07:52:18 -!- we has changed nick to u.
07:52:22 * u farted
07:52:39 * u r teh ..... what should i put here?
07:54:13 <oerjan> http://en.wikipedia.org/wiki/U_Thant
07:55:15 * u ask freenode to unban "you" as a nick
07:56:07 -!- u has changed nick to me.
07:56:38 <puzzlet> * you hit!
07:56:38 * me knows better than to start a sentence with "me", that's why he's changing his nick to "I"
07:56:40 -!- me has changed nick to I.
07:56:51 * I changed my nick
07:56:56 <I> lol
07:58:00 -!- I has quit (Nick collision from services.).
07:58:43 <puzzlet> lol
07:58:46 -!- immibis_ has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:38 <immibis_> d'oh
08:00:39 <immibis_> [20:56] --NickServ-- This nickname may not be used. Please choose another.
08:00:39 <immibis_> [20:56] --NickServ-- If you do not change within one minute, you will be disconnected
08:00:40 <immibis_> [20:56] --NickServ-- This nickname may not be used. Please choose another.
08:00:40 <immibis_> [20:56] --NickServ-- If you do not change within one minute, you will be disconnected
08:00:45 <immibis_> [20:56] --NickServ-- This nickname may not be used. Please choose another.
08:00:45 <immibis_> [20:56] --NickServ-- If you do not change within one minute, you will be disconnected
08:00:46 <immibis_> [20:56] --NickServ-- This nickname may not be used. Please choose another.
08:00:46 <immibis_> [20:56] --NickServ-- If you do not change within one minute, you will be disconnected
08:00:57 <immibis_> d'oh again i didn't mean to do that
08:01:16 -!- immibis_ has changed nick to immibis.
08:07:31 <immibis> ok. "you" is out. "I" is out.
08:07:34 -!- immibis has changed nick to we.
08:07:51 <we> i wonder if NS will let me register "I" and disable that protection...
08:07:53 -!- we has changed nick to I.
08:08:17 -!- tejeez has quit (brown.freenode.net irc.freenode.net).
08:08:17 -!- Deewiant has quit (brown.freenode.net irc.freenode.net).
08:08:19 -!- I has changed nick to immibis.
08:08:19 <immibis> nope
08:09:27 -!- immibis has changed nick to GreaseMonkey.
08:09:51 -!- GreaseMonkey has changed nick to immibis.
08:11:11 -!- immibis has changed nick to u.
08:11:20 * u will like me having this nick or else
08:11:26 -!- u has changed nick to yu.
08:16:05 * yu will say something
08:17:38 * yu WILL follow the directions on this sign. The sign says "Stop. Drive sideways."
08:17:55 <yu> "three types of ball are offered. They are one. two. three."
08:22:02 <yu> "In my attempt to kill a fly, I drove into a telephone pole."
08:22:13 <yu> "The telephone pole was approaching fast. I was attempting to swerve out of its path when it struck my front end."
08:22:23 <yu> # "The guy was all over the road. I had to swerve a number of times before I hit him."
08:24:56 -!- yu has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to).
08:52:14 -!- jix has joined.
09:30:48 -!- tejeez has joined.
09:34:27 -!- oerjan has quit ("Later").
09:37:09 -!- lifthrasiir has quit (brown.freenode.net irc.freenode.net).
09:37:10 -!- puzzlet has quit (brown.freenode.net irc.freenode.net).
09:37:11 -!- Deewiant has joined.
09:37:58 -!- puzzlet has joined.
09:37:58 -!- lifthrasiir has joined.
09:39:34 -!- jix has quit (Read error: 110 (Connection timed out)).
09:40:46 -!- olsner has quit ("Leaving").
10:39:26 -!- jix has joined.
10:53:29 -!- Corun has joined.
10:53:52 -!- Corun has quit (Client Quit).
11:05:12 -!- mental has joined.
11:05:32 -!- lament has quit (Read error: 113 (No route to host)).
11:36:19 -!- jix has quit ("This computer has gone to sleep").
12:00:29 -!- jix has joined.
12:02:58 -!- AnMaster_ has joined.
12:04:08 -!- AnMaster has quit (Nick collision from services.).
12:04:36 -!- AnMaster_ has changed nick to AnMaster.
12:21:17 -!- Tritonio_ has joined.
12:25:04 -!- jix has quit ("This computer has gone to sleep").
12:34:55 -!- sebbu has joined.
13:18:12 -!- RedDak has joined.
13:22:55 -!- sebbu has quit (Read error: 60 (Operation timed out)).
13:32:11 -!- jix has joined.
13:57:54 -!- jix has quit ("This computer has gone to sleep").
14:07:55 <AnMaster> in brainfuck, is it the case that a + or - directly in front of a "," can be optimized away?
14:08:17 -!- sebbu has joined.
14:21:59 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)).
14:22:01 -!- slereah__ has joined.
14:49:00 -!- wildhalcyon has joined.
14:49:40 -!- slereah_ has joined.
14:51:50 <slereah_> Well, if it's in front of a , you can probably remove it
14:52:38 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)).
14:54:21 <AnMaster> slereah_, hm ok
14:54:35 <AnMaster> also strings of + and - can be optimized
14:54:38 <AnMaster> like ++-
14:54:40 <AnMaster> to just +
14:54:57 * AnMaster is pondering a brainfuck optimizer
14:55:22 <AnMaster> one thing that is obvious (in the compiler or interpreter), replace [-] or [+] with "zero cell" opcode
15:01:56 <slereah_> Where can I get the Profile module for Python?
15:22:34 <wildhalcyon> I was thinking of writing a hyperexponentiation program in bf
15:23:48 <wildhalcyon> use a trinary operator (x,h,y) where it computes x^^..h..^^y
15:26:48 <wildhalcyon> ... seems a little hard maybe
15:27:14 * slereah_ 's trying to write an addition program on a Kolmogorov machine
15:27:45 -!- Corun has joined.
15:28:10 -!- slereah_ has changed nick to Slereah.
15:29:16 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)).
15:48:22 -!- slereah_ has joined.
15:49:01 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
15:50:07 -!- jix has joined.
16:00:38 -!- jix has quit ("CommandQ").
16:00:58 -!- jix has joined.
16:17:59 -!- ehird` has joined.
16:19:22 <ehird`> foobar
16:23:34 <ehird`> ooh
16:23:37 <ehird`> immibis has been spamming again
16:24:17 <ehird`> AnMaster: brainfuck optimization is pretty advanced these days
16:24:24 <ehird`> the stuff you have talked about is 3-line stuff
16:24:37 <ehird`> nowadays we optimize linear loops to O(1) and multiplication and everything ;O
16:28:46 <AnMaster> ehird`, ah
16:28:55 <AnMaster> ehird`, can you point me to an example of that?
16:29:26 <ehird`> AnMaster: of what
16:29:26 <slereah_> Well, I'm sure EsCo can satisfy all your BF needs!
16:29:29 <ehird`> slereah_: tee hee
16:30:03 <ehird`> AnMaster: http://mazonka.com/brainf/bff4.c this optimizes linear loops to O(1) if compiled with -DLNR
16:30:12 <ehird`> http://mazonka.com/brainf/index.html some benchmarks
16:30:15 <AnMaster> interesting
16:30:41 <ehird`> it's the fastest bf interp out there
16:31:11 <AnMaster> hrrm
16:31:18 <ehird`> it seems to use ints, though, not chars
16:31:21 <AnMaster> someone should write a bf frontend for gcc
16:31:30 <ehird`> nah
16:31:32 <ehird`> what's the point?|
16:31:39 <ehird`> gcc wouldn't be able to do much to the code
16:31:43 <AnMaster> ehird`, cross platform :P
16:31:47 <ehird`> ESO1's reference will include a fast bf interp and compiler anyway
16:31:52 <ehird`> AnMaster: so what
16:31:55 <AnMaster> x86, x86_64, whatever arch you want
16:32:01 <ehird`> compiling to machine code is pointless for BF
16:32:14 <ehird`> compile to good C, and then gcc -O3, because gcc can spot idioms better than you
16:32:17 <ehird`> especially in C.
16:32:20 <AnMaster> ehird`, nah you could do common code reduction to "un-inline" it
16:32:25 <ehird`> sigh
16:32:31 <ehird`> AnMaster: gcc is not suitable for this
16:32:35 <ehird`> http://www.swapped.cc/bf/ <-- the reigning champ interp before bff4
16:32:36 <AnMaster> for size that could be nice
16:32:38 <AnMaster> ehird`, hm true
16:33:12 <ehird`> oh -- and bff4.c doesn't do interactive input
16:33:15 <ehird`> it's dbfi
16:33:18 <ehird`> prog!input
16:33:24 <ehird`> so no luck running e.g. lostkng.b on it
16:33:39 <ehird`> anyway, the ESO1 reference suite will be the best one out there when it's worked on, i'll bet
16:33:42 <AnMaster> ehird`, aww
16:33:42 <slereah_> Well, you could do lostkng!the solution
16:33:47 <slereah_> And just watch it!
16:33:48 <ehird`> slereah_: hehe
16:33:51 <AnMaster> ehird`, well I want interactive input
16:33:53 <ehird`> lostkng is only slow in startup
16:33:54 <AnMaster> that's important for me
16:34:00 <ehird`> AnMaster: http://www.swapped.cc/bf/files/bff-1.0.3.1.tar.gz
16:34:05 <ehird`> or..
16:34:11 <ehird`> I'll mod bff4.c for interactive.
16:34:15 <ehird`> Should just take a mo.
16:34:16 <AnMaster> ehird`, or I could mod it
16:34:20 <ehird`> naw
16:34:22 * AnMaster is a C programmer too
16:34:22 <ehird`> i'm far cooler
16:34:23 <ehird`> ;)
16:34:34 <ehird`> i love the style of code in bff4.c
16:34:35 <ehird`> it's so opaque
16:34:54 <AnMaster> ehird`, possibly, but I'm way geekier, I updated mosaic to support basic xhtml and plan to make it good enough to use it as my normal browser
16:34:56 * slereah_ is not a programmer at all
16:34:56 <slereah_> Damn you people and your fancy code!
16:34:57 <AnMaster> yes I'm mad!
16:35:00 <AnMaster> BHAHAHAHA!
16:35:12 <AnMaster> ;P
16:35:16 <ehird`> AnMaster: why would you want to do that, though?
16:35:22 <ehird`> mozaic isn't even useful, like lynx is
16:35:25 <slereah_> Let's hook up AnMaster on PSOX
16:35:27 <ehird`> it's just crap
16:35:28 <AnMaster> ehird`, because it make ppl ask why I want to do it
16:35:31 <ehird`> slereah_: gawd no :D
16:35:32 <AnMaster> ;P
16:35:36 <AnMaster> what is PSOX?
16:35:46 <ehird`> AnMaster: i'm way geekier, i started making an OS once! :(
16:35:48 <AnMaster> ehird`, and I run a gopher server
16:35:48 <ehird`> it sucked, sure, but hey
16:35:52 <ehird`> i got it to print hello world :|
16:36:00 <slereah_> http://www.esolangs.org/wiki/PSOX
16:36:29 <ehird`> psox
16:36:30 <AnMaster> hrrm, what's on the other side of the scale of minimalism
16:36:31 <ehird`> is horrid
16:36:35 <ehird`> do not listen to it AnMaster! :(
16:36:38 <AnMaster> bf is near the bottom
16:36:42 <AnMaster> so what is at the top?
16:36:44 <ehird`> AnMaster: malbolge
16:36:44 <AnMaster> intercal?
16:36:45 <ehird`> or intercal
16:36:52 <slereah_> Unikitten
16:36:53 <ehird`> orr
16:36:53 <ehird`> ORK
16:36:56 <ehird`> slereah_: well, yeah
16:36:59 <AnMaster> ehird`, well malbolge doesn't have a lot of opcodes
16:37:00 <ehird`> unikitten is the most bloated thing out there
16:37:09 <ehird`> AnMaster: http://www.esolangs.org/wiki/ORK
16:37:11 <ehird`> just verbose though
16:37:16 <AnMaster> http://www.esolangs.org/wiki/PSOX <-- wowowowow though
16:37:18 <slereah_> Well, once it exists.
16:37:31 <AnMaster> unikitten?
16:37:31 <ehird`> AnMaster: it's horrid
16:37:35 <ehird`> Sgeo doesn't know what malloc() is
16:37:36 <AnMaster> someone tried lolcode?
16:37:43 <AnMaster> sgeo?
16:37:44 <ehird`> and he thought a good 'networking' domain was HTTP
16:37:45 <ehird`> :(
16:37:48 <ehird`> AnMaster: PSOX maintainer.
16:37:54 <AnMaster> ah
16:38:02 <slereah_> Lolcode isn't very esoteric.
16:38:03 <AnMaster> ehird`, well what do you mean not know malloc?
16:38:06 <AnMaster> slereah_, that's true
16:38:11 <ehird`> AnMaster: he had no idea what it was
16:38:11 <AnMaster> lolcode is just weird
16:38:14 <ehird`> just none
16:38:18 <AnMaster> ehird`, err, weird
16:38:24 <ehird`> AnMaster: he only knows Python..
16:38:25 <AnMaster> you can't code C without knowing it
16:38:32 <ehird`> he doesn't even know basic brainfuck algorithms, really
16:38:37 <AnMaster> ehird`, well if it is written in python?
16:38:38 <ehird`> and he's probably watching me say this right now
16:38:44 <slereah_> Heh.
16:38:49 <ehird`> AnMaster: yes, but it would affect the architechtural stuff of it
16:39:03 <AnMaster> ehird`, just bohem-gc *runs*
16:39:14 <ehird`> boehm gc has malloc.
16:39:15 <ehird`> heh.
16:39:18 <AnMaster> I actually use bohem-gc, for a leak detector :)
16:39:24 <ehird`> I use boehm-gc.
16:39:28 <ehird`> it's excellent.
16:39:31 <AnMaster> combined with valgrind and mudflap it is quite useful
16:39:35 <ehird`> (for real GC)
16:39:49 <AnMaster> ehird`, it isn't, how do I register an allocation from X for example
16:39:50 <AnMaster> that is
16:39:54 <AnMaster> X allocated a widget
16:40:00 <ehird`> AnMaster: you asked this last time
16:40:01 <AnMaster> I need to place some pointers in widget
16:40:06 <ehird`> because manuals are too difficult to read for you, apparently
16:40:10 <AnMaster> ehird`, yes I read the docs, and found no way
16:40:14 <AnMaster> :/
16:40:26 <ehird`> AnMaster: go ask in #c
16:40:32 <ehird`> i cba to explain
16:40:42 <AnMaster> ehird`, "cba" means?
16:40:59 <AnMaster> ehird`, well #c is an unfriendly channel
16:41:07 <AnMaster> :/
16:41:33 <ehird`> it sure is
16:41:37 <ehird`> and it has PoppaVic
16:41:42 <ehird`> cba=can't be arsed
16:41:46 <AnMaster> ehird`, exactly!
16:41:55 <AnMaster> anyway, I read the docs
16:42:00 <AnMaster> I read the header files
16:42:11 <AnMaster> still no idea how to tell it about an already malloced object
16:42:38 <AnMaster> I tried GC_add_roots, no idea why it didn't work :/
16:44:45 <ehird`> if( strchr(",.",a) ){ a=getbf(); continue; }
16:44:55 <ehird`> getbf only litsens to BF instructions
16:44:58 <ehird`> so surely, this is a bug
16:46:35 <AnMaster> ehird`, the getbf?
16:46:41 <AnMaster> or the GC_add_roots?
16:49:18 <GregorR> Darn, Gregor -= CMU :P
16:49:23 -!- slereah__ has joined.
16:52:09 <ehird`> GregorR: Those guys made CMUCL. You don't want to be anywhere near them!
16:52:11 <ehird`> x) ehird@ehird-desktop ~/LostKingdomBF $ ../bff4 LostKng.b
16:52:12 <ehird`> <no output>
16:52:15 <ehird`> doggarn!
16:52:22 <GregorR> lol
16:53:48 <ehird`> GregorR: have you ever looked at bff4.c? :P
16:53:55 <GregorR> Probably.
16:54:14 <ehird`> Hmm.
16:54:27 <ehird`> eso1's reference interpreter/compiler needs a name.
16:54:30 <AnMaster> ehird`, someone need to use better variable names
16:54:34 <AnMaster> and more comments
16:54:44 <ehird`> AnMaster: the source is not that hard to understand; just at first
16:54:51 <ehird`> verbose c code is horrible
16:55:32 <AnMaster> ehird`, true, but so is obfuscated as well
16:55:44 <ehird`> this ain't obfuscated
16:56:03 <ehird`> AnMaster: This is obfuscated C: http://nsl.com/papers/origins.htm
16:56:17 <ehird`> and what's more, that guy actually writes all his C like that, and seriously
16:56:18 <ehird`> :-)
16:56:53 <AnMaster> I don't believe that
16:57:30 <ehird`> AnMaster: APL.
16:57:34 <ehird`> He also made K.
16:57:36 <AnMaster> APL?
16:57:39 <ehird`> hahah
16:57:53 <ehird`> http://www.kx.com/a/k/examples/read.k
16:57:54 <ehird`> that's some k code
16:57:57 <ehird`> translates k to english
16:57:58 -!- Slereah has joined.
16:58:12 <AnMaster> oh god
16:58:20 <AnMaster> it needs to be run on itself
16:58:31 <ehird`> http://www.kx.com/a/k/examples/xhtml.k this parses xhtml
16:59:10 <ehird`> AnMaster: KDB, a very widely used, fast, stable etc. database program, used by loads of finance stuffz, made by Kx systems (same people as K, obviously), is written in K
16:59:16 <ehird`> and according to them, contains 0 loops
16:59:22 <ehird`> crazy crap
16:59:32 <AnMaster> why no loops?
16:59:36 <AnMaster> what is wrong with loops?
16:59:39 <ehird`> AnMaster: it's an array programming language
16:59:57 <ehird`> scalar values in K etc are just 0d arrays
17:00:02 <AnMaster> I see
17:00:09 <ehird`> 1 2 3 + 1 2 3 == 2 4 6
17:00:10 <AnMaster> but why no loops?
17:00:17 <ehird`> so basically all operations are generalized across arrays
17:00:19 <wildhalcyon> I wish I could write C code like that
17:00:24 <ehird`> so you don't have to loop over an array
17:00:34 <ehird`> AnMaster: because that's the style of array programming languages
17:00:36 <AnMaster> ehird`, ok, but on hardware level it would loop
17:00:39 <ehird`> wildhalcyon: me too! it's not easy.
17:00:44 <ehird`> AnMaster: gosh, really
17:00:50 <ehird`> i thought faeries did it
17:00:55 <AnMaster> lol
17:01:04 <AnMaster> ehird`, anyway what's so nice with "no loops"
17:01:13 <AnMaster> I mean, why would anyone boost with it?
17:01:14 <ehird`> AnMaster: it's array programming language style.
17:01:19 <wildhalcyon> I would disagree with anyone who told me it WAS C code unless I knew already
17:01:23 <ehird`> well they obviously prefer it
17:01:45 -!- Slereah- has joined.
17:02:15 <ehird`> http://nsl.com/papers/unlambda.htm unlambda in k
17:02:36 <Slereah-> k?
17:02:39 <ehird`> did i mention that in K it's actually shorter & more trivial to write a gui app than a console one? it's really, really weird
17:03:10 <ehird`> http://nsl.com/papers/befreak.htm this interp+gui = http://nsl.com/k/befreak.k
17:03:50 -!- RodgerTheGreat has joined.
17:04:35 <AnMaster> ehird`, where can one read about the k language itself?
17:04:49 <ehird`> AnMaster: http://www.kuro5hin.org/story/2002/11/14/22741/791
17:04:54 <ehird`> that introduces it very gently.
17:05:00 <ehird`> AnMaster: i must warn you though; it's not open source
17:05:05 <AnMaster> ehird`, ah
17:05:09 <AnMaster> then I won't use it
17:05:15 <ehird`> kx systems used to offer a free interpreter for most systems, but they appear to have stopped
17:05:30 <AnMaster> ehird`, couldn't someone make an open source compiler for it (why would anyone want that?)
17:05:39 <ehird`> AnMaster: compiler, no.
17:05:42 <ehird`> interpreter, yes.
17:05:46 <ehird`> but the k library is huuuuuge
17:05:52 <ehird`> i doubt it would be feasable to reproduce it
17:06:01 <ehird`> without years and years of stuffs
17:06:36 <AnMaster> library hm?
17:07:27 <ehird`> AnMaster: all its stdlib
17:07:27 -!- slereah__ has quit (Read error: 110 (Connection timed out)).
17:07:31 <ehird`> i.e. more than the basic lang
17:07:31 <AnMaster> ah
17:07:40 <ehird`> which already uses most characters on a keyboard, I'll venture
17:12:19 -!- slereah_ has quit (Read error: 110 (Connection timed out)).
17:15:20 -!- Slereah has quit (Read error: 110 (Connection timed out)).
17:15:26 <Slereah-> Hell, Kolmogorov didn't have I/O on his mind with his machine.
17:16:42 <ehird`> typedef enum {
17:16:42 <ehird`> ADD,
17:16:42 <ehird`> MOVE,
17:16:42 <ehird`> SET,
17:16:42 <ehird`> WHILE,
17:16:43 <ehird`> IF,
17:16:45 <ehird`> INPUT,
17:16:47 <ehird`> OUTPUT
17:16:49 <ehird`> } op_t;
17:16:51 <ehird`> i should expand that, sometime.
17:17:08 <AnMaster> ehird`, hm?
17:17:12 <Slereah-> What is it for?
17:18:17 <ehird`> bfi
17:18:30 <ehird`> the ESO1 reference interpreter
17:21:26 <ehird`> 'It's impractical to program in BrainFuck.' GENIUSES, ON THE INTERNET
17:21:52 <Slereah-> Where? Where!
17:22:05 <ehird`> some ridiculous forum
17:22:20 <Slereah-> Lynxplz
17:22:50 <ehird`> too late
17:24:26 <ehird`> Slereah-: how can you optimize linear loops, actually?
17:24:26 <ehird`> like
17:24:30 -!- Sgeo[College] has joined.
17:24:34 <ehird`> [++>--<+++>>>-<+>--<<++<+>-<-]
17:24:34 <Sgeo[College]> Hi all
17:24:36 <ehird`> hmm, wait..
17:24:47 <ehird`> no, i have no idea how you can optimize that
17:24:47 <Slereah-> I don't know, I'm not the one who can optimise BF!
17:24:56 <Sgeo[College]> grr why am I not connecting to Sine?
17:25:25 <Sgeo[College]> ehird`: can you connect to Sine?
17:25:46 <Slereah-> I guess you could try to run what's inside and look at the results.
17:25:49 <ehird`> hmm
17:25:54 <ehird`> maybe i should:
17:25:56 <Slereah-> And then change it to something more efficient
17:26:04 <ehird`> like, if you have a program going right 4357345 cells
17:26:07 <ehird`> then back to cell 1
17:26:11 <ehird`> i wonder if GC would be useful
17:26:18 <ehird`> Slereah-: I meant, algorithmically.
17:26:32 <Slereah-> Well, that was my algorithmical idea.
17:26:42 <Slereah-> I'm not the algorithm expert.
17:34:16 <wildhalcyon> [++>--<+++>>>-<+>--<<++<+>-<-] ... Optimizing ... [+++++>-->>-<+>--<<++<+>-<-] ...
17:34:27 <Corun> Oooh, I spy bf
17:35:19 <Slereah-> Algorithm :
17:36:00 <Slereah-> Post loop to wildhalcyon
17:36:00 <Slereah-> Wait for answer
17:36:11 <wildhalcyon> [+++++>-->>-<+>--<<++<+>-<-] ... Optimizing ... [+++++>-->>-<+>--<<++<>-<] ...
17:37:20 <Slereah-> [+++++>-->+++>->---<]
17:37:20 <Slereah-> Am I doin it rite?
17:37:29 <wildhalcyon> [+++++>-->>-<+>--<<++<>-<] ... Optimizing ... [+++++>-->+>---<<++<>-<] ...
17:37:44 <wildhalcyon> Yours seems correct
17:38:11 <wildhalcyon> wait.. maybe not
17:40:57 <Corun> "<>"
17:41:05 <Corun> Surely that can be optimized out?
17:41:12 <wildhalcyon> Here's the correct optimization: [+++++>->+>---<<<]
17:41:45 <ehird`> wildhalcyon: But..
17:41:48 <ehird`> bff4.c
17:41:53 <ehird`> says it optimizes balanced <> loops into O(1)
17:42:04 <ehird`> http://mazonka.com/brainf/bff4.c
17:42:23 <wildhalcyon> uh huh?
17:42:38 <ehird`> wildhalcyon: Well, that optimization of yours isn't O(1).
17:42:50 <ehird`> wait
17:42:51 <ehird`> not O(1)
17:42:52 <ehird`> one setp
17:42:55 <ehird`> *step
17:43:03 <wildhalcyon> I don't see how that's possible
17:43:33 <ehird`> wildhalcyon: Take a look at its code
17:43:37 <ehird`> I don't know either, but it does do it.
17:44:27 <wildhalcyon> Bah, now I have to read code. Today is just sucky.
17:44:55 <wildhalcyon> Its not one step. He uses a for loop.
17:49:19 -!- Corun has quit ("This computer has gone to sleep").
17:49:32 <wildhalcyon> It is optimized, but not to O(1), only to O(n) where n is the number of cells traversed in the linear loop.
17:52:59 <ehird`> wildhalcyon: Ah.
17:53:13 <ehird`> wildhalcyon: So not that much of an optimization?
17:53:30 <wildhalcyon> Well, it depends on how badly the code is written, but in general, no, not really an optimization.
17:53:43 <ehird`> Might help with compiled; e.g. lostkng.b, I guess.
17:54:03 <ehird`> Still, bfi&bfc will include it.
17:54:43 <AnMaster> wildhalcyon, how did you optimize above
17:54:47 <AnMaster> as in
17:54:48 <AnMaster> <wildhalcyon> [+++++>-->>-<+>--<<++<>-<] ... Optimizing ... [+++++>-->+>---<<++<>-<] ...
17:54:59 <AnMaster> anyway <> is redundant
17:55:30 <wildhalcyon> I agree, it is
17:55:41 <AnMaster> wildhalcyon, anyway how did you do do convert it?
17:55:44 <wildhalcyon> I was doing it in steps
17:55:47 <AnMaster> ah
17:55:53 <AnMaster> wildhalcyon, but how?
17:55:54 <wildhalcyon> After that, I abandoned that approach and tried something much faster
17:56:26 <wildhalcyon> Go through the loop and number each ">" or "<" by what cell it ends up pointing to
17:56:37 <AnMaster> hm ok
17:56:47 <AnMaster> yes that makes sense
17:56:50 <wildhalcyon> so the original loop looks like this: [++1--0+++123-2+3--21++0+1-0-]
17:56:57 <wildhalcyon> Now, just sort and group the terms together
17:57:07 <AnMaster> ok
17:57:16 <wildhalcyon> Remove the extra arrows, and any cancelling positive and negative signs.
17:57:18 <wildhalcyon> That's it
17:58:12 <AnMaster> hrrm, bf is really RISC :)
17:58:51 <Slereah-> Like most esolangs.
17:59:52 <wildhalcyon> Well, more instructions usually mean convenient programming. Last time I checked, esolangs were the opposite of convenient.
18:00:36 <Slereah-> What, convenient programming? We don't like convenient programming here!
18:00:37 <ehird`> wowzers, gcc can optimize pure functions
18:00:40 <ehird`> it's almost a FP compiler
18:00:41 <ehird`> :-)
18:00:48 <AnMaster> Slereah-, intercal :)
18:01:15 <AnMaster> ehird`, of course it can, when marked with __attribute__((const)) iirc
18:01:44 <ehird`> no
18:01:48 <ehird`> that's there too
18:01:49 <AnMaster> hm?
18:01:49 <ehird`> but
18:01:53 <ehird`> __attribute__((pure))
18:01:58 <ehird`> makes it optimize it just like a mathematical operator
18:02:00 <ehird`> subexpression stuff, etc
18:02:01 <AnMaster> ehird`, difference is in pointers iirc
18:02:12 <ehird`> BFI_GCC_ATTR((noreturn, format(printf, 4, 5))) void bfi_die(bfi_err_code, int, int, char *, ...);
18:02:15 <ehird`> ugliest definition EVAR
18:02:39 <ehird`> I mean, I have the attribute declarations on a line, but then it's too long, so the whole funcdef itself has its own line
18:02:48 <ehird`> oh
18:02:50 <ehird`> and this:
18:02:51 <ehird`> #define BFI_FOPEN(fn, md) \
18:02:51 <ehird`> (fopen((fn), (md)) || \
18:02:55 <ehird`> ((BFI_ERR(BFI_ERR_FOPEN, "BFI_FOPEN(%s, %s) - %s", #fn, #md, \
18:02:57 <ehird`> strerror(errno))), NULL))
18:02:58 <AnMaster> ehird`, agreed, you can just do: #ifndef __GNUC__ #define __attribute__(x) /**/ #endif iirc
18:02:59 <ehird`> which i still haven't perfected yet
18:03:06 <ehird`> AnMaster: yes
18:03:09 <ehird`> well
18:03:15 <ehird`> i don't want to define anything not BFI_ or bfi_ prefixed.
18:03:23 <ehird`> this should be non-conflicting all the time :-)
18:04:23 <ehird`> # define BFI_ERR(code, fmt, ...) \
18:04:23 <ehird`> (bfi_die((code), __FILE__, __LINE__, (fmt), __VA_ARGS__), return (code))
18:04:24 <AnMaster> ehird`, well I'll make a C compiler called bficc then? (Basic Functional Integrated C Compiler, don't ask me what THAT means...)
18:04:25 <ehird`> kinda ugly. :D
18:04:32 <ehird`> AnMaster: heh.
18:04:35 <AnMaster> ehird`, and C99
18:04:36 <AnMaster> :P
18:04:46 <ehird`> so what if it's c99
18:04:49 <ehird`> i need variadic macros
18:04:52 <AnMaster> ehird`, it's great :)
18:04:54 <ehird`> the rest will be ansi c
18:04:57 * AnMaster codes C99 too
18:05:00 <ehird`> actually, you're right.. i really want c89
18:05:02 <ehird`> this is for ESO
18:05:06 <ehird`> this interp should work in 845793845345 years
18:05:06 <ehird`> :)
18:05:12 <ehird`> AnMaster: could i do this:
18:05:21 <ehird`> myprintfalikemacro(a,b,("x",y,z),abc)
18:05:25 <ehird`> since cpp would treat that as one arg
18:05:35 <AnMaster> BFI_ERR1(code, fmt, arg1); BFI_ERR2....
18:05:37 <AnMaster> and so on?
18:05:45 <ehird`> uhh, dunno how to splice that into the printf call though
18:05:47 <AnMaster> I saw some c89 code doing something like that
18:05:48 <ehird`> AnMaster: meh
18:05:55 <AnMaster> ehird`, up to ARGS10
18:05:59 <ehird`> hah
18:06:03 <ehird`> i'll just do 3, for now
18:06:15 <AnMaster> ehird`, for doing one function definition, for K&R C and ANSI C
18:06:17 <AnMaster> :(
18:06:58 <AnMaster> #define ARGS2(t,a,u,b) \
18:06:58 <AnMaster> (t a, u b)
18:07:03 <AnMaster> for ANSI C
18:07:11 <AnMaster> I don't have the K&R version around still
18:07:19 <AnMaster> ehird`, horrible
18:07:24 <ehird`> AnMaster: the only interpreters/compilers that will be ESO-approved as reference implementations are either ANSI C89 or languages with an interp approved by es
18:07:25 <ehird`> o
18:07:39 <ehird`> so you can have a stack of 4 interpreters, as long as you have ANSI C89 at the bottom.
18:07:46 <ehird`> they are designed to be the most portable out there.
18:07:53 <ehird`> they don't need to be the prettiest code on earth
18:08:04 <AnMaster> ehird`, so? GCC 4 can be compiled with a C89 compiler I bet
18:08:12 <AnMaster> called bootstrapping
18:08:20 <AnMaster> ehird`, problem solved :)
18:08:27 <ehird`> AnMaster: you are amusing
18:08:37 <AnMaster> ehird`, huh?
18:08:51 <AnMaster> GCC does suported staged bootstrap
18:09:44 <AnMaster> ehird`, in any case, that means you are free to code C99 I think?
18:09:45 <AnMaster> right?
18:09:51 <ehird`> that is so not the point
18:10:02 <AnMaster> hm?
18:10:25 <AnMaster> you could even use GCC specific extensions
18:10:27 <AnMaster> :P
18:11:42 <ehird`> exactly; why do you think a lot of projects don't?
18:11:45 <ehird`> because your idea is ridiculous
18:11:59 <AnMaster> indeed it is :D
18:15:04 <ehird`> this is beautiful:
18:15:07 <ehird`> void *foo = BFI_MALLOC(43594357934857435);
18:15:07 <ehird`> -->
18:15:12 <ehird`> void *foo = (malloc(43594357934857435) || (((bfi_die((BFI_ERR_OOM), "test.c", 6, ("BFI_MALLOC(%s)"), ("43594357934857435")), return (BFI_ERR_OOM))), ((void *)0)));
18:15:57 <AnMaster> oh god
18:16:03 <AnMaster> why such a large malloc
18:16:10 <AnMaster> ehird`, and this will fail at:
18:16:14 <AnMaster> int x = 4;
18:16:22 <AnMaster> void *foo = BFI_MALLOC(x++);
18:16:24 <AnMaster> ;P
18:16:32 <AnMaster> or possibly ++x
18:16:37 <ehird`> AnMaster: a large malloc to test my error handling
18:16:37 <ehird`> duh
18:16:40 <ehird`> and sure it will
18:16:45 <ehird`> but that's because the user is an idiot
18:16:47 <ehird`> actually
18:16:49 <ehird`> no it won't
18:16:53 <AnMaster> ehird`, hehehe :)
18:16:55 <ehird`> that will be
18:17:06 <ehird`> void *foo = (malloc(++x) || (((bfi_die((BFI_ERR_OOM), "test.c", 6, ("BFI_MALLOC(%s)"), ("++x")), return (BFI_ERR_OOM))), ((void *)0)));
18:17:10 <ehird`> because the argument is stringified
18:17:16 <ehird`> i did that on purpose, to avoid re-evaluation
18:17:26 <AnMaster> ehird`, heh , the # operator iirc?
18:17:29 <ehird`> yes
18:17:34 <AnMaster> is that in C89?
18:17:35 <AnMaster> hm
18:17:39 <ehird`> it may be less useful since you don't get the actual int, actually
18:17:41 <ehird`> and yes, it is, AnMaster
18:17:44 <AnMaster> k
18:17:53 <ehird`> i may make it reevaluate for the sake of better error messages
18:17:56 <ehird`> and assume the caller isn't an idiot.
18:18:12 <AnMaster> ehird`, BFI_MALLOC(rand()) *runs*
18:18:26 <ehird`> AnMaster: I said something about the caller not being an idiot
18:18:36 <ehird`> shiiit
18:18:37 <ehird`> i can't do
18:18:39 <ehird`> (a, return b)
18:18:50 <ehird`> crappers, how am i going to make BFI_MALLOC expressionable then
18:18:59 <ehird`> it needs to be able to return from the function it's called in
18:19:03 <ehird`> that's why its a macro in the first place
18:19:12 <AnMaster> hrm
18:19:16 -!- wildhalcyon has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.11/2007112718]").
18:19:17 <AnMaster> ehird`, longjmp ;P
18:19:25 <ehird`> AnMaster: which requires a setjmp.
18:19:33 <AnMaster> or 1) a macro that calls 2) a function for most of it's stuff
18:19:35 <ehird`> and a variable decl, which i also can't expressionize
18:19:42 <ehird`> and, AnMaster, that still doesn't help
18:19:43 <ehird`> the fact is
18:19:55 <ehird`> i need to use BFI_MALLOC in an expression, because of 'void *p = BFI_MALLOC(...)'
18:20:01 <ehird`> but in the function doing that
18:20:03 <ehird`> if the malloc fails
18:20:03 <AnMaster> hm true
18:20:06 <ehird`> i must return BFI_ERR_OOM
18:20:21 <ehird`> which i cannot do, as far as i can see, in expression context
18:20:24 <ehird`> there is a gcc extension:
18:20:26 <ehird`> ({ ... })
18:20:30 <ehird`> but, well, gcc extension.
18:20:30 <ehird`> :)
18:20:36 <AnMaster> ehird`, yes I know about that
18:20:59 <AnMaster> ehird`, idea: use a different macro language first
18:21:03 <ehird`> lool
18:21:04 <AnMaster> like first process file in m4
18:21:10 <ehird`> very funny, AnMaster
18:21:13 <AnMaster> then compile result using normal C preprocessor
18:21:16 <AnMaster> ehird`, and mad :D
18:21:46 -!- mental has changed nick to lament.
18:22:45 <ehird`> best anagram evar
18:23:10 <AnMaster> heheh
18:27:58 <Slereah-> Steraman
18:28:32 <AnMaster> Slereah-, that's an anagram of my nick isn't it?
18:29:01 <AnMaster> however, aspell doesn't accept "Steraman" as valid, nor can I find any sub parts of it that are valid
18:29:05 <Slereah-> Yes. Yes it is3
18:29:11 <AnMaster> An being my initials btw
18:29:27 <Sgeo[College]> We're doing MS Visio now
18:29:32 <Slereah-> But it has a certain super hero ring to it.
18:29:40 <AnMaster> Slereah-, hrm true
18:29:42 <Sgeo[College]> I added two entities more than the slide we're copying had
18:29:43 <Sgeo[College]> :D
18:29:53 * Sgeo[College] is about to die of boredom
18:30:04 <AnMaster> what is MS Visio?
18:30:26 <Slereah-> S also be my initial :o
18:30:30 <Slereah-> S. Lereah
18:32:01 -!- RedDak has quit (Remote closed the connection).
18:32:44 <Slereah-> Hm.
18:32:59 <Slereah-> ais. Gregor R. Rodger the Great.
18:33:07 <Slereah-> There seems to be a trend here.
18:33:22 <Slereah-> Simon RC :o
18:34:13 -!- ehird` has quit (Read error: 113 (No route to host)).
18:35:59 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client").
18:41:25 -!- ehird` has joined.
18:43:59 -!- oerjan has joined.
18:46:18 <bsmntbombdood> http://you.presscue.com/node/550
18:46:20 <bsmntbombdood> hehe
18:46:23 <bsmntbombdood> modularity ftw
18:48:47 <Slereah-> Heh.
18:48:58 <Slereah-> *right click*
18:50:06 * oerjan ponders: Is it a good or a bad thing that dying of boredom takes a long time :D
18:50:21 <oerjan> oh sgeo left
18:50:42 <Slereah-> Yes. To a better place.
18:50:47 <Slereah-> May he rest in peace.
18:51:48 <oerjan> wouldn't that risk recursion...
18:59:42 -!- timotiis has joined.
19:01:40 <ehird`> bsmntbombdood: that's pretty silly
19:01:41 <ehird`> :)
19:02:00 <ehird`> Slereah-: oh wow, *right click*. as if apple still sold one-button mice.
19:02:28 <Slereah-> Yes. Now they have a middle button, that doesn't work like a right click at all :o
19:02:44 <ehird`> err, no.
19:02:48 <ehird`> they have left, right.
19:02:58 <ehird`> the mighty mouse also has a 3d scrollwheel which can be clicked and two side buttons
19:03:00 <ehird`> but that's not important.
19:03:10 <ehird`> and their right click most certainly works properly...
19:03:12 <Slereah-> Orly?
19:03:12 <Slereah-> Then my mom needs to buy a new mac :o
19:03:16 <ehird`> Right click, context menu, oh wao.
19:03:24 <ehird`> and -- most likely.
19:03:28 <ehird`> Or..
19:03:30 <ehird`> Just a new mouse.
19:05:18 <bsmntbombdood> http://bp0.blogger.com/_XNXLcHFsW1U/R8Z894yBmcI/AAAAAAAACaQ/p4RK6SwloFM/s1600-h/306139.jpg
19:05:19 <bsmntbombdood> loflgasm
19:09:01 <ehird`> bsmntbombdood: lmao
19:15:53 -!- slereah_ has joined.
19:15:56 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
19:16:39 <bsmntbombdood> obtw
19:16:44 * bsmntbombdood is a free man now!
19:16:52 <slereah_> Were you a slave before?
19:16:56 * bsmntbombdood turned in his school-withdrawal papers today
19:17:10 <bsmntbombdood> yup
19:18:14 <slereah_> So what will you do now!
19:19:44 <bsmntbombdood> i know it's cliche, but i'm thinking of traveling and then starting my distillery
19:20:28 <slereah_> But what of prohibition!
19:21:41 <bsmntbombdood> um
19:21:56 <bsmntbombdood> the 21st ammendment was ratified 70 years ago
19:23:12 <slereah_> If you're travelling, don't travel to the past then!
19:23:56 <bsmntbombdood> wtf are you talking about
19:24:15 <slereah_> Time travel.
19:56:31 <ehird`> crap! i can't use getopt for bfi
19:56:47 <ehird`> because: it's not standard C. :)
19:59:18 <RodgerTheGreat> Do you think it'd be a neat idea if my assembler could be instructed that a given chunk of data memory is "for constants" (ie, they will never be written to during execution), and then have it search the rest of the program for that value?
19:59:59 <RodgerTheGreat> Like, if an instruction anywhere used the value 13, and you're looking for a 13, you just give the data half of that instruction as the address your constant 13 is stored, rather than using additional memory
20:01:12 <RodgerTheGreat> if used improperly, you could inadvertently create some really nasty self-modifying code situations, but if used properly, you could potentially squeeze many bytes out of the finished binary
20:03:47 <ehird`> RodgerTheGreat: Whatever it is it should be done automatically.
20:03:50 <RodgerTheGreat> I think if I combine this with some other ideas, I'll wind up with a very size-efficient compiler with *spectacular* results in out-of-bounds errors
20:03:54 <RodgerTheGreat> ehird`: yes, naturally
20:03:58 <ehird`> RodgerTheGreat: No -- I mean
20:04:01 <ehird`> no src file change
20:04:29 <RodgerTheGreat> It's much better if users simply declare data as "constant" and then everything else is automated
20:04:37 <ehird`> no
20:04:40 <ehird`> that's too manual
20:05:07 <RodgerTheGreat> well, not doing that and still having it work is on the order of the halting problem
20:07:27 <oerjan> as a general rule, you should not try to solve the halting problem in a hobby project.
20:07:37 <ehird`> yes you should
20:07:43 <ehird`> RodgerTheGreat: anyway, herueruerueruerusitics
20:07:48 <RodgerTheGreat> exactly, which is why I'm doing my way instead of ehird`'s way
20:10:21 <ehird`> POLL:
20:10:36 <ehird`> should bfi/bfc parse brainfuck from a file, or read it in first then parse a string?
20:18:12 <ehird`> bfi_ins *bfi_parse(FILE *f, bfi_err_code *err)
20:18:12 <ehird`> {
20:18:12 <ehird`> bfi_ins *res = (malloc(sizeof(bfi_ins)) || (((void *)0)), ((void *)0));
20:18:12 <ehird`> if (!(res)) { if ((err)) { *(err) = (BFI_ERR_OOM); } return ((void *)0); };
20:18:12 <ehird`> return res;
20:18:12 <ehird`> }
20:18:15 <ehird`> I love you, cpp
20:48:13 <ehird`> hmm
20:48:15 <ehird`> question...
20:48:23 <ehird`> in brainfuck, you actually don't need a move instruction, do you?
20:48:27 <ehird`> i mean, a compiler doesn't need one
20:48:34 <ehird`> oh, wait
20:48:37 <ehird`> you do, for loops that >
20:48:50 -!- olsner has joined.
20:49:39 -!- Sgeo[College] has joined.
21:05:41 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client").
21:20:08 <bsmntbombdood> I LOVE RICK ROLL
21:21:14 <ehird`> we're no strangers to rick roll
21:21:21 <ehird`> dooby dooby doo
21:21:30 <bsmntbombdood> NEVER GONNA GIVE YOU UP
21:21:35 <bsmntbombdood> NEVER GONNA LET YOU DOWN
21:21:36 <slereah_> What is love?
21:21:42 * slereah_ is doing it wrong
21:21:43 <bsmntbombdood> NEVER GONNA RUN AROUND AND DESERT YOU
21:22:35 <oerjan> NEVER GONNA CHOP YOU INTO LITTLE PIECES
21:23:02 <ehird`> NEVER GOING TO TELL A LIE AND EAT YOUR FAECES
21:23:10 <ehird`> i rhymed it! wooo
21:25:19 <bsmntbombdood> ehird`: you wouldn't get this from any other guy
21:25:44 <slereah_> :D
21:26:14 <ehird`> quite true.
21:26:39 <bsmntbombdood> AND DESSERT YOU
21:26:41 <bsmntbombdood> mmm, dessert
21:27:01 <bsmntbombdood> the bartender is so funny
21:29:16 <bsmntbombdood> CHOCOLAWT RANE
21:29:24 <bsmntbombdood> SOME STAY DRY AND OTHERS FEEL THE PAIN
21:29:25 <bsmntbombdood> CHOCOLAWT RANE
21:29:47 <bsmntbombdood> A BABY BORN WILL DIE BEFORE THE SIN
21:29:55 <slereah_> Now this is my story, all about how.
21:30:04 <slereah_> My life got twisted, turned upside down!
21:30:12 <slereah_> And I'd like you to just sit right there!
21:30:24 <slereah_> I'll tell you I became the prince of a tow called Bel Air.
21:32:53 <bsmntbombdood> hmmm
21:33:06 <bsmntbombdood> it would appear to me chocolate rain is about discrimination
21:36:31 <bsmntbombdood> lofl, tay zonday covered rickroll
21:36:41 <ehird`> yes
21:36:42 <ehird`> yes he did
21:37:03 <slereah_> Well, everyone asked him to!
21:40:36 <bsmntbombdood> hahahahahhaahahha it's chocolate rain: http://encyclopediadramatica.com/Image:Chocolatepee.jpg
21:40:44 <bsmntbombdood> get it, get it, get it, hrrrr hrrr
21:40:51 <olsner> now *that's* a rickroll... luring someone into performing a cover of it :P
21:46:08 -!- RedDak has joined.
21:49:16 -!- olsner has quit ("Leaving").
21:50:26 -!- oerjan has quit ("Good night").
22:00:30 -!- ihope has joined.
22:08:51 -!- jix has quit ("CommandQ").
22:44:10 <ihope> Stephen Malinowski's Fantasy in F: http://www.vimeo.com/93612
22:44:45 * slereah_ is trying to make a tic tac toe on the love machine 9000
22:45:26 <slereah_> And trying to do it before tomorrow :o
22:45:47 <ihope> I like it. My mom finds it disastrously dissonant.
22:49:33 <ihope> I would say that alliteration is effortless emphasis, but it took me about five minutes to come up with the phrase "effortless emphasis".
22:49:43 -!- slereah_ has changed nick to Slereah.
22:50:41 <ihope> "I hate the piano, with its diabolical diatonic scales."
22:53:03 <Slereah> La boite diabolique?
22:54:29 <ihope> What's a boite?
22:55:44 <Slereah> A box.
22:58:05 <ihope> And is that French?
23:03:19 <Slereah> Yes.
23:03:27 <Slereah> It was also in Look Around You.
23:03:38 <Slereah> The 19 forbidden notes, in LA BOITE DIABOLIQUE
23:04:01 <ihope> Interesting.
23:06:14 -!- RedDak has quit (Remote closed the connection).
23:11:39 <ihope> lament: didn't you once have a little IRC thing called kilbot, which ran a simple game where people shot each other and tried to stay alive?
23:11:45 <ihope> Do you still have that?
23:28:27 -!- timotiis has quit ("leaving").
23:30:51 -!- kilbot has joined.
23:31:01 <lament> !join
23:31:01 <ehird`> Some people, when confronted with regular expressions, always think "I know,
23:31:02 <ehird`> I'll paste that Jamie Zawinski quote, and people will think I'm clever!"
23:31:02 <ehird`> These people have a problem.
23:31:07 <ehird`> -- omouse, reddit
23:31:08 <ehird`> err
23:31:09 <ehird`> !join
23:31:20 <ehird`> er, no
23:31:20 <ehird`> dmd
23:31:23 <lament> !start
23:31:24 <kilbot> Opening a new game. Say !join to join. Say !start again to start.
23:31:30 <lament> !join
23:31:31 <kilbot> lament: You have already joined.
23:31:33 <lament> oh
23:31:38 <lament> !start
23:31:39 <kilbot> Need more players.
23:31:59 <lament> you have to say start before saying join.
23:32:07 <lament> i mean, someone has to say start.
23:32:36 <Slereah> Zawinski?
23:32:37 <ehird`> !join
23:32:51 <lament> okay
23:32:53 <lament> !start
23:32:53 <kilbot> The game has started!
23:32:55 <lament> !kill ehird`
23:32:56 <ehird`> Slereah: Sometimes annoying, sometimes clever. Ex-Netscape hacker who now owns a nightclub with wifi and stuff.
23:32:56 <kilbot> lament shoots at ehird`
23:32:59 <ehird`> !kill lament
23:32:59 <kilbot> ehird` shoots at lament
23:33:01 <ehird`> !kill lament
23:33:01 <ehird`> !kill lament
23:33:01 <ehird`> !kill lament
23:33:01 <kilbot> ehird`: Wait a bit...
23:33:01 <lament> ohh
23:33:02 <kilbot> ehird`: Wait a bit...
23:33:02 <kilbot> ehird`: Wait a bit...
23:33:02 <ehird`> !kill lament
23:33:02 <kilbot> ehird`: Wait a bit...
23:33:02 <ehird`> !kill lament
23:33:02 <kilbot> ehird`: Wait a bit...
23:33:07 <lament> !kill ehird`
23:33:07 <kilbot> lament: Wait a bit...
23:33:09 <ehird`> THIS SUCKS
23:33:09 <ehird`> :(
23:33:10 <lament> three lives eh
23:33:12 <ehird`> !kill lament
23:33:12 <kilbot> ehird`: Wait a bit...
23:33:17 <ehird`> lament: can i has src
23:33:19 <ehird`> !kill lament
23:33:19 <kilbot> ehird`: Wait a bit...
23:33:24 <ehird`> !kill lament
23:33:24 <lament> it was probably you who suggested that stupid three lives idea
23:33:24 <kilbot> ehird`: Wait a bit...
23:33:28 <ehird`> no
23:33:30 <Slereah> What's his quote?
23:33:30 <ehird`> i never played this
23:33:31 <ehird`> :D
23:33:41 <ehird`> Slereah: Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
23:33:49 <Slereah> Heh.
23:33:55 <Slereah> I once tried to do that.
23:34:01 <lament> !kill ehird`
23:34:02 <Slereah> And I had two problems D:
23:34:03 <kilbot> sender + : You have already shot at ehird`
23:34:06 <ehird`> !kill lament
23:34:07 <kilbot> sender + : You have already shot at lament
23:34:11 <ehird`> THIS IS STUPID
23:34:11 <lament> sender + ???
23:34:16 <ehird`> lament: show me the src!
23:34:19 <ehird`> i will make it awesome.
23:34:25 -!- kilbot has quit (Remote closed the connection).
23:34:44 <lament> ehird`: i assure you it would be a better idea to start from scratch.
23:34:51 <lament> the code is not pretty
23:34:56 <ehird`> I want to seeeee it
23:34:59 <lament> also as you can see by the "sender +"
23:35:01 <ehird`> so I can rewrite it from scratch, obviously
23:35:17 <lament> i was actually in the process of changing the game around when i abandoned it
23:36:04 <lament> you don't want the source! the entire message handler is one big multi-level if statement.
23:36:05 <ehird`> shoooow
23:36:08 <ehird`> come on
23:36:10 <ehird`> i've written worse
23:36:10 <ehird`> :D
23:36:16 <lament> why don't you rewrite it in erlang or haskell
23:36:30 <lament> or, for bonus points, in both
23:36:59 <ehird`> maybe
23:37:00 <ehird`> but show me it first
23:37:07 <lament> okay then
23:38:07 <lament> http://z3.ca/~lament/killbot.py
23:38:16 <lament> http://z3.ca/~lament/irclib.py
23:38:18 <ehird`> nice domain name
23:38:25 <ehird`> also
23:38:25 <ehird`> 403
23:38:47 <lament> again
23:39:21 <lament> ignore that it's in python and pretend that it's in perl
23:39:27 <lament> then the ugly code makes more sense
23:40:24 <ehird`> lament: It's not THAT bad.
23:40:46 <lament> it's pretty bad. the only goodness in it is irclib.py, which isn't mine.
23:41:02 <ehird`> lament: I may rewrite it in Haskell.
23:41:12 <ehird`> Using Network.IRC -- though I wil lwrite my own lib sometime.
23:41:23 <ehird`> lament: Is there something actually specifying the game? The code is hard to follow.
23:42:07 <lament> mwahahaha.
23:42:13 <lament> told you!
23:42:20 <lament> it would be easier just to ask me
23:42:24 <ehird`> lament: ok
23:42:25 <ehird`> consider this an ask
23:42:36 <lament> especially since the rules of the game changed during development
23:42:55 <lament> the game i originally implemented went like this:
23:43:14 <lament> somebody says !start, then people say !join, then somebody says !start again which starts the game.
23:43:34 <lament> then you say !kill nick to kill somebody (if both you and they are players)
23:43:50 <ehird`> and then...
23:44:10 <lament> or you can say !friend nick, which is really stupid because it means that now you can't kill them, but they still can kill you.
23:44:23 <lament> once you kill somebody, they're dead.
23:44:40 <lament> the game ends when the remaining players are all mutual friend.
23:44:42 <lament> s.
23:45:11 <lament> so then i modified those rules so that people have 2 lives
23:45:19 <ehird`> why would you !friend nick
23:45:20 <ehird`> :|
23:45:21 <lament> and you can only shoot the same person once
23:45:35 <lament> so it takes cooperation of two people to kill somebody
23:46:15 <lament> so with two players, A shoots B, B shoots A and the game stalls.
23:46:56 <lament> i don't think killbot checked for that, so they had to !friend each other for a shared victory.
23:47:11 <lament> feel free to come up with less brain-damaged rules.
23:48:43 <ihope> Exactly the same as that, except you can shoot people as many times as you want, the game ends after no shooting has been done for a while, and you can raise players from the dead. >:-)
23:48:53 <ehird`> ihope: Now THAT sounds fun!
23:49:51 <ehird`> #kilbot, I guess.
23:52:25 -!- Sgeo has joined.
23:53:22 <ihope> Ahoy, Sgeo.
23:53:24 <lament> ehird`: do it in erlang!
23:53:32 <ehird`> lament: why :(
23:53:34 <ehird`> Haskell is more fun
23:53:36 <ehird`> I don't know erlang
23:53:44 <ihope> Do it in Epigram! >:-)
23:53:54 <lament> ehird`: erlang looks interesting
23:53:58 * Sgeo almost mistook this for Sine
23:54:03 <Sgeo> was wondering why lament was here
23:54:14 <ihope> That happens. :-)
23:54:41 <Sgeo> I'd dragged so many people from here to sine
23:55:04 <lament> what's sine? :)
23:55:22 <ihope> I think it's been described as a semi-private chat server.
23:55:41 <ihope> With roughly 30 people on it.
23:56:09 <lament> ah.
23:56:26 -!- calamari has joined.
23:56:32 <ihope> No password or anything is required, but you do need to know the server name and port number.
23:56:41 <ihope> The port number's relatively guessable. :-P
23:56:42 <ehird`> which isn't that hard if you google for it actually.
23:56:49 <ihope> Indeed.
23:57:20 <lament> oh, i see.
23:57:47 <lament> never heard of "Creatures".
23:59:34 <calamari> hi
23:59:37 <Sgeo> Hi calamari
23:59:47 <Sgeo> Did I mention the new safety features I'm planning
←2008-02-27 2008-02-28 2008-02-29→ ↑2008 ↑all