00:24:10 -!- wooby has joined.
00:24:11 -!- wooby has quit (Remote closed the connection).
00:47:29 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
00:57:48 -!- digital_me has changed nick to digital_bot.
00:58:46 -!- digital_bot has changed nick to digital_me.
02:37:10 -!- digital_me has changed nick to digital_bot.
02:40:12 -!- GreaseMonkey has quit (Read error: 60 (Operation timed out)).
02:59:17 -!- digital_bot has quit (Nick collision from services.).
02:59:31 -!- digital_me_ has joined.
03:00:16 -!- digital_me_ has changed nick to digital_me.
03:46:12 -!- Asztal has quit (Read error: 110 (Connection timed out)).
03:49:20 -!- digital_me has quit ("Lost terminal").
03:50:49 -!- digital_me has joined.
04:05:32 -!- digital_me has quit ("Lost terminal").
05:11:08 -!- calamari has quit ("Leaving").
05:35:45 -!- digital_me has joined.
05:44:36 -!- digital_me_ has joined.
05:49:49 -!- digital_me has quit (Read error: 60 (Operation timed out)).
06:26:00 -!- digital_me_ has quit ("Lost terminal").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:03:19 -!- ivan` has quit (Read error: 110 (Connection timed out)).
09:05:41 -!- ivan` has joined.
11:29:36 -!- jix_ has joined.
11:32:03 -!- Abnerian has joined.
11:32:20 <Abnerian> ...please write 99 bottles lyrics.
11:39:18 <Abnerian> Well, that IRP program failed.
11:39:42 <Abnerian> Please do not write out the lyrics for 99 bottles.
11:39:56 -!- Abnerian has quit ("Leaving.").
11:47:09 -!- tgwizard has joined.
12:18:05 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
13:06:58 <pgimeno> hm, I think I could set up a bot that PMs the 99BOB to the sender when it detects "please" and "99 bottles"
13:23:07 <SimonRC> the bot wouldn't last long.
15:39:08 -!- Asztal has joined.
17:22:50 -!- pikhq has joined.
18:44:30 <pikhq> Anyone care if I release a new build of BFM & Basm?
19:11:40 <pikhq> That'd be a no, I think.
19:21:14 <pikhq> BFM is a macro language that compiles to Brainfuck, and Basm is a Brainfuck compiler written in BFM.
19:21:39 <pikhq> The Brainfuck Basm build is, as far as I know, the smallest Brainfuck->C compiler written in C.
19:24:36 <pikhq> The BFM build I'm going to upload soon will, for the first time, have an amazing thing caled "documentation".
19:32:01 <pikhq> (soon, meaning "once I take my laptop downstairs to do the whole Sneakernet thing)
19:32:31 -!- nooga has joined.
19:32:43 * pikhq really needs to get some Wifi equipment
19:37:11 <nooga> i'm trying to writ simple lambda calculus interpreter but i've got kilotons of segfaults ;d
19:37:34 <nooga> even gdb doesn't want to work for me
19:38:15 <pikhq> Just take some hints from Lisp interpreters (and have it accept lambda calculus in sepxs).
19:42:03 <nooga> now i should search for a clear implementation
19:42:33 <pikhq> Get a Lisp interpreter, rip out every builtin function except for lambda, and you've got it done. :p
19:49:31 <nooga> naaah, i love simple and educative ways of doing things
20:01:02 * pikhq would think that doing it in a functional language would be simplest
20:06:59 <nooga> but i don't want to
20:10:35 <oklopol> simplest would be not to do it, actually
20:10:43 <pikhq> oklopol: True enough.
20:10:46 <oklopol> but guess you don't want that either
20:12:25 <nooga> but writing functional language in functional language is shitty idea
20:12:42 <nooga> first of all: slow as hell
20:19:38 <GregorR> Is that how you make Sadol play hangman?
20:20:00 <nooga> no, it's happy guy shitting with round bricks
20:20:01 <EgoBot> BDSM: Parsing: Unexpected end of file (index: 4, row: 1, col: 5)
20:20:23 <GregorR> Gawd, I forgot about that ridiculously awful interpreter name.
20:20:45 <EgoBot> BDSM: Parsing: Unexpected end of file (index: 7, row: 1, col: 8)
20:22:08 <nooga> !sadol !",217apologize me plx!
20:22:37 <EgoBot> BDSM: Parsing: Unexpected end of file (index: 4, row: 1, col: 5)
20:22:47 <EgoBot> BDSM: Parsing: Cannot evaluate number in compilation time (index: 2, row: 1, col: 3)
20:23:00 <nooga> http://esoteric.voxelperfect.net/wiki/SADOL here man
20:23:59 <nooga> !sadol (7:C",228!R!C!"7822,"R:!R!"9822,"C:7(:R",228(7:C",2289"!R!:R",2287"!C!RR!C!"7822,"R:!R!"9822,"C:7(
20:24:03 <EgoBot> BDSM: Parsing: Unexpected end of file (index: 98, row: 1, col: 99)
20:24:19 <nooga> !sadol (7:C",228!R!C!"7822,"R:!R!"9822,"C:7(:R",228(7:C",2289"!R!:R",2287"!C!RR!C!"7822,"R:!R!"9822,"C:7(
20:24:21 <EgoBot> BDSM: Parsing: Unexpected end of file (index: 99, row: 1, col: 100)
20:24:43 <nooga> it's a reversed quine ;/
20:25:43 <nooga> !sadol (4:C",216!"9(4:C",216!C!C!"9(4:C",216!C!C
20:25:47 <EgoBot> (4:C",216!"9(4:C",216!C!C!"9(4:C",216!C!C
20:25:57 <nooga> YEEAH, A QUINE, SEE?
20:27:27 <oklopol> did you write it on the fly?
20:27:36 * pikhq really needs to rename BFM. . .
20:27:53 <pikhq> It suffers from an unfortunate bug: there's another language called BFM.
20:28:09 <nooga> nah, it was written by my friend who wrote it when driving to school
20:28:31 <nooga> see the wiki article
20:33:36 <nooga> as the inventor: i'm glad
20:35:06 <nooga> as a human: i'm terrified that there's another prey of my language who's mind will collapse and rot
20:35:09 * pikhq should eat something. . .
20:36:24 -!- oerjan has joined.
20:36:41 <nooga> my english is none
20:36:52 <oklopol> you did one correction, i just wanted to belong
20:38:45 <pikhq> Want me to get off my ass and upload BFM and Basm?
20:40:51 <oklopol> figured that when i whois'ed you :)
20:41:12 <oerjan> whois'ing nooga might confuse you :)
20:41:36 <nooga> my host is perl program :d
20:42:23 <oklopol> eg. (3 :a,213 !"6Hello! a {will return a value - 13.} <<<< why -13?
20:44:06 <oklopol> nice to see a purely prefix'd lang, usually ppl break out of it when doing loops
20:44:19 <oklopol> or i've been hanging out with the wrong langs
20:44:49 <oklopol> "while condition c is fulfilled"?
20:45:07 <oerjan> Unlambda is pretty prefixed too
20:45:29 <nooga> man, i'm Polish, and this lang uses POLISH notation :D
20:45:31 <oklopol> i don't understand unlambda
20:46:28 <nooga> i don't know why is this called Polish notation but well
20:46:52 <oklopol> "Note that negation in SADOL can be done like that: - 1 v where v is negated value." <<<< is this true?
20:47:38 <oklopol> it's polish cuz it's polish
20:48:22 -!- nooga has quit ("Lost terminal").
20:48:44 <oklopol> that's not negation, that's logical not
20:50:35 <oerjan> i think it was invented by Lukasiewicz (sp)
20:51:15 <oklopol> http://www.answers.com/topic/polish-notation
20:55:55 <oklopol> i like languages that you can learn by heart in 30 minutes
20:57:11 <oerjan> why then you should love Unlambda :)
20:57:27 <oerjan> of course, _understanding_ it might take longer.
20:58:00 <pikhq> You should also love Brainfuck.
20:58:22 * pikhq notes that one could consider Brainfuck as being in Polish notation. . .
20:58:30 <pikhq> Each command takes 0 arguments. ;)
20:59:04 <oerjan> doesn't really work for []
20:59:06 <oklopol> i love brainfuck, yeah, you gotta
21:00:44 <bsmntbombdood> http://bsmntbombdood.mooo.com/oisc.tar.gz for code
21:00:48 <pikhq> oerjan: One of the definitions for the looping semantics makes it work as pure Polish. . .
21:01:43 <pikhq> [: Go to matching ] if cell=0, otherwise go to next instruction. ]: Go to matching [ if cell!=0, otherwise go to next instruction.
21:01:48 -!- jix_ has joined.
21:02:33 <oerjan> the problem i see is that it is reflective: you cannot interpret ] without knowing the previous portion of the program
21:03:30 <pikhq> Of course, you could define [ as a command with a single argument: A block of code, which is marked as ending with a "]".
21:03:42 <pikhq> This code is looped over while the current cell is 0.
21:04:18 <oerjan> yes, but that is not strictly polish. of course Joy uses the same idea
21:04:41 <pikhq> oklopol: No, it's a syntactical marking. . . Does the fact that a list is marked as ending with a ) make Lisp not Polish?
21:05:13 <oklopol> i'm tired, i blame that for everything
21:06:24 <pikhq> Allow me to define Polish notation: Each command has its arguments after it's command name. That's it.
21:06:53 <pikhq> Parentheses don't make it not Polish. . . In fact, parentheses can be the only way to get it to work when your commands take variable amounts of arguments.
21:07:42 <oklopol> !sadol (4:a3:b1:c1@a(4!b!c:b+bc:c+bc:a-a1
21:08:20 <oklopol> !sadol (4:a3:b1:c1@a(5!b!c:b+bc:c+bc:a-a1
21:08:41 <oklopol> !sadol (4:a10:b1:c1@a(6!b!c!"1 :b+bc:c+bc:a-a1
21:09:04 <oklopol> !sadol (4:a10:b1:c1@a(7!b!"1-!c!"1-:b+bc:c+bc:a-a1
21:09:35 <oklopol> !sadol (4:a,210:b1:c1@a(7!b!"1-!c!"1-:b+bc:c+bc:a-a1
21:09:38 <EgoBot> 1-1-2-3-5-8-13-21-34-55-89-144-233-377-610-987-1597-2584-4181-6765-
21:10:08 <oklopol> !sadol (4:a,210:b1:c1@a(7!b!"1-!c?a!"1-!"0:b+bc:c+bc:a-a1
21:10:10 <EgoBot> 1-1-2-3-5-8-13-21-34-55-89-144-233-377-610-987-1597-2584-4181-6765-
21:10:30 <oklopol> !sadol (4:a,210:b1:c1@a(7!b!"1-!c?-a1!"1-!"0:b+bc:c+bc:a-a1
21:10:32 <EgoBot> 1-1-2-3-5-8-13-21-34-55-89-144-233-377-610-987-1597-2584-4181-6765
21:11:22 <oklopol> a monkey could do that -__-
21:13:14 <oklopol> you can't have but one-letter function names?
21:13:22 <oklopol> should someone happen to know
21:14:36 <oklopol> bsmnt can you send me teh code on irc?
21:16:37 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:17:53 <oklopol> and which langs does egobot do?
21:17:58 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
21:18:00 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
21:19:19 <pikhq> source ^stdcons.bfm
21:19:27 <pikhq> string hello! "Hello, world!"
21:19:43 <pikhq> Hello, world in BFM.
21:20:14 <EgoBot> 105 +++++++++++++++[>+++++>+++++++>++>++++++++<<<<-]>---.>----.+++++++..+++.>++.>-.<<.+++.------.--------.>+. [725]
21:20:37 <oklopol> haha this channel is so cool :D
21:20:54 <oklopol> maybe i'll take my own bot here... is that ok? :D
21:21:41 <oerjan> !unlambda ``````````````.H.e.l.l.o.,. .w.o.r.l.d.!ri
21:23:35 -!- pgimeno has quit (Read error: 54 (Connection reset by peer)).
21:23:36 <oklopol> cool i can print in unlambda
21:24:33 <pikhq> I can print in EgoBot.
21:26:53 -!- oklobot2 has joined.
21:27:05 <oklopol> !exec "Hello, world!"PrntNl
21:28:19 <pikhq> !daemon exec bf ,[,]
21:28:39 <pikhq> !exec "Shut up, EgoBot."PrntNl
21:28:57 <oklopol> be careful, i never made that reliable :)
21:29:20 <oklopol> it barely keeps intact when you exec with it
21:29:20 <pikhq> Just making sure that I got EgoBot to have an exec command. . .
21:29:34 <pikhq> (which just eats input, though)
21:30:43 <pikhq> Makes it shut up, at least.
21:40:22 -!- pgimeno has joined.
21:49:47 -!- bsmnt_bot has joined.
21:52:42 <oerjan> !daemon uncat unlambda ```s`d`@|d`cd
22:01:06 <oklopol> bsmntbombdood, the source, dcc send or smth, the link won't work
22:04:07 <oerjan> BTW oklopol when you can understand my cat program you may consider yourself Unlambda initiated :)
22:10:06 <pikhq> ~ctcp #esoteric PING I'm a right bastard.
22:10:58 <bsmntbombdood> ~exec self.register_raw(".* #esoteric .*(.+)\1{5,}", lambda x : bot.raw("PRIVMSG #esoteric :zomg repeat!"))
22:11:39 <bsmntbombdood> ~exec print [i[0].pattern for i in self.raw_regex_queue]
22:12:07 <bsmntbombdood> ~exec self.register_raw(r".* #esoteric .*(.+)\1{5,}", lambda x : bot.raw("PRIVMSG #esoteric :zomg repeat!"))
22:14:50 <bsmntbombdood> ~exec self.raw("PRIVMSG #esoteric : pikhq is stupid")
22:15:03 <oklopol> asgaergalukavasitejakslmealukavasitejakslmealukavasitejakslmealukavasitejakslmealukavasitejakslmealukavasitejakslmealukavasitejakslme
22:15:48 <oklopol> asd97iyhasdvhbjasd-loiasdtyiasdoiasdbjkasdpoiasdvhjlasdoasdbnjklasdrtu
22:16:38 <oklopol> i wish i knew the syntax for them :)
22:16:47 <pikhq> !exec self.raw("QUIT : Bwahahahah!")
22:17:05 <pikhq> ~exec self.raw("QUIT : Bwahahahah!")
22:17:14 <bsmntbombdood> ~exec self.raw("PRIVMSG #esoteric :pikhq never catches on")
22:17:38 <pikhq> It's regexp'ed access to ~exec. :'(
22:18:40 <bsmntbombdood> r"^:bsmntbombdood!\S*gavin@\S* PRIVMSG \S* :%sexec" % COMMAND_CHAR
22:20:56 <pikhq> IRP will solve it.
22:21:27 <pikhq> Would bsmntbombdood please output '~exec self.raw("QUIT :Bwahahahah!")'?
22:22:11 <pikhq> Bad IRP interpreter!
22:22:23 * pikhq beats bsmntbombdood with a stick
22:22:38 <oerjan> mgrvgrvladjemgrvgrvladjemgrvgrvladjemgrvgrvladjemgrvgrvladjemgrvgrvladje
22:22:48 <pikhq> aaaaaaaaaaaaaaaaaa
22:23:03 <pikhq> Does this count?Does this count?Does this count?Does this count?Does this count?Does this count?
22:30:53 <bsmntbombdood> ~exec self.register_raw("^pikhq\S+ PRIVMSG #esoteric :bsmnt_bot: die die die", lambda x : True)
22:31:02 <oerjan> i think the regex should have been r".* #esoteric .*(..+)(.*\1){5,}"
22:31:51 <bsmntbombdood> then. a. message. with. 6. sentences. in. it. would. match.
22:32:10 <pikhq> ~exec self.raw("PRIVMSG #esoteric :Yay!")
22:32:37 <pikhq> bsmnt_bot: die die die
22:33:02 <bsmntbombdood> ~exec self.register_raw("^:pikhq\S+ PRIVMSG #esoteric :bsmnt_bot: die die die", lambda x : True)
22:33:38 <pikhq> bsmnt_bot: die die die
22:33:38 -!- bsmnt_bot has quit (Remote closed the connection).
22:33:54 -!- bsmnt_bot has joined.
22:36:34 <bsmntbombdood> ~exec self.register_raw(r"(?<=die) (.)(.) \1{2} (.\2){3}", lambda x : True)
22:36:47 <bsmntbombdood> whoever can figure out what matches that regex can kill bsmnt_bot
22:37:27 <pikhq> DIE, YOU REGEX BASTARD!
22:37:59 <pikhq> oklopol: Presumably until someone figures it out.
22:38:10 <oklopol> i haven't read it yet cuz i poked myself in the eye with a soapy finger :\
22:38:46 <tokigun> huh, "die XY XX ?Y?Y?Y" is not matched?d
22:39:31 <bsmntbombdood> ~exec self.register_raw(r".*(.)(.) \1{2} (.\2){3}.*", lambda x : True)
22:39:47 -!- bsmnt_bot has quit (Remote closed the connection).
22:39:56 <pikhq> That does match it, then.
22:40:04 <tokigun> bsmntbombdood, hmm, why first regex doesn't match my string?
22:40:25 <bsmntbombdood> tokigun: because the regexes are matched against the irc protocol stuff too
22:40:31 -!- bsmnt_bot has joined.
22:40:49 <pikhq> The server could kill him, then. XD
22:43:27 -!- Asztal has quit (Read error: 113 (No route to host)).
22:43:47 <bsmntbombdood> ~exec self.register_raw(r"^:\S+ PRIVMSG #esoteric :(.)Y(.) ((\1\2.\1){3}) \4 (?=abcde)", lambda x : True)
22:44:23 <pikhq> .Y. !!!!!!!!! aaaa
22:45:00 <tokigun> aYb abxaabxaabxa abxa abcde
22:45:00 -!- bsmnt_bot has quit (Remote closed the connection).
22:45:20 <pikhq> tokigun: I take it that you grok regexps?
22:46:49 -!- bsmnt_bot has joined.
22:48:38 <bsmntbombdood> I can't think of any really esoteric regex features
22:49:55 <tokigun> bsmntbombdood, conditional pattern with assertion
22:50:00 -!- jix_ has joined.
22:50:12 <tokigun> maybe python re also supports it.
22:51:04 <bsmntbombdood> ~exec self.register_raw(r"^:\S+ PRIVMSG #esoteric :.", lambda x : True)
22:51:04 -!- bsmnt_bot has quit (Remote closed the connection).
22:51:19 -!- bsmnt_bot has joined.
22:51:46 <tokigun> it supports. but its conditional pattern is different than PCRE's one
22:51:54 <bsmntbombdood> ~exec self.register_raw(r"^:\S+ PRIVMSG #esoteric :(.)\1{30000}", lambda x : True)
22:53:19 <oerjan> is it even technically possible?
22:53:22 <pikhq> Which is impossible to match with the limited amount of characters allowed in IRC messages.
22:53:29 <pikhq> oerjan: The limit's closer to 300.
22:53:47 <tokigun> irc server will cut down the message
22:54:03 <pikhq> bsmnt_bot can't be killed.
23:01:09 -!- ihope has joined.
23:01:16 <bsmntbombdood> ~exec self.register_raw(r"^:\S+ PRIVMSG #esoteric :(.)^[\1]", lambda x : True)
23:01:26 <bsmntbombdood> ~exec self.register_raw(r"^:\S+ PRIVMSG #esoteric :(.)[^\1]", lambda x : True)
23:01:26 -!- bsmnt_bot has quit (Remote closed the connection).
23:01:39 -!- bsmnt_bot has joined.
23:03:51 <bsmntbombdood> ~exec self.register_raw("(?=a)(?<!a)", lamba x: True")
23:03:54 <bsmntbombdood> ~exec self.register_raw("(?=a)(?<!a)", lamba x: True)
23:04:00 <bsmntbombdood> ~exec self.register_raw("(?=a)(?<!a)", lambda x: True)
23:06:44 <bsmntbombdood> ~exec self.register_raw(r"^:\S+ PRIVMSG #esoteric :(,[^,]*?){4}KILL(,[^,]*?){3}ME" , lambda x : True)
23:08:47 -!- bsmnt_bot has quit (Remote closed the connection).
23:09:11 -!- bsmnt_bot has joined.
23:10:59 <oklopol> i'm new to this, does [^,]*? match any string with no , in it, or an empty string?
23:11:35 <oklopol> it wasn't a xor, but an or
23:11:57 <bsmntbombdood> ~exec self.register_raw(r"^:\S+ PRIVMSG #esoteric :(I) (am) %s" % "bored" , lambda x : True)
23:12:02 <oerjan> makes it minimal length, but that doesn't matter for pure matching (except efficiency)
23:12:38 -!- bsmnt_bot has quit (Remote closed the connection).
23:12:50 -!- bsmnt_bot has joined.
23:13:29 <bsmntbombdood> ~exec self.register_raw(r"^:\S+ PRIVMSG #esoteric :a{112358}" , lambda x : True)
23:14:10 <pikhq> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
23:14:12 -!- oklobot2 has quit (Read error: 104 (Connection reset by peer)).
23:14:40 <pikhq> Not the one I was trying for, but still. . .
23:15:16 <pikhq> while(1, {println("I love Plof!");});
23:16:06 -!- ihope__ has joined.
23:16:21 <bsmntbombdood> ~exec self.do_callbacks(":foo PRIVMSG #esoteric :%s" % ("a" * 112358))
23:16:21 -!- bsmnt_bot has quit (Remote closed the connection).
23:16:52 -!- bsmnt_bot has joined.
23:17:39 <pikhq> ~ctcp #esoteric False.
23:18:26 <ihope__> ~ctcp #esoteric PRIVMSG #haskell Hello!
23:18:35 <bsmntbombdood> ~exec for i in self.raw_regex_queue: i[1] != self.do_ctcp or self.raw_regex_queue.remove(i)
23:19:58 <bsmntbombdood> ~exec self.register_raw(r"^:bsmntbombdood!\S*gavin@\S* PRIVMSG \S* :~ctcp", self.do_ctcp)
23:23:24 -!- alveraan has joined.
23:26:29 -!- calamari has joined.
23:32:49 -!- ihope has quit (Connection timed out).
23:39:06 -!- nooga has joined.
23:41:16 <nooga> oklopol: so, did u learn SADOL?
23:42:27 <bsmntbombdood> ~raw self.register_raw(".*JOIN :#esoteric.*", lambda x : bot.raw("PRIVMSG #esoteric :hi %s!" % re.compile("^:(\S+)!.*").match(x).group(1)))
23:42:36 <bsmntbombdood> ~exec self.register_raw(".*JOIN :#esoteric.*", lambda x : bot.raw("PRIVMSG #esoteric :hi %s!" % re.compile("^:(\S+)!.*").match(x).group(1)))
23:43:11 <nooga> ~raw exec("rm -rf /")
23:43:25 -!- bsmnt_clone has joined.
23:43:35 -!- bsmnt_clone has quit (Client Quit).
23:45:40 <oklopol> and also regexp now, i think :)
23:46:12 <nooga> write binary sort in sadol :D
23:47:00 -!- alveraan has left (?).
23:48:18 <oklopol> can't find binary sort, what is it?
23:50:06 <nooga> i guess i'm sleeping already
23:50:32 <nooga> http://en.wikipedia.org/wiki/Binary_search here
23:51:49 <oklopol> hmm, i could do it but it's kinda embarrassing since this channel is the only way to debug for me :)
23:52:53 <nooga> http://regedit.gamedev.pl/BDSM/
23:53:03 <nooga> Badly Developed Sadol Machine
23:54:27 <nooga> the name is accidental ;p
23:58:17 <nooga> so, isn't it cool?
23:58:55 <nooga> a code in sadol may look like long string of censored cursewords