00:06:16 -!- GreyKnight has joined. 00:06:24 So I've been thinking 00:06:36 We should invent a "Nomiki" 00:06:57 ie, a nomic wiki 00:15:52 * ihope edits the main page to say "This page is protected from all further edits, and I win" 00:20:05 :-P 00:27:31 I've seen foo, bar, and baz, but what if you need more? 00:27:53 Quux, quuux, quuuux... 00:28:03 If you need uncountably many, you're on your own. 00:28:08 Aw man. 00:28:17 Maybe we should go the car/cdr route. 00:28:19 Check the RFX. 00:28:29 RFC. 00:28:29 foz, foaz, faoz, faaoz, baoz. 00:28:47 Qaddaddaddaaaddaddax? 00:29:20 [[Metasyntatic variables]] should have the RFC's list on i.t 00:32:09 In order to name my generic variables, I either use the GNU scheme (foo, bar, baz) or I use My Scheme (TM) (blah, bleh, blargh). 00:32:33 It all kinda depends on my mood. 00:33:43 I use meh, nuh, feh, and blargeth, if I need to go so far. 00:34:50 then blargetheth, blargethetheth, etc? ;-) 00:34:51 Actually, (foo, bar, baz) are from the RFC. . . 00:34:58 Which RFC? 00:35:06 There's a whole bunch of them. 00:35:26 foobarbaz predate that RFC as well. Their origins are lost in the mists of time, really 00:35:40 THAT RFC?! 00:35:44 WHICH one is THAT? :P. 00:35:45 Argh. Can't find the RFC ATM, but I can find one describing the etymology. 00:36:11 Never mind. That one also contains the list. 00:36:12 http://tools.ietf.org/html/rfc3092 00:36:41 Do I get an ABNF on Metasyntactic Variables? 00:36:53 Err. . . 00:36:57 Awww.... 00:37:44 Wikipedia states that it's got the list, but the RFC doesn't. 00:37:56 Never mind. It does have the list. 00:38:14 r, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud 00:38:20 foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud 00:38:23 Argh. 00:39:13 variable = "foo" / "bar" / "baz" / "b" 1*("a"/"o) ("z"/"r) 00:39:21 That's what I propose the ABNF definition be. 00:41:14 Of course, that'll get you a variable name that's sure to be the Drunken Coder's favorite: ``booz''. 00:42:23 variable = "foo" / "bar" / "baz" / "qux" / "quux" / "corge" / "grault" / "garply" / "waldo" / "fred" / "plugh" / "xyzzy" / "thud"/ "b" 1*("a"/"o) ("z"/"r) 00:42:35 RFC compliance is important. :p 00:42:43 Grault?! 00:43:19 Can I propose a new RFC then? 00:44:18 Feel free. 00:44:27 Just wait til April 1st. 00:44:41 But it's a real RFC proposal! 00:44:58 Don't we all want standardized metasyntactic variables in our code? 00:45:10 nope :-P 00:45:17 Well, the current RFC was on April 1st, so. . . 00:45:17 if we do, we've got foobarbaz 00:45:47 But that's long! 00:47:34 I can't believe the Scheme standard doesen't have a fold-* function. 00:55:19 And faobaofaobaz isn't long? 00:57:15 Razor-X: a what function? 01:01:41 Now why the heck is this link, which is simply blue text, a JPEG image rather than actual text? 01:02:50 I reckon somebody couldn't figure out how to set the :active (etc) colours to blue 01:02:58 so they made it an image so's it'd stay blue 01:03:20 And figure that "Oh, it looks just the same, anyways." 01:03:35 Nobody will notice the JPEG artifacts. 01:03:55 You've never used fold functions before? 01:03:57 Course not. 01:04:16 You and your imperial madness :O 01:04:18 foldr, foldl, and the like. 01:04:30 <3 folds 01:04:38 I remember reading about fold functions the first time and thinking ``Why the heck will I ever need this?!'' :P. 01:04:47 Are those the folds you're talking about, or is there another type of fold function? 01:04:56 Nope. foldr, foldl, and the like. 01:05:03 Time to make my own fold-right function. 01:05:47 How's Scheme's conditional stuff work? 01:06:22 The R5RS has no pattern matching in it, if that's what you mean. But Chicken has an add-in for pattern matching. 01:06:36 Although not nearly as elegant as Haskell or OCaML's versions. 01:07:10 (defun foldr (f b l) (cond ((null l) b) (something (f (car l) (foldr f b (cdr l)))))) <- my little foldr function 01:07:28 "something"? 01:07:29 Pretty much. 01:07:48 Although why you're using (cond) is anyone's guess :P. 01:08:18 Oh. I see. 01:08:35 Even still, bleh. Use (if) instead. 01:09:40 (defun foldr (f b l) (if (null l) b (f (car l) (foldr f b (cdr l)))))? 01:09:44 funny, just a few days ago you made the opposite recommendation to me :-P 01:09:50 (cond) is a *lot* cleaner. 01:11:41 (if (a) (b)) is unclean? 01:12:08 I made that reccomendation because I'm not being a Scheme parser here :P. 01:17:10 Hahah 01:17:50 Actually, the full function looks like: 01:18:01 (define (fold-right function initial list) (if (null? list) (function initial initial) (if (null? (cdr list)) (function initial (car list)) (fold-right function (function initial (car list)) (cdr list))))) 01:19:54 Although I can contract that definition a bit. 01:20:36 (function initial initial)? 01:20:46 That... doesn't really make sense. 01:20:50 I know. 01:21:07 Changed for that reason, and the obvious redundancy in my code :P. 01:21:58 Yay. Now it'll be trivial to parse each IRC message. 01:22:22 Oh... does (lambda (x) (lambda (y) (x y))) work in Scheme? 01:23:22 Why shouldn't it? 01:23:46 Well, does it? 01:23:58 It should. Let me check to double-check. 01:24:16 #do eval (((lambda (x) (lambda (y) (x y))) car) '(1 2 3)) 01:24:26 * ihope pokes certain people 01:24:51 -!- GregorR-W has quit ("-"). 01:25:02 Oh wait. It wouldn't work. But let me check in case. 01:25:12 Nope. 01:25:18 So why doesn't it work? 01:25:26 * GreyKnight wakes 01:25:32 * GreyKnight enables lisp stuff 01:25:44 Errr....... 01:25:57 Razor-X: did it start working? 01:25:59 #do eval (((lambda (x) (lambda (y) (x y))) car) '(1 2 3)) 01:26:00 Mistype :D (lesson learned: copy and paste if possible). 01:26:00 #> NIL 01:26:02 #! Error: (@)(1124) FIRST ITEM IS NOT A SYMBOL OR LAMBDA (''((LAMBDA (X) (LAMBDA (Y) (X Y))) CAR)') 01:26:05 Yeah. It works. 01:26:09 *crash* 01:26:12 Wahp wahp wahp. 01:26:25 Yeah, it should work. I misread and mistyped. 01:26:31 Should work? 01:26:37 It should work and it does work. 01:26:48 @do eval (lambda (x) (lambda (y) (x y))) 01:26:53 using the same as what ihope just eval'd ? 01:26:58 Look, GreyKnight doesen't use Scheme. 01:27:04 He uses his odd not-even-a-Lisp Lisp. 01:27:06 I know. 01:27:15 #do eval (lambda (x) (lambda (y) (x y))) 01:27:17 #> # 01:27:20 Yeah. It works in Scheme. 01:27:23 #do eval ((lambda (x) (lambda (y) (x y))) cdr) 01:27:25 #> # 01:27:41 It still has lambdas, though, so I'm interested in where the error arrives 01:28:34 Something tells me it's in the replacing of the parameters in the result with the things passed in. 01:29:10 that looks like it 01:29:25 I'm going to rewrite it all from scratch at some point 01:29:31 Yay. 01:31:30 Time to do my daily vocabulary. 01:31:49 さようなら、皆。 01:32:17 Japanese? 01:32:25 Yes. 01:32:38 A Japanese thing resembling a sentence? 01:32:45 l⃠o⃠r⃠i⃠m⃠e⃠r⃠ 01:32:56 Bonus points if that rendered correctly in your client 01:33:02 No bonus points here then. 01:33:03 It didn't. 01:33:17 It says "lorimer"? 01:33:34 with a slashed-circle over each letter 01:33:46 How'd you manage that? 01:33:50 using the U+20E0 combining character 01:34:36 combining characters aren't well-known for their wide support base :-/ 01:36:45 Heh; my terminal renders all the characters as squares, while my browser just uses non-combining slashed-circles after each letter. 01:37:10 http://i2.tinypic.com/2zsya6o.png 01:37:30 ihope: at least it tried :-3 01:37:38 "COMBINING ENCLOSING CIRCLE BACKSLASH", it seems. 01:37:53 l⃠ 01:37:56 Hmm. 01:38:12 Ah, here we go. 01:38:28 Maybe it's meant to circle two letters at once :-P 01:38:38 Yay, my Prolog-Scheme still works, and hasn't bit-rotted away. 01:38:40 Like th⃠is⃠... 01:38:57 Eh, I guess my client plain old doesn't like it. 01:38:58 "Like t[]i[]..." 01:40:01 Here's xterm making an effort: http://greyfire.org/picture_library/combining.png 01:40:02 ⃠ 01:40:11 Eh. 01:40:15 ihope: They notoriously don't work well with proportional fonts 01:41:43 The circle in firefox looks at least something that might fit a character well: http://zem.fi/~fis/tmp.png 01:41:52 It just doesn't want to combine. 01:43:04 yes, that's the other common problem with them :-P 01:43:17 ⃠ <- okay, there it is 01:45:32 Yep 01:45:40 You're not wrong :-P 02:01:42 Oooh, isn't it silly: 02:01:43 |: (define (factor n) 02:01:44 |: (let* ((factors (iota 2 n)) 02:01:44 |: (x (apply amb factors)) 02:01:44 |: (y (apply amb factors))) 02:01:46 |: (if (= (* x y) n) 02:01:48 |: (cons x y) 02:01:51 |: (amb)))) 02:01:53 # 02:01:56 |: (factor 60) 02:01:59 (2 . 30) 02:02:01 |: next 02:02:04 (3 . 20) 02:02:06 [...] 02:02:09 |: next 02:02:11 (30 . 2) 02:02:13 |: next 02:02:16 Evaluation failed. 02:04:23 iota = ? 02:05:00 \x -> x (\x y z -> x z (y z)) (\x y -> x) 02:05:04 Something like that :-P 02:06:16 The usual; (define (iota start end) (if (<= start end) (cons start (iota (+ start 1) end)) '())) 02:06:30 I see 02:08:20 * pikhq forces BFM down everyone's throats 02:08:21 I'm not sure _how_ usual that is, actually, but it's not too rare: "Write iota as a LISP function that takes a positive integer as an argument and returns a list of the numbers between 1 and that integer." is a question in http://www.csee.umbc.edu/331/fall00/exams/finalreview.shtml (says Google). 02:09:57 Heh, 'amb' is probably the builtin that has the simplest implementation. 02:23:46 -!- ivan` has quit (Connection timed out). 02:34:05 -!- ivan` has joined. 02:48:17 * pikhq creates stdcons.bfm. . . 02:50:54 I, you, huh? 02:51:26 -!- GregorR has joined. 02:51:34 pikhq: ? 02:55:38 A set of macros containing the most efficient two-cell way of setting a constant. 02:56:04 Ah. 02:56:35 And I'm bored with that now. 02:56:44 I'll do a few more constants later. 02:56:47 :-P 02:57:07 You managed to stay on one task for a whole 8 minutes there! ;-) 02:57:37 Hey, you try writing out all constants in BF. . . 03:00:38 http://xkcd.com/c95.html 03:01:11 Hahah. 03:02:17 http://xkcd.com/c10.html 03:04:36 http://xkcd.com/c107.html <-- onoz 03:08:04 http://xkcd.com/c30.html 03:08:53 Didn't get that one :-\ 03:11:52 Sn==tin. 03:13:31 I knew that one, but 30 is beyond me 03:13:42 Explain! 03:13:44 Comply! 03:14:54 A Snapple would be an apple made of tin. 03:15:30 ...you know that's not on #30, right? 03:15:32 http://xkcd.com/c30.html 03:15:35 Oh. 03:15:55 Thinking of a different comic. 03:16:12 Party of four. There are only three people, who are full. 03:16:56 so it's funny because it isn't? 03:17:37 No. . . 03:17:53 There *were* presumably four hungry people waiting to get into the restaurant. . . 03:18:01 But now, there are three full people. 03:18:32 hmm 03:18:33 Their poor, poor fourth friend. 03:18:41 could use some bones or something 03:24:21 http://xkcd.com/c74.html 03:35:23 http://xkcd.com/c114.html 03:47:07 *Gasp*. 03:47:22 ? 03:47:25 The differences between AP Computer Science A and AP Computer Science AB are very difficult! 03:47:32 You will have to know big-O notation for the latter! :O 03:47:36 So difficult! 03:47:50 You must also be familiar with... *GASP* exceptions! 03:48:13 * pikhq wishes he bothered figuring out big-O notation. . . 03:48:13 EXCEPTIONS?! NO! WHAT IS THIS WORLD COMING TO?!?!?!?!?!?! 03:48:39 onoz exceptions 03:49:02 I must also be familiar with recursion. Scary. 03:49:14 Well... I guess it is scary for someone who hasn't programmed in a functional language before, haha. 03:50:52 I also can't understand why the AP book even points out that you need to know how to cast..... is that really a difficult concept? 03:52:17 Jebus. 03:52:22 That's just sad. 03:52:35 They use the example of storing a double in an integer. That's just pathetic. 03:52:51 The only bit I don't know is big-O notation, and that's only because I haven't needed it. 03:52:55 I'd understand if you store a double in a float, and it's truncated or something, but a double in an integer? What hell? 03:53:44 They should point out to the students that they should be happy that casting exists, and you're not using C. 03:54:49 Jebus. 03:55:26 It'd be *understandable* to not know what casting is. . . *If* you had only dealt with weakly typed languages, and never needed it before. 03:55:49 -!- bsmntbombdood has changed nick to bsmnt[bomb]dood. 03:57:04 Even Ruby casts... although in an odd way. 03:57:20 I, personally, haven't programmed in a language with implicit casting. 03:57:23 -!- bsmnt[bomb]dood has changed nick to bsmntbombdood. 03:57:53 I'm a Tcler. 03:58:02 Does TCL have implicit casting? 03:58:07 There is a single datatype: the string. 03:58:12 Ah. 03:58:12 So yeah, it's implicit casting. 03:58:22 That would make me feel weird :P. 03:58:42 Even in Scheme you cast with something like (string->list) . 04:00:37 Chicken is great. You can even make pointers if you wanted to. 04:05:04 One thing I was thinking was that, if I learned Java, I could help out with Classpath. 04:05:16 (Assuming I could ever get the bloody thing to compile.) 04:17:12 -!- CakeProphet has quit (Read error: 113 (No route to host)). 04:22:14 -!- Sgeo has quit ("Ex-Chat"). 04:45:46 -!- Arrogant has joined. 07:19:26 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 07:34:31 Stacks and queues are ``advanced'' data structures. 07:34:35 ``advanced''. 07:35:32 Zomg 07:35:35 -!- pgimeno has joined. 07:35:37 Stacks are the woahz 07:35:50 Ah knaw, biatch. 07:36:20 stax 07:36:24 I'd hesitantly call the binary tree an advanced data structure, but I accept it. Still.... stacks? 07:36:42 I'd put a binary tree JUST under the advanced line. 07:36:55 To be advanced, it has to either not have a name, or have a name that not every programmer knows ;) 07:37:00 :P 07:37:25 The AP book also devotes 3 pages to teaching Quicksort (more commonly known as ``bubble sort''). 07:37:36 Hooray, you spent 3 pages explaining to me a sort I devised when I was 9 years old! 07:38:02 You mean they really do call bubble sort Quicksort there? 07:38:08 For some odd reason. 07:38:16 wait, what? 07:38:22 Um, I've heard the phrase quicksort FAR more commonly than bubble sort. 07:38:32 I've never heard of bubble sort. 07:38:41 Bubble sort is the canonical O(n^2) sort. 07:38:48 I've heard bubble sort a lot more often. 07:38:55 Weird. 07:39:05 quicksort != bubblesort 07:39:22 I was just about to say - they're not quite the same. 07:39:26 They're fairly similar though. 07:39:54 except that quicksort is *good* :o) 07:40:40 Oh. Hmmm, Quicksort is a bit more advanced. 07:40:52 Well, they have the same worst-case time complexity and all. Oh, and the results are rather similar. 07:41:05 But seriously... that's meant for the advanced test only. 07:41:20 Come *on*. Quicksort is ``advanced'' ? 07:41:47 Ugggh. No wonder the new batch of CS students in California are mindless zombies who only work for the smell of a paycheck. 07:41:54 Well, if you consider stacks advanced data structures... 07:42:03 ;D 07:42:12 maybe if CS classes actually taught anything practical 07:42:14 It's too bad not everyone's a genius-man like you, Razor-X 07:42:26 I was introduced to BF by someone completely non-technical, actually. 07:42:37 She seemed quite comfortable with the notion of a stack, without ever programming. 07:43:00 Crazy. I know. 07:43:42 Most people who've seen a physical stack of anything do inherently understand the concept of "you can put things on the top and also remove them". 07:44:24 Heh 07:44:33 Brits understand queues better than Americans ;) 07:44:47 Compared to that, quicksort's definitely non-trivial. Besides, the implementations might be considerably tricky; look at http://kotisivu.mtv3.fi/quux/qsort.html for example. 07:45:02 Well, remember, they're not asking for a *good* implementation. 07:45:07 Divide-and-conquer is trivial, really. 07:45:28 The greatest part about the test seems that, they ask you to know what O(*) means, but not programming using that information. 07:45:34 If you understand recursion well enough 07:46:51 I think an introductory book on Java and the first 3 chapters of SICP are more valuable for this test than any other book. 07:47:23 Blekk, Java 07:47:30 Look. I need to know it. 07:47:33 Unfortunately. 07:48:01 Heck, the first 3 chapters of SICP introduce concepts a lot more difficult than the entire test. 07:49:05 Oh, hey, I was reading that SICP thing once. 07:49:32 I kind of forgot it existed. 07:49:36 Actually, the book I bought to learn Java (Java in a Nutshell) is pretty useful. 07:49:45 Then again, it's aimed for the experienced programmer so..... 07:50:07 Our university bookshop thing was selling SICPs for 5 EUR/book (since we don't teach Scheme here any more); a friend bought 10 of them. To spread the word. 07:50:11 If this is AP Computer Science, it seems SICP is like a gold mine for the beginner programmer. 07:50:57 I was reading another book on Scheme... 07:51:05 Ah, yeah, HTDP 07:51:19 Good book. 07:51:38 I used one book also by MIT Press that was a lot faster/better, and also supplemented that with Learn Scheme in Fixnum Days for the practical experience. 07:52:07 But then again, I had already banged my head raw with Common Lisp before, so it wasn't too difficult for me. 07:52:30 Oh yay, Common Lisp. 07:52:33 Gahh, HtDP. 07:52:42 More like ``Oh ugggh, Common Lisp.'' 07:52:57 Or sarcasm. 07:53:11 CL's motto should be: ``We'll give you a feature, even if we have to defile your child for it!'' 07:53:14 The people who try to teach us that "lambda" is simply syntactic sugar for "local", which is their own, completely non-standard and unnecessary thing. 07:53:26 * GreyKnight <3 CL 07:54:08 "As discussed in the introduction, a lambda-expression is just a short-hand for a local-expression." 07:54:20 My R5RS says nothing about any "local"s. Bleh. 07:54:37 Isn't R6RS coming out shortly? 07:54:46 Or is that like LaTeX 3's ``shortly'' ? 07:55:29 fizzie, yeah, HtDP has a "learning language" version of Scheme, which was pretty annoying. 07:55:33 I'd guess sooner than LaTeX 3, but wouldn't hold my breath. (I don't think I _could_ hold my breath for more than a minute or so anyway.) 07:55:36 Considering Scheme is already plenty simple. 07:56:57 Haven't been following R6RS progress since I forgot to re-join #scheme. 07:56:58 It seems simple to me now, but I remember myself (attempting to) learn(ing) Common Lisp. 07:57:17 That was the stupidest I've ever felt in my life :D. 07:57:37 There's a status report from June 2006, so I guess they're still at least doing something. 07:57:57 "We intend to deliver a draft R6RS to the Steering Committee by September 1, 2006." 07:58:24 4 days later, is there a draft? 07:58:41 I'm thinking of learning ConTeX only because I don't think LaTeX 3 will ever finish. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:44 At least the R6RS improvements seem sensible. There's standardized record types, module/library system, syntax-case and binary I/O (including block reads and such). Oh, and exceptions. And all this mostly based on existing SRFIs. 08:03:12 I never knew Scheme was this well done, else I wouldn't have even touched CL. 08:03:29 Shush, don't anger the LISPers. 08:03:38 (Do we have any here?) 08:03:45 * Razor-X points to GreyKnight. 08:04:04 That was the initial reason I went to Haskell. 08:05:05 I looked at Haskell and then moved on to CL :-P 08:05:44 Well, I went to CL, learned it kinda, realized I was a CL failure and went on to OCaML. I felt this odd ``Ewww I hate this language'' feeling with OCaML, and found Haskell. 08:06:08 Haskell was nice until I found the monads 08:06:12 Yeah. 08:06:31 Things kinda went sour after that 08:06:38 I never wrote with Monads. I could read codes with Monads, and used some of their syntax for things normal syntax couldn't give me, but I hated Monads themselves. 08:07:39 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The dawn of a new IRC era"). 08:07:42 Some of my Haskell one-liners are pretty awesome though :D. 08:43:29 Saucy! 08:54:41 In Soviet Russia, you eat grue! 10:13:45 -!- GreyKnight has quit ("BRB"). 10:17:17 -!- GreyKnight has joined. 12:00:17 -!- Arrogant has quit ("Leaving"). 12:32:45 -!- pgimeno_ has joined. 12:33:20 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 12:33:25 -!- pgimeno_ has changed nick to pgimeno. 12:56:30 -!- GregorR has quit (Read error: 113 (No route to host)). 12:59:21 -!- GregorR has joined. 13:19:09 -!- lindi- has quit (Read error: 104 (Connection reset by peer)). 13:21:44 -!- lindi- has joined. 13:49:40 -!- GregorR has quit (Read error: 110 (Connection timed out)). 13:50:39 -!- GregorR has joined. 15:53:27 -!- GregorR-W has joined. 16:59:10 -!- jix has joined. 17:06:21 -!- kipple_ has joined. 17:09:25 ho-hum 17:16:58 Hum ho-hum. 17:17:41 raba-dam-tim-tim 17:18:19 boom-chika-laka-chika-laka-chika-boom 17:19:59 * kipple_ sees a lot of potential keywords for a new groovy esolang... 17:20:21 oooh-ah-chicka-chicka... oooohhh yeaaaaahhh 17:20:45 Bow chicka bow wow. 17:21:27 ba-dum tshhhh! 17:22:17 bom-bom-tschh bi-dom-ti-dom-tschhh 17:54:47 -!- tgwizard has joined. 18:22:51 -!- calamari has joined. 19:15:07 -!- anonfunc has joined. 19:16:20 Whee. . . 19:16:52 That word is not allowed. Pay the price or suffer harsh penalty. 19:17:34 fear the mighty Syntax Error penalty! 19:18:44 -!- ihope__ has joined. 19:19:17 idea: an rpg language where you lose HP for syntax errors 19:21:33 * pikhq hits everyone with BFM whoring 19:24:52 I didn't say it was a *good* idea 19:35:29 -!- ihope has quit (Read error: 110 (Connection timed out)). 19:44:21 -!- tgwizard_ has joined. 19:55:28 -!- tgwizard has quit (Connection timed out). 19:56:46 -!- calamari has quit ("Leaving"). 20:01:16 -!- Sgeo has joined. 20:10:54 -!- ihope__ has changed nick to ihope. 20:15:08 -!- _jol_ has joined. 21:02:16 -!- CakeProphet has joined. 21:19:32 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:38:38 -!- kipple__ has joined. 21:51:10 -!- _jol_ has quit ("co'o rodo"). 21:55:57 -!- kipple_ has quit (Read error: 110 (Connection timed out)). 22:02:25 * GreyKnight dreams up a nomiki language 22:19:36 -!- tgwizard_ has quit (Remote closed the connection). 22:36:28 -!- GregorR has quit (Read error: 113 (No route to host)). 22:39:13 -!- GregorR has joined. 23:33:43 -!- ihope has quit (Read error: 110 (Connection timed out)). 23:58:04 -!- kipple__ has quit (Read error: 110 (Connection timed out)).