00:04:03 <zbrown> like I said before, I play when I can, but thats just 30 minutes at a time through the day 
00:12:16 -!- GreaseMonkey has joined. 
00:21:14 <zbrown> Sukoshi: whats the plan for development, are we separating into various aspects to handle? 
00:24:01 <Sukoshi> zbrown: Well, the first thing on the list is for everyone to finish reading the Kawa docs. 
00:24:20 <Sukoshi> And also going through the Scheme examples, assuming you know Scheme. 
00:42:15 <zbrown> mmm that should be fun, I don't know scheme 
00:42:19 <zbrown> more langauges to learn! 
00:42:40 <Sukoshi> Well, then go through the JavaScript example? 
00:43:01 <Sukoshi> Basically, understand the way Kawa works. 
00:43:26 <zbrown> i don't know javascript, but i suppose I could understand it 
00:43:29 <Sukoshi> By the way, RMS told GST project leader that he wanted a shift in focus. 
00:43:53 <Sukoshi> While GST focused on scripting/headless ST before, now he wants it to go the other direction and compete with Squeak and VW. 
00:45:51 <zbrown> well I'm focusing on GST 
00:46:06 <zbrown> Its the only one I've been able to get consistent results out of 
00:48:37 <Sukoshi> Only thing is the GUI is a bit on the cumbersome side. 
00:50:51 <zbrown> Sukoshi: true. does kinda suck, but i'll figure it out 
00:50:59 <zbrown> I can live with that, Squeak bugs the hell outta me 
01:17:04 -!- sebbu2 has quit ("@+"). 
02:41:02 -!- fax has joined. 
02:41:21 <fax> any news on the smalltalk front? :p 
02:46:23 -!- kwertii has quit. 
02:47:40 <Sukoshi> A) Get familliar with Smalltalk. B) Get familliar with Kawa (and read the Scheme implementation too). C) I wanna start maybe some time next week. 
02:48:04 <fax> Have you read much of Kawa? 
02:48:13 <fax> because I was skimming it but I do not understand it at all @_@ 
02:48:18 <oklopol> err... is proving a system turing complete itself subject to the decision problem? 
02:48:53 <oklopol> i'll ask oerjan when he comes, though you are all welcome to answer as well 
02:49:26 <Sukoshi> It doesen't look too hard so far. 
02:49:36 <Sukoshi> (More anime time, rather.) 
02:49:44 -!- Sukoshi has quit ("Leaving"). 
03:10:59 -!- GregorR-L has joined. 
03:18:14 * GreaseMonkey sculls a Diet Cherry Vanilla Orange Grape Lemon Lime Mint Roast Chicken Mayonnaise and Cola Dr. Pepper 
03:18:57 <GregorR-L> It's the chicken that gives it that savory goodness. 
03:19:30 -!- sp3tt has quit (anthony.freenode.net irc.freenode.net). 
03:24:32 -!- sp3tt has joined. 
03:26:30 -!- GregorR-L has changed nick to nanowattage. 
03:28:25 -!- nanowattage has changed nick to giantMaleOrgan. 
03:28:55 -!- giantMaleOrgan has changed nick to GregorR-L. 
03:38:12 -!- mtve has quit (anthony.freenode.net irc.freenode.net). 
04:37:04 -!- oerjan has joined. 
04:42:33 -!- oerjan has quit ("leaving"). 
04:45:36 -!- oerjan has joined. 
05:10:48 -!- oerjan has quit ("leaving"). 
05:47:29 -!- mtve has joined. 
06:29:43 -!- wooby has joined. 
06:34:00 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 
06:35:35 -!- fax has quit (" "). 
06:52:08 -!- GregorR-L has joined. 
06:52:50 -!- wooby has quit. 
07:16:02 -!- Sukoshi has joined. 
07:38:59 -!- GreaseMonkey has changed nick to ^_`. 
07:41:48 -!- ^_` has changed nick to N0body. 
07:51:29 -!- N0body has changed nick to GreaseMonkey. 
07:59:59 -!- clog has quit (ended). 
08:00:00 -!- clog has joined. 
08:03:12 -!- GreaseMonkey has quit ("bai bai"). 
08:07:57 -!- RedDak has joined. 
08:11:52 -!- GregorR-L has quit ("Leaving"). 
08:14:53 -!- RedDak has quit (Remote closed the connection). 
10:00:10 -!- ttm has joined. 
10:00:28 <ttm> (this is dbc) 
10:00:38 <ttm> (still dicking around with old brainfuck programs) 
10:01:07 <ttm> (>>++++++[>++++++++<-]+[[>.[>]+<<[->-<<<]>[>+<<]>]>++<++]) 
10:04:44 <Sukoshi> !egobot >>++++++[>++++++++<-]+[[>.[>]+<<[->-<<<]>[>+<<]>]>++<++] 
10:04:53 <Sukoshi> !bf >>++++++[>++++++++<-]+[[>.[>]+<<[->-<<<]>[>+<<]>]>++<++] 
10:19:38 <ttm> It outputs a nonterminating sequence, maybe that's the problem. 
10:28:07 -!- ehird has joined. 
12:36:18 -!- ehird has quit ("Leaving"). 
12:36:53 -!- ehird` has joined. 
12:37:55 -!- ehird` has quit (Client Quit). 
12:39:40 -!- ehird` has joined. 
12:39:59 -!- ehird` has quit (Client Quit). 
12:41:38 -!- ehird` has joined. 
13:07:42 -!- RedDak has joined. 
13:08:20 <ehird`> hmm... i wonder if a language that only operated on the program itself could be turing-complete 
13:08:43 <ehird`> e.g. to read in an input string you'd change the part of the code defining a variable to include the characters read in, then jump there 
13:09:18 <ehird`> and "jumping" is just modifying the program source code to be src+src 
13:17:45 <ehird`> 2-dimensional of course 
14:01:25 -!- jix_ has joined. 
14:56:46 -!- oerjan has joined. 
15:06:57 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)). 
15:17:25 <GregorR> ehird`: If the source is taken to be infinite and (outside the code itself) filled with zeroes, maybe. 
15:17:48 <GregorR> ehird`: If the source limits the size of the memory, no (though it could be TC within the limits of bounded memory) 
15:24:05 <RodgerTheGreat> I have serious doubts about that language's TC potential, although it has more to do with the difficulty of doing conditionals than the more apparent insanity 
15:56:21 -!- sebbu has joined. 
16:11:46 <ehird`> GregorR, infinite, yes 
16:12:08 <ehird`> commands like : for input would make the character right of themselves the ascii value of a character read in 
16:12:16 <ehird`> so just : evaluates one command 
16:14:03 <ehird`> maybe they should replace themselves 
16:20:45 -!- jix_ has quit (Nick collision from services.). 
16:21:01 -!- jix__ has joined. 
16:25:28 -!- RedDak has quit ("I'm quitting... Bye all"). 
16:29:53 -!- RedDak has joined. 
16:30:38 <ehird`> Hmm. A 2d language like a game would be interesting. e.g. you can have little "cars" (>, <, v and ^) which move in that direction each cycle, and things like bouncers ((, ), -, _) which bounce the cars in the opposite direction 
16:30:46 <ehird`> and special bouncers which run commands, or whatever 
16:30:52 <ehird`> like a more specific Game of Life 
16:31:32 <ehird`> e.g. with (>   ) it'd progress into ( >  ), then (  > ), then (   >), then bounce into (   <), (  < ), etc. infinitely 
16:32:12 <ehird`> and you could have "planes" which carry objects, then you could make them crash into a special kind of bouncer to change its directions for conditionals, etc 
16:32:17 -!- ihope has joined. 
16:40:17 <oerjan> ehird`: have you looked at Rube? 
16:40:30 <ehird`> yes - but it's not quite the same, relaly 
16:48:09 <ehird`> (also, constructions such as this are interesting: (> B-) - B is a breeder which when hit with another object, covers itself with a clone of that for one cycle) 
16:48:22 <ehird`> so, it'd infinitely shoot cars downwards 
16:48:26 <ihope> Billiard ball model/machine. 
16:48:53 -!- RedDak has quit (Remote closed the connection). 
16:50:41 <ehird`> (More precisely, when an object collides with B, it bounces it in the opposite direction, and covers itself with a clone of the object for one cycle, going in the same direction as before it was bounced off B) 
16:51:59 <ehird`> http://pastie.caboo.se/78346 one cycle of the breeder 
16:52:48 <ehird`> (>B-) is faster, actually, and probably preferable 
16:53:04 -!- jix__ has changed nick to jix. 
17:03:38 -!- lament has joined. 
17:18:51 <ehird`> Hmm. Is a language with only first-class continuations which take 1 argument turing complete? 
17:18:55 <ehird`> I mean, it's close enough to LC.. 
17:19:37 <lament> i don't think it would be TC 
17:19:54 <lament> Just use unlambda with only the c operator and ` and see what you get 
17:20:01 <ehird`> http://esolangs.org/wiki/Subtle_cough :) 
17:20:42 <ihope> Cool. I invented something which somebody then later independently invented. 
17:21:40 <ehird`> i wonder. given subtle cough, what is the minimum you can add to it to make it turing complete? 
17:21:49 <ehird`> without using anything silly like the iota combinator 
17:22:32 <ehird`> i as in I or i as in iota 
17:22:41 <ehird`> because iota obviously helps, seeing as that you only need ` and i 
17:22:54 <ehird`> well - yeah, I is pretty useless here 
17:25:10 <oerjan> at least k gives you infinitely many values 
17:25:52 <ehird`> i doubt v would be very helpful 
17:26:25 <oerjan> depends.  it is only c which makes v useful in Unlambda. 
17:26:32 <lament> is [[MechaniQue]] actually esoteric? 
17:26:39 <ehird`> lament, the author of it says yes 
17:26:45 <oerjan> (without continuations, v cannot be escaped from) 
17:26:47 <ehird`> but its a bit shaky yeah 
17:27:03 <ehird`> oerjan, we are talking about v := \x. v right? 
17:27:18 <ehird`> well - subtle cough has c 
17:27:31 <ehird`> so c + v == turing complete? it seems unlikely, but then so does iota == turing complete 
17:28:11 <lament> "It's also esoteric because the language abandons the concept of variables. Instead it uses a lock and key system which could be compared with a global-space inventory that holds booleans." 
17:28:51 <oerjan> `vv == `vc == v == `vx for any x which actually returns to its continuation 
17:29:23 <ehird`> oh, yes... that is true =P 
17:29:32 <ihope> For some x, `cv = `vx = v 
17:29:51 <ehird`> OK, what about c + k? It doesn't sound TC to me 
17:29:56 <lament> as far as i can tell, "locks" are simply boolean variables 
17:30:08 <ehird`> lament, look at some of the example code. 
17:30:32 <ehird`> Also http://esolangs.org/forum/kareha.pl/1148745423/l50 
17:30:37 <oerjan> `ck returns k of the current continuation to the current continuation 
17:31:49 <lament> why are they so ugly :) 
17:31:54 <oerjan> it's _rather_ slow for a forum :D 
17:32:15 <lament> i think the forum is a bit redundant given the wiki 
17:32:23 <ehird`> i like anonymous forums 
17:33:09 <lament> and yeah, the forums do seem a bit slow :) 
17:33:34 <oerjan> i tend to check it once a month or so 
17:37:30 <oerjan> ``cck -> `(`*k)k -> `kk 
17:38:52 <ihope> 1:``cck -> 2:``c1k -> ``12k -> `2k -> `kk 
17:39:58 <ehird`> S wouldn't help, so... hmm.. *would* S help.. 
17:40:26 <oerjan> ihope: i don't think your notation is precise enough 
17:40:45 <oerjan> s + k is rather well known to help. :) 
17:41:59 <oerjan> even c+k is not proven. there may be a _lot_ of cases. 
17:42:59 <ehird`> how about trying to convert the lambda expression in http://www.esolangs.org/wiki/S_and_K_Turing-completeness_proof to the languages? that would be a quick way to prove/disprove them 
17:43:24 <ihope> I think my notation is plenty precise. 
17:43:39 <ihope> Unlambda defines evaluation order. 
17:43:49 <ihope> Hmm, 1:`c`kk -> ``kk1 -> k 
17:44:00 <ihope> Try to make an infinite loop of any kind, eh? 
17:44:07 <oerjan> `c``sss -> ```sss(*) -> ``s(*)`s(*) 
17:44:26 <oerjan> um, ``cc`cc is an infinite loop 
17:44:27 <ehird`> you can make an infinite loop with just ` and c, so. 
17:46:13 <ihope> 1:``cc`cc -> 2:``c1`cc -> ``12`cc -> `2`cc -> 3:``cc`cc -> ... 
17:48:07 <oerjan> s takes so many arguments it is easy to get stuck 
17:48:48 <oerjan> (well, not _quite_ like it) 
17:49:54 <ehird`> i think c + s has a chance of being TC 
17:53:26 -!- ihope has quit (Read error: 104 (Connection reset by peer)). 
18:18:31 -!- lament has set topic: The core site for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://www.ircbrowse.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/. 
18:19:47 -!- lament has left (?). 
18:19:50 -!- lament has joined. 
18:23:38 -!- lament has set topic: The core site for esoteric programming language design and deployment | FORUM: http://esolangs.org/forum/ | WIKI: http://esolangs.org/wiki/ | LOGS: http://tunes.org/~nef/logs/esoteric/ | PASTEBIN: http://pastebin.ca/. 
18:23:51 <lament> (some stuff moved to channel entry message) 
18:24:26 -!- lament has set topic: FORUM: http://esolangs.org/forum/ | WIKI: http://esolangs.org/wiki/ | LOGS: http://tunes.org/~nef/logs/esoteric/ | PASTEBIN: http://pastebin.ca/. 
18:24:30 <oerjan> what about the ircbrowse logs? 
18:24:45 <lament> see my previous comment. 
18:25:12 <lament> You can actually find that link from the tunes.org link. 
18:26:17 <lament> actually, how about this: 
18:26:29 -!- lament has set topic: FORUM: http://esolangs.org/forum/ | WIKI: http://esolangs.org/wiki/ | LOGS: http://ircbrowse.com/ | PASTEBIN: http://pastebin.ca/. 
18:27:01 <oerjan> you removed the description. remember that the topic is what shows up in /list. 
18:27:23 <lament> does anybody still use /list? 
18:27:53 <oerjan> i do occasionally, to check out channels others are on. 
18:28:07 -!- lament has set topic: Esoteric programming language design and deployment | FORUM: http://esolangs.org/forum/ | WIKI: http://esolangs.org/wiki/ | LOGS: http://ircbrowse.com/ | PASTEBIN: http://pastebin.ca/. 
18:28:49 <lament> forum and wiki can be combined into one URL. 
18:29:17 -!- lament has set topic: Esoteric programming language design and deployment | FORUM AND WIKI: http://esolangs.org/ | LOGS: http://ircbrowse.com/ | PASTEBIN: http://pastebin.ca/. 
18:30:17 <oerjan> hm... the main page on esolangs.org is not exactly fashionable. 
18:30:35 <lament> i like it much more than, say, the main page of the forums :) 
18:30:54 <oerjan> it's as bad as my own homepage :/ 
18:32:04 <lament> we could ask graue to put a flash intro there. 
18:32:17 <oerjan> ok maybe not _that_ far :D 
18:32:42 <lament> personally i think that page is an example of what's known as "good design" 
18:33:18 <lament> also, do we need a link to the pastebin? 
18:33:34 <lament> people put in in the url in programming-related channels because of flooding 
18:33:38 <lament> i don't think we ever had that problem 
18:33:52 <lament> and most people know where the pastebins are 
18:34:32 <lament> and it's not an esoteric-specific link.... 
18:34:48 <lament> maybe we just need an #esoteric page 
18:35:11 <oerjan> what is this obsession with getting the topic short anyhow? 
18:36:00 <lament> i know a good place for an #esoteric page... the wiki! 
18:36:18 <lament> it seems that the wiki does not have a page about the channel... seems on-topic enough 
18:36:53 <oerjan> it's under the community page i guess 
18:37:58 <lament> right, which is almost impossible to find, and meant for editors. 
18:38:33 <oerjan> impossible? it's the second link in the menu. 
18:38:53 <lament> oh, so it is, didn't notice :) 
18:39:32 -!- ehird` has set topic: .. 
18:39:37 <ehird`> i shortened the topic for you 
18:39:50 <lament> thanks. I wasn't brave enough to do that. 
18:39:51 <ehird`> my compression algorithm is unbeatable 
18:40:11 <ehird`> it is very easy to implement: just replace all occurences of . with Esoteric programming language design and deployment | FORUM AND WIKI: http://esolangs.org/ | LOGS: http://ircbrowse.com/ | PASTEBIN: http://pastebin.ca/ 
18:41:06 -!- lament has set topic:  . 
18:41:31 <lament> Just replace all occurances of "" with "." and then apply ehird`s algorithm. 
18:41:33 <ehird`> um, how do i create a negative-length string? anyone? 
18:41:37 -!- ehird` has set topic. 
18:41:42 <ehird`> i removed the single space! 
18:43:13 -!- lament has set topic: Too much free time + no life = esoteric programming!. 
18:44:16 -!- ehird` has set topic: /topic. 
18:48:28 -!- Sukoshi has set topic: 桃色の花の中で囲む。. 
18:49:14 -!- oerjan has set topic: FOR A GOOD TIME CALL 555-123-6890. 
18:53:08 -!- ehird` has set topic: while (topic) topic = "while (topic) .... 
18:59:07 <ehird`> Why doesn't DoubleFuck have an instruction to interact between the two tapes? 
19:03:17 <oerjan> it has loops for both. and in ordinary Brainfuck, you need loops to copy between two cells. 
19:05:47 -!- lament has set topic: добро пожаловать в канал эзотерического программирования!. 
19:05:51 <ehird`> I wonder if anyone's taken malebolge's modulo-commands to the next level to produce something like (character + some value of a register, or something like that + position in program) % (some other program-related thing) 
19:06:07 <ehird`> i.e. "AB" will not work the same as "A" followed by "B" as the meanings will change 
19:06:17 <ehird`> something along those lines 
19:08:45 <ehird`> I mean, the way characters are turned into instructions depends on the position in the program, different register values, stuff like that 
19:09:14 <ehird`> so if you write instructions "A" and "B" and you want to execute A then B, you can't do "AB" since the algorithm will have changed (in a predictable way, of course - no random numbers) 
19:09:44 <lament> well, in aura you can't execute AB because A will modify B. 
19:09:53 <ehird`> that's not the same, though. 
19:10:06 <ehird`> "AB" will still be perfectly valid code, it'd just do something different because the translation would be different 
19:10:48 <lament> fine then, check out Dupdog. 
19:13:02 <ehird`> that's kinda similar, yeah 
19:13:16 <ehird`> more malebolge-extending madness: instead of base-3, base-i 
19:23:50 <ehird`> maybe: ins = ((chr + pos) * len(code)) % number-of-instructions 
19:28:12 <ehird`> http://www.99-bottles-of-beer.net/language-malbolge-995.html the last comment here makes me weep 
19:29:28 <oerjan> find some comfort in that the Java prints the wrong text :D 
19:29:34 <lament> ehird`: don't forget phase of the moon. 
19:30:10 <ehird`> lament, should i make the interpreter refuse to run any code on full moon? 
19:31:07 <lament> no, just make phase of the moon one of the things affecting the semantics of the instructions 
19:32:11 <ehird`> what about unix timestamp 
19:32:39 <oerjan> see TMMLPTEALPAITAFNFAL 
19:33:32 <ehird`> i mean on top of evertything else. 
19:46:40 <ehird`> i think i have devised an operation crazier than the crazy operation 
19:47:49 <ehird`> it almost looks like a random number generator. 332101 op 133112 = 31323 
19:48:32 <lament> is that your evidence for it "looking like a random number generator"? 
19:50:08 <ehird`> no -- but it produces equally absurd transformations on other numbers 
19:52:57 <lament> and 1 op 0? 0 op 1? 0 op 0? 
19:53:15 <ehird`> 1 op 0 = 2, x op y is always y op x, 0 op 0 is 3. 
19:54:10 <lament> frankly that doesn't seem all that absurd. 
19:54:26 <oerjan> since it sounds rather close to a generalization of SAT. 
19:54:54 <ehird`> more absurd than crazy 
19:54:56 <oerjan> although that fit in here as well :D 
19:56:50 <oerjan> honestly, there are just 16 numbers, why not list the matrix? 
19:58:26 <ehird`> op = Z for brevity. 0 Z 0 = 3, 0 Z 1 = 2, 0 Z 2 = 1, 0 Z 3 = 0, 1 Z 1 = 3, 1 Z 2 = 3, 1 Z 3 = 0, 2 Z 2 = 2, 2 Z 3 = 1, 3 Z 3 = 3 
19:59:34 <oerjan> oh, i did not see the commutativity 
20:00:01 <lament> anyway, how's that interesitng in any way? 
20:00:11 <lament> (any way, how's that interesting in anyway?) 
20:00:14 <ehird`> lament, how's it not interesting in any way? 
20:01:08 <lament> it looks... rather arbitrary. 
20:01:39 <ehird`> And crzy isn't arbitary? 
20:02:24 <lament> not any kind of _interesting_ crazy. 
20:02:31 <ehird`> I mean the crazy operation 
20:03:00 <ehird`> 0 C 0 = 1, 0 C 1 = 0, 0 C 2 = 0, 1 C 0 = 1, 1 C 1 = 0, 1 C 2 = 2, 2 C 0 = 2, 2 C 1 = 2, 2 C 2 = 2 
20:03:13 <lament> sure. That one's not interesting either. 
20:03:33 <oerjan> it does however have some properties that makes it hard to use. 
20:04:39 <lament> oerjan: properties that a randomly filled matrix is not likely to have? 
20:05:28 <lament> also, that one isn't commutative, which is probably rather important 
20:05:33 <oerjan> i _do_ notice however that (x Z 0) Z 0 = x, which means it is already more convenient than malbolge's operator 
20:06:06 <ehird`> i didn't notice that, hah 
20:09:05 <oerjan> for Malbolge you have ((x op 1) op 1) op 1 = x, so it is harder to get back the original value 
20:09:59 <oerjan> misread, they are not that different, (x op 1) op 1 = x 
20:11:43 <oerjan> however, for both only one value gives a permutation 
20:13:47 <oerjan> ah, with your operator you cannot get 1 or 2 from starting with just 0 
20:14:21 <oerjan> that might actually be _very_ awkward. 
20:15:17 <ehird`> Is that a compliment? =)_ 
20:16:28 <oerjan> however, having an extra digit does increase the risk that some more easily useful combination may arise. 
20:17:59 <ehird`> maybe it'd be more interesting in base i 
20:18:09 <ehird`> hmm: http://acm.uva.es/p/v111/11180.html 
20:18:23 <ehird`> that looks like a nicely insane base 
21:02:12 -!- sekhmet has left (?). 
21:11:58 <lament> that is, Z acting on {0,3} is XOR 
21:12:21 <lament> that seems... useful :) 
21:26:17 -!- jix has quit ("CommandQ"). 
21:29:13 -!- RedDak has joined. 
22:21:51 -!- sebbu has quit ("@+"). 
22:25:47 <SimonRC> http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/sh/mac.h.html   <--  Ouch. 
22:29:55 -!- RedDak has quit (Read error: 104 (Connection reset by peer)). 
22:31:54 -!- RedDak has joined. 
22:39:26 <ehird`> wait -- was that actually THE unix shell? 
22:39:34 <ehird`> like, it just compiled C with those macros? 
22:39:50 <ehird`> http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/sh/ i think you're wrong 
22:40:03 <SimonRC> There was no suc thing as an experienced C programmer back then. 
22:40:18 <ehird`> http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/sh/main.c.html look, the sh code just uses those macros 
22:40:24 <ehird`> that isn't actually the unix shell =) 
22:40:30 <SimonRC> ehird`: erm, yeah, that's what I meant 
22:40:42 <ehird`> i thought you meant that the shell just wrapped around cc using that header. heh 
22:40:48 <ehird`> but - wtf, what is the point of thst 
22:40:54 <ehird`> probably algol programmers... 
22:41:03 <SimonRC> "There was no suc thing as an experienced C programmer back then." 
22:41:14 <ehird`> yeah but these guys >invented< C, for christ's sake 
22:41:18 <ehird`> why would they hack around its syntax? 
22:50:24 <SimonRC> TBH they all just merge into one bearded figure in my head. 
23:44:25 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).