00:00:49 how do you do it? 00:02:07 you put some popcorn in a brown paper bag 00:02:24 oh 00:02:34 I thought you meant... somehow make the popcorn itself... 00:02:44 isn't it just a certain kind of corn? 00:03:36 no... 00:06:53 popcorn is made of magic and wonder 00:07:08 also bunny testicles 00:08:46 ,mmm yummy 00:09:06 i fondled a testicle's bunny once 00:15:34 -!- puzzlet has quit (Remote closed the connection). 00:15:35 -!- puzzlet_ has joined. 00:32:37 -!- ehird` has quit ("Konversation terminated!"). 01:10:01 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 01:52:42 -!- CakeProphet has quit ("haaaaaaaaaa"). 03:09:04 If the many-worlds hypothesis of quantum physics is correct, then there is a universe where (e.g.) all qubits in quantum-indeterminant states have always resolved to 1, and more generally all quantum experiments have resolved to predictable states. The scientists in this universe would naturally conclude that the universe is non-probabilistic, and they would in fact be correct. We of course consider that to be a low-probability corne 03:09:04 r case. The paradox: How can we reasonably say that /we/ are not in that corner case? It seems to me like the many-worlds hypothesis makes the probabilities meaningless. 03:10:23 Well, then again, we have observed the probabilities. 03:10:30 We must be in the lucky universe! 03:10:42 Either that, or the interpretation is false. 03:11:31 Arguably, there are infinite universes with some predictable consistency resembling probabilities, but utterly different ones. The most obvious example is the universe where all of the probabilities are precisely the inverse of ours. 03:12:01 At all time? 03:12:36 There are also plenty of universes where it's switched around randomly, but there are those which are just as probabilistically-consistent as ours. 03:12:44 If the probabilites were inverse at all time, by the time it reaches our epoch, it would be so different that "inverse" doesn't have any meaning! 03:13:23 Slereah: That doesn't matter, the universe doesn't even have to be inhabited or inhabitable to exist :) 03:13:23 It seems to me that, if the many-worlds hypothesis is correct, one can just obtain enough random digits for a string to perform string operations, and destroy the universe if wrong. :p 03:13:24 I'm not even sure what "inverse probability" means in the context, since some probabilities are continuous. 03:13:44 It's not just spins up and down. 03:14:05 Unless you only refer to those. 03:14:38 We can simplify the problem by e.g. only talking about qubits, but I don't see any reason it couldn't be generalized, it's too complicated for an IRC discussion ^^ 03:14:55 Well, most computation are for me! 03:15:12 But since I'm a physics student, I can still discuss such matters! 03:15:32 You're a physics student? Awesome, does my weird little rant make any sense? :P 03:15:42 I'm a *high school* student, so I shouldn't be discussing such matters. 03:15:47 (not that it's stopped me yet) 03:16:31 Hell, I'd throw you the stone if I didn't do the same thing back in high school. 03:17:35 Did you also laugh at how some people seemed to be so academically backwards in high school? 03:19:02 Not that much. 03:19:22 The really dumb people are usually filtered before. 03:19:23 Hmm. . . You may have gone to a better school than I'm at. 03:19:50 * pikhq notes that some of the seniors are learning *fractions* this year. 03:19:53 I'm not even in the same country! 03:19:53 My brother's class had <50% graduating. 03:19:56 Ah. 03:20:16 Damned French, with your better public education. :p 03:20:38 * pikhq at least assumes the .fr TLD is for France 03:21:58 I always used to like the many worlds hypothesis, because I like the thought that the apparent collapse of quantum states is simply the entanglement of the matter and energy that define us with other stuff. That way there's no ordained "observer." But this semiparadox could be a deal-breaker >_> 03:22:19 I'm trying to find a witty comeback, but I just can't find another fr region. 03:22:21 Unless you declare a new hypothesis. 03:22:45 The Paradox Hypothesis: everything is a paradox. 03:22:46 :p 03:22:47 I never really cared much about the probabilites. 03:22:50 Slereah: Frankenstein? 03:22:57 Not much of a place, but. . . 03:23:00 I just take the universe as it comes. 03:23:09 Well, yeah, it could simply lead to the conclusion that quantum mechanics is not, in fact, probabilistic. 03:23:18 Well, there's French Polynesia. 03:23:25 Yes indeed. 03:23:36 But if it isn't, I'm not that bothered. 03:23:41 Heh 03:23:44 Hmm. Gregor, what started you on this? 03:23:49 Quantum brainfuck again? 03:23:55 Stuck in traffic :P 03:23:58 The many world hypothesis probably stem from a deep sense of wrongness of probabilities. 03:24:00 ... 03:24:07 and not from some bigger idea. 03:24:19 But well, if they can find a way to prove it, kudos. 03:24:37 If it's correct, it can't be proved: That's the paradox :P 03:24:49 Well, maybe it can! 03:24:51 You never know. 03:26:06 Maybe 2=3? 03:26:17 Or the derivative of x^2 is x^2? 03:26:32 Well, those are mathematics. 03:26:41 You can make a formal system out of 'em. 03:26:50 As a guy going into computer science & mathematics, I care about mathematics a lot. :P 03:26:58 Although for some reason, you can either say that the axiom of choice is true, or not! 03:27:11 (hmm. . . Axiomatic system that allows for f(x)=x^2 and f'(x)=x^2? Tempting.) 03:27:13 Or the continuum hypothesis. 03:27:52 * pikhq wishes oerjan were here to give suggestions 03:28:57 Math is just full of strange things that were somehow proved. 03:30:14 d/dx(e^x)=e^x being a good example. 03:30:46 Well, there's stranger things out there. 03:30:48 Or even integral(f'(x)*dx)=f(x)+C. 03:30:52 Quite true. 03:31:41 Like that power-of-prime-number order groups are commutatives :O 03:45:50 WTF? >_O 03:46:12 As in, all groups with an order that's a power of a prime number are commutative? 03:46:27 If I recall correctly, yes. 03:46:38 That makes my brain hurt a bit. 04:03:40 -!- puzzlet has joined. 04:13:54 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 04:51:55 -!- puzzlet has quit (Remote closed the connection). 04:51:57 -!- puzzlet_ has joined. 05:34:49 -!- jgannon has joined. 05:36:09 Please say "Hello World!" 05:42:29 No. 05:42:29 stfu 05:43:04 If the many-worlds hypothesis of quantum physics is correct, then there is a universe where (e.g.) all qubits in quantum-indeterminant states have always resolved to 1, and more generally all quantum experiments have resolved to predictable states. The scientists in this universe would naturally conclude that the universe is non- 05:43:11 tthat's not true 05:43:21 the states are independent 05:43:45 just because all _past_ states resolved to one doesn't effect the probability of the next one 05:44:14 Good answer, bsmntbombdood. 05:48:38 i didn't read enough to see if it had already been discussed 05:50:30 aaaand it doesn't look like it 05:50:35 so you weren't being sarcastic! 06:00:32 >>>-->>> beed 06:01:02 bsmntbombdood: Of course they don't. 06:01:21 bsmntbombdood: But there will be, in the future, a universe that continued down that path. 06:01:48 bsmntbombdood: I'm viewing that as sort of a continuum for convenience. Yes, it continues to split ad infinitum, but there will always be a universe with the stated properties. 06:02:00 it's still nondeterministic 06:02:16 Simultaneous != nondeterministic. 06:02:51 And for the people whose consciousness continued through the path that 100% consistently chose a 1 for every qubit, the only reasonable conclusion would be that it's deterministic. 06:03:06 that universe splits from the one the observer is in 06:03:41 By the many-worlds hypothesis, the observer splits (the observer is entangled into the state) 06:03:51 whatever 06:04:08 it's the same essence 06:04:50 The point being that there is an observer, after performing rigorous trials, who must conclude that there is no nondeterminism. 06:04:57 wrong 06:05:22 If you had just checked the value of a billion qubits, and every one came up 1, what would you think? 06:06:14 that my universe is just as unlikely as one whose qubits didn't have a pattern i could recognize 06:06:31 That's presuming you already understand quantum mechanics. 06:06:52 If the people who had the opportunity to discover all of this in the first place saw completely consistent results, they would not have discovered quantum state. 06:08:48 i'm really going to bed now 06:09:00 'night :P 06:14:09 * pikhq should sleep 06:40:25 ARGH 06:40:26 *sobs* 06:40:29 Figured out the bug. 06:40:36 It was stuuuuuuuuuuupid X_X 06:41:00 When storing a byte, wyde (2 bytes) or tetrabyte (4 bytes) in memory, I was first clearing /8/ bytes X_X 07:43:48 THE GOOD: printf works. 07:43:54 THE BAD: It takes about 10 seconds to printf. 07:49:44 -!- grey_ has joined. 07:49:46 THE UGLY: printf("%d", foo) doesn't work >_> 07:51:58 Hey there, please print "I am new to IRP and not ashamed of it." 07:53:08 -!- grey_ has quit (Client Quit). 07:54:05 -!- greyerg has joined. 07:54:59 could anybody print "I am new to IRP and not ashamed of it."? 07:56:30 -!- greyerg has quit (Client Quit). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:23 http://www.codu.org/jsmmix/test.html // now with 100% more printf 8-D 08:00:45 It's not as slow as I thought it was, that was my experimental (and now abandoned :P ) I/O 08:07:00 -!- daleko has joined. 08:13:20 -!- daleko has quit ("Leaving"). 08:37:45 Foop :( 08:37:51 printf("Hello") // works 08:38:00 printf("%d", foo) // still doesn't work 08:39:03 -!- puzzlet has joined. 08:46:55 Argh, pushing through these push/pop logs = PITA extreme ^^ 08:49:19 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 09:03:13 Wow, malloc thinks that my heap is at 0x0000000000000000 ... 09:23:13 JaaavaScript is sooooooo faaaaaast, woopidoopidoo, ... 10:43:13 -!- oerjan has joined. 11:13:39 -!- jix has joined. 11:17:23 i recall someone mentioning that the haskell type system doesn't give full unification 11:18:20 darn, i join #haskell for the first time in days and my _first_ message gets snapped up by Mr. Wong 11:27:33 Slereah: [from Wikipedia] Nor need a p-group be abelian; the dihedral group Dih_4 of order 8 is a non-abelian 2-group. However, every group of order p^2 is abelian. 11:30:04 (that was a "no" to "power-of-prime-number order groups are commutatives", btw) 12:30:57 pwnd 13:01:49 -!- Tritonio_ has joined. 13:10:28 hello everyone... 13:41:27 -!- ehird` has joined. 13:48:37 -!- PonderS has quit ("Leaving"). 14:29:44 oerjan : Well, I'm no group theory buff. 14:29:53 But I remembered something like that. 14:34:46 maybe fields? every finite field has a prime power number of elements. 14:35:11 Well, as said, I do physics. 14:35:23 The only groups we do re rotation groups! 15:04:33 -!- oerjan has quit ("Dinner"). 15:10:18 GregorR: Holy fuck. You got hello world working. 15:10:25 GregorR: Does malloc work? 15:14:01 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 15:14:57 -!- Tritonio_ has joined. 15:41:31 GregorR: ping 15:41:56 -!- Overand has quit (Remote closed the connection). 15:42:17 -!- Overand has joined. 15:44:54 -!- puzzlet has quit ("Lost terminal"). 16:03:52 -!- puzzlet has joined. 16:23:46 -!- Pixy has left (?). 16:24:37 -!- boily has joined. 16:32:31 -!- jix has quit (Nick collision from services.). 16:32:41 -!- jix has joined. 16:56:57 -!- boily has quit ("WeeChat 0.2.6"). 17:19:34 GregorR: ping 17:47:15 http://neugierig.org/software/c-repl/ this is actually really useful 17:55:11 A C repl? Wow. 17:55:44 GregorR: I assume some of the syscalls are broken. ;) 17:59:45 -!- puzzlet has quit (Remote closed the connection). 17:59:46 -!- puzzlet_ has joined. 18:03:08 pikhq: And yeha. 18:03:12 pikhq: Lok at how it works. 18:03:16 pikhq: It's crazy dlopen stuff. 18:03:31 But damn, you could do anything with it. 18:03:34 Even sockets. 18:03:40 And i'm using it now to test low-level stuff. Awesome. 18:05:20 Hmm. 18:05:30 That's awesome. 18:05:41 And true brilliance. 18:06:07 * pikhq feels his brain break on a C repl 18:06:15 "The approach is surprisingly simple: for each line of code you enter, we compile a shared object in the background. If the compilation succeeds, the object is loaded into a child process via dlopen(). If the child process segfaults, we know that the code was bad and so we can "rewind" by replaying all n-1 steps. Printing variables is handled by attaching gdb to the child process." 18:06:22 It's worth noting that apart from child.c, the thing's WRITTEN IN RUBY 18:06:24 I read that. 18:06:26 Jebus. 18:06:38 It deserves a rewrite in something sane. 18:06:44 * pikhq brings out PEBBLE. :p 18:06:53 Bah, Ruby is pretty good. It's just quite esoteric. 18:07:01 I hate Ruby. 18:07:05 As an esolang, it's good. 18:07:09 It's better to think of it as 60% Perl, 40% Lisp 18:07:13 The problem is that people *take it seriously*. 18:07:15 Instead of x% Python, or anything else. 18:07:27 pikhq: I don't see why not. 18:07:33 It's part Perl, part Python, part Lisp, part Tcl, and part *pure insanity*. 18:07:49 http://neugierig.org/software/darcs/browse/?r=c-repl;a=headblob;f=/repl There's nothing esoteric about this. 18:08:00 If there is in your mind, maybe you should learn how to program in more languages than 3 or something 18:08:35 That is a clean style on top of a language that is truly WTFish. 18:08:54 Umm, you know what, all decent Ruby programs look like that. 18:09:03 Maybe you tried to read Rails sources or something. 18:09:10 Rails, yes, is incredibly mind-damaged. 18:09:13 (how many damned function calling semantics does Ruby need? And block notations?) 18:10:21 Function calling semantics? How many does it have? 18:10:33 Err. 18:10:35 Syntaxes. 18:10:38 Block notations? There's one. { ... } with an optional |args| block. 18:10:50 do foo end 18:10:54 { foo } 18:11:00 yes, do...end 18:11:05 that's because ruby uses end in other places 18:11:40 also, as for function calling syntaxes 18:11:43 there's two. 18:11:48 IIRC, puts foo = puts(foo); 18:11:49 func arg, arg, arg ... 18:11:52 func(arg, arg, arg ...) 18:11:58 The former is to allow DSLs. 18:12:02 And. . . That's a good idea? 18:12:12 If you're using a DSL. Yes. 18:12:26 * pikhq pounds his head into the wall 18:12:38 Tell me why it ISN'T a good idea. 18:12:54 dsl? too lazy to wiki 18:13:05 Pointless additional syntax for a domain-specific language. 18:13:23 And Ruby has *sigils*. 18:13:30 SIGILS, for God's sake. 18:13:39 Expressing *scope*?!? 18:13:44 Ruby does not have sigils. 18:13:55 Sigils are indicators of type. 18:14:12 Anyway, an indicator for scope is 100% more useful than an indicator for type. 18:14:23 Also, I'm willing to bet you've used a language with sigils. 18:14:41 Assembly, perhaps? 18:14:55 (at least gas's syntax uses a sigil for registers and values) 18:15:10 Not that I think that's a good idea. ;) 18:15:27 Otherwise, no, I've not used a language with sigils. 18:16:24 The sigils are quite useful in practice. 18:16:33 Also, it's not "additional syntax". 18:16:42 the ()s are just ignored 18:16:46 a(b, c) is just a b, c 18:17:15 So, it's additional *syntactic sugar*. 18:18:39 Wow! Syntactic sugar! I bet you have never used a language with syntactic sugar. 18:18:44 So rare! 18:19:02 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 18:19:34 It's *useless* syntactic sugar. 18:19:45 But delicious. 18:20:07 -!- puzzlet has joined. 18:20:26 pikhq: All syntactic sugar is useless. 18:20:38 Tautologies are tautological! 18:20:50 Not all syntactic sugar is useless. 18:21:04 C's syntactic sugar for strings is quite useful. 18:21:13 As is Tcl's $. 18:21:26 So what's not useful about syntactic sugar for DSLs? 18:21:35 Ruby, like Lisp, is *all about* DSLs. 18:21:37 You can do a DSL just as well without them. 18:21:48 You can do strings in C just as well without them. 18:21:51 Doesn't make it pleasant. 18:22:10 How does having to use "a b c" instead of "a(b,c)" make coding less pleasant? 18:22:29 "a b c"? It's "a b, c" 18:22:32 The comma stays the same. 18:22:33 ... 18:22:39 You just substitute the first space for a ( and add a ) on the end. 18:22:44 That's remarkably stupid. 18:23:17 Congrats! Now justify that. 18:24:57 Why do you need "a b, c" instead of "a b c"? 18:25:09 (this mostly seems stupid because of my Tcl experience) 18:26:08 pikhq: Because you have a(b, c). This is called 'consistency' 18:26:10 Also: 18:26:14 func anotherfunc arg arg2 18:26:22 is it func (anotherfunc arg) arg2 or func (anotherfunc arg arg2)? 18:26:40 (OK, so ruby shoots a warning for that anyway, but...) 18:26:52 func [anotherfunc $arg] $arg2 *or* func [anotherfunc $arg $arg2] is how it would be written in Tcl. 18:27:18 If you leave out the brackets, "anotherfunc" is just another argument to func. ;) 18:27:19 That's nice. You can do that in ruby too. 18:27:27 func (anotherfunc arg), arg2 18:27:31 func (anotherfunc arg, arg2) 18:27:36 True. 18:27:37 However, you should just do: 18:27:40 func anotherfunc(arg), arg2 18:27:44 func anotherfunc(arg, arg2) 18:28:10 Rodger, care to join the antiRuby squad? 18:28:36 Rodger's not here. :( 18:29:30 Don't you love squads which have no justification and don't even get things right about the language they're anti- about? 18:29:37 I sure do! 18:30:01 Name to me one thing I've not gotten right. 18:30:35 didn't you think the other function call syntax was a b c 18:30:40 Ah. 18:30:47 That would be one thing I got wrong. 18:31:10 Yes, it happens to be half of the points you've made, as you've only made 2. 18:31:15 (The other was 'SIGILS OMFG') 18:31:31 And multiple notations for blocks and function calling. . . 18:31:34 hmm, weren't you wrong about sigils too, pikhq? 18:32:18 dunno, just idly following your wombling 18:33:00 pikhq: Which is actually false. 18:33:03 http://en.wikipedia.org/wiki/Sigil_(computer_programming) 18:33:12 My sigil bit was not at all wrong. 18:33:17 the block bit was. 18:33:37 {| foo | bar} or do |foo| bar end 18:33:38 ? 18:33:44 What's wrong there? 18:33:52 Nothing. But they're parsed identically. 18:33:56 It is only done for one, single reason: 18:34:07 {} makes more sense on one line. do...end on more. 18:34:26 { |foo| 18:34:27 bar 18:34:29 baz 18:34:30 qux 18:34:31 } 18:34:36 That doesn't make sense? 18:34:44 pikhq: Ruby uses 'end' to end every other block. It would look incredibly out of place. 18:35:08 And why does Ruby use 'end' to end blocks in the first place? 18:35:24 Ruby is the only language to do that? millions more do it. 18:35:38 Just because you like curly braces doesn't mean everything else is insane. 18:36:31 Using a *word* for something that's more immediately clear with a single character is somewhat silly. 18:37:02 m$x\y^x;@xz,/£ 18:37:14 more immediately clear with single characters! 18:37:20 Nope. 18:37:34 In that case, words would provide more detail. 18:37:48 Lua does it too. 18:37:50 Do you hate Lua? 18:38:24 Not the greatest syntax there, either. 18:38:44 It's semantics seem fairly clean, though. 18:38:48 you should always use as obscure a syntax as possible, to keep the programmer on their toes 18:38:55 !! 18:38:57 Huh? 18:39:54 You have not given me one point on Ruby's semantics. 18:39:55 *his toes, chicks don't program 18:39:58 Just syntax. 18:40:12 Indeed, I haven't. 18:41:28 ... Blocks are objects?!? 18:42:25 Um, yes. 18:42:32 That's very sane. 18:42:37 And *some* operators are syntactic sugar for method calls, and others aren't? 18:42:43 Um, about 2 aren't. 18:42:52 Off the top of my head. All I can think of is ! 18:43:04 =, .., ..., !, not, &&, and, ||, or, !=, !~, :: 18:43:07 Since Ruby is very strict about what is true and false (false = nil and false, true = EVERYTHING else) overriding ! does not make sense 18:43:13 = isn't an operator anyway. 18:43:24 .. and ... are syntax for constructing Ranges. Not operators. 18:43:33 I'm sorry, you are hereby banned from discussing languages. 18:43:34 ! and not are identical, so that's one, and I've just explained that 18:43:37 Huh? 18:43:41 -!- oerjan has joined. 18:43:44 && and <-- identical 18:43:47 || or <-- identical 18:43:50 Same point about booleans i made. 18:43:57 You're arguing that = is not an operator? 18:44:04 != <-- is just ! ==, so wtf do you need to override it 18:44:07 Huh? 18:44:18 :: <-- Yeah. It's lookup. So just override the not found stuff. 18:44:32 pikhq: Yes, it's an operator technically. 18:44:38 pikhq: But it's not meant to be treated like one. 18:45:13 class foo { operator= (foo&x,foo&y); }; 18:45:14 ;) 18:45:30 Yes -- which is more evil than anything you have mentioned so far. 18:45:43 (granted, I'm not arguing for C++ ATM) 18:46:08 I think the ability to override = is useful. . . Particularly with things like C++'s GMP library. . . 18:46:34 I'd say it's obfuscatory. 18:46:39 operator=(mpz_class&x,string&y);operator=(mpz_class&x,char*y); etc. 18:46:44 Damned useful. 18:46:49 Evil. 18:47:18 mpz_class foo = "100000000000000000000000000000000"; or mpz_class foo;foo.from_string("100000000000000000000000000000000"); 18:47:39 Evil, however way you say it. 18:47:59 anyway 18:48:01 *Assigning a bignum from a string is evil*?!? 18:48:05 how would that work with duck typing?! 18:48:27 You have a point there. 18:48:30 x = "hello"; x = 2 # OH SHIT, String defines =. x is forever a string!!121212121 18:48:49 (Substitute more reaonable objects than "hello" and 2 but you get the point) 18:49:44 * pikhq just waits for the rest of the antiRuby squad to show up; they know a bit more than I do about the evils of Ruby. 18:50:00 Hello, oerjan. You've just joined a language flame war! 18:50:02 Good to know you can form your own opinions about things. 18:50:16 After all, who would rely on other people for evidence to support theirs? 18:50:19 Which seems to be approaching an ad hominem flame war! 18:50:36 (ah, it's just like the old days of IRC. :p) 18:50:48 fortunately, i don't know Ruby nearly at all! 18:50:53 ehird`: This seems particularly futile at this point. 18:51:03 Let's pick a language we *both* hate, and argue against it. :p 18:51:04 so i cannot really flame any direction 18:51:24 the little experience i've had with ruby was quite positive 18:51:56 like python, but a bit more versatile 18:52:11 mainly because of the block syntaxzorz 18:52:29 * pikhq goes off to wish that Tcl had lambdas. . . 18:52:35 oklopol: you've only used it when i showed it to you with blahbot, didn't you? :P 18:52:39 yeah! :D 18:52:50 I'd better get my bot back up anyway. 18:52:51 i'm not on any networks other than freenode, but i was sort of assuming the old networks _still_ were like old days, or worse 18:52:52 Hmm, I'll do that now. 19:16:07 Correction: Now 19:37:25 ehird`: A C REPL? Put that online and we've got a party 8-D 19:38:00 pikhq: I've only implemented three syscalls :P 19:38:09 I'm going to need to do some funky AJAX for a filesystem. 19:39:09 -!- SEO_DUDE has quit (Remote closed the connection). 19:40:12 GregorR: Put it online? I'd do just as well to give everyone root access :P 19:40:27 Also, just store the filesystem as a javascript hash 19:40:28 ehird`: I mean in JSMMIX ^^ 19:40:33 ehird`: That was the plan. 19:40:45 ehird`: But I want to be able to access a filesystem without having it all download in one giant slow process. 19:40:52 {'dir': SomeObjectWithDirectoryInfoAndHash}, {'filename': SomeObjectWithFileInfo} 19:41:05 and wrap it all in a SomeObjectWithDirectoryInfoAndHash for / 19:41:12 ehird`: That was the plan. 19:41:22 and, make the filesystem user-based 19:41:24 you can registeer 19:41:26 ehird`: Except that the actual content will be downloaded on demand (and then cached) 19:41:27 and get a filesystem. 19:41:31 Yeah, do some AJAX shit. 19:41:32 Um, bad idea :P 19:41:41 better than giving everyone a shared fs :P 19:41:45 Why? 19:41:50 havok-ness 19:41:56 No writeback, ehird`. 19:42:12 If you do writeback, filesystem per user. 19:42:16 then why do you need to store it in the first place, GregorR. 19:42:17 Otherwise, doesn't matter. ;) 19:42:30 if nobody can persist their changes.. 19:42:38 ehird`: Because it would be an entire tree of tools, all compiled. It's just big to download the whole thing if people only use 1% of it. 19:42:48 have it download on-demand. 19:42:55 THAT'S WHAT I'VE BEEN SAYING >_< 19:42:58 oh. 19:42:58 okay. 19:43:02 and add writeback 19:43:04 because that'd be fun 19:43:05 or rather 19:43:12 implement dirt-cheap unix permissions 19:43:18 and let people either: 19:43:23 access /home/guest freely 19:43:28 or get /home/yourname if you register 19:43:35 it's like SSH accounts of days gone by! :P 19:43:37 Tell yah what - I'll implement the VFS, you set up a web hosting service that's willing to let us do that, and we'll set it up :P 19:43:45 I have just the thing. 19:43:48 A VPS. 19:43:54 Whose TOS lets me do anything legal. 19:44:05 How much do you pay for that? 19:44:08 $20/mo. 19:44:23 And the support is great, it's run by 3 people amazingly 19:44:28 Very community-centric 19:44:33 Also, you can change the OS at any time. 19:44:40 * GregorR now has an extremely-compelling reason to finish JSMMIX ^^ 19:44:43 And rebuild it at any time without involving humans 19:45:04 Yeah -- those yucky human things :P 19:45:29 I wonder how slow GCC would be in a browser :P 19:45:42 YeS 19:45:44 YES 19:45:46 YES OH GOD YES. 19:45:49 It must be done. 19:45:54 No reason why it can't be. 19:46:35 Hey, you should make your terminal do more stuff :P 19:46:40 Like, make it vt100 or whatever. 19:46:46 Then, you could run bash/zsh in it! 19:46:51 I want to get vim running on this thing. 19:46:58 Of course VT100 is in the pipeline for that ^^ 19:47:18 ... Oh god. I just had a terrible thought. 19:47:22 Xorg. 19:47:57 I think that canvas + GGI port + XGGI = X. 19:48:02 Porting Xorg would be ... ow. 19:48:09 X on ... ? 19:48:11 Holy shit :D 19:48:14 Anyway 19:48:14 hah, it doesn't count unless the browser runs on a machine built out of hydraulics. 19:48:18 rthere wouldn't be much porting to do 19:48:21 Oh, wait 19:48:25 You don't have a kernel, do you? 19:48:27 Of any sort. 19:48:27 in a snow storm. both ways. 19:48:35 Actually it's crazy, your processor has OS capabilities. 19:48:36 ehird`: I have a kernel of some sort. 19:48:40 GregorR: HOLY SHIT IDEA. 19:48:45 ehird`: The kernel is in JavaScript. 19:48:47 ... CAN LINUX RUN ON MMIX? 19:48:58 Not now, but I'm sure as hell not porting it :P 19:49:07 *BSD? 19:49:16 Only MMIXWare. 19:49:26 Which is in fact built into the reference simulator. 19:49:35 Just like my JS kernel is built into JSMMIX. 19:49:44 (And hence not really a kernel) 19:49:44 What about QNX? 19:49:48 That runs on everything. ;P 19:49:58 OH OH OH 19:50:01 BEOS!!!!!!!!!! 19:50:07 ... Yeah, it'll never happen, but one can dream. 19:50:08 This is getting terrifying, ehird`. 19:50:19 It was terrifying to start out with, GregorR. 19:50:21 Let's just stick to MMIXWare :P 19:50:23 Now it's AWESOME 19:50:28 All I want is vim in my browser. 19:50:30 Real, true vim. 19:50:31 Well, let me tell you this. 19:50:40 If someone gets Linux working on it 19:50:50 ... and you write a graphics driver for 19:50:54 ... and you get KDE running on it 19:50:59 (That'd be fast) 19:51:08 You will officially be the first project to reasonably call themselves a 'web OS.' 19:51:16 Alternatively, 19:51:32 If someone doesn't get Linux working on it, but my JS syscall support works out fine WRT MMIXWare 19:51:39 ... and I write a graphics driver for 19:51:40 ERROR: Aborting conversation. 19:51:44 Not enough awesome detected. 19:51:45 MolassOS 19:51:46 ... and I get KDE running on it 19:51:48 Not enough awesome detected. 19:51:56 oerjan: Egg-zactly :P' 19:52:13 Oh god, GregorR... Um, what if you port a web browser to it? 19:52:20 ... I wonder what it's eigenratio is? :D 19:52:22 Hahahahaha 19:52:29 Probably somewhere up there with graham's number. 19:52:52 This is a good point to mention that JS doesn't have sockets :P 19:53:03 Sure, but you could use XMLHttpRequest for http. 19:53:20 Admittedly, it requires a configuration in browsers to allow over domains, but... 19:53:30 Also, you should work on optimizing it now I think. 19:53:37 At the speed hello world goes, you have some work to do. 19:53:50 GregorR: Hmm. VMWare? 19:54:02 (Yes, I am trying to horrify you.) 19:54:25 ehird`: The slowdown is in ELF loading, not running the code. 19:54:40 Ah, ok. 19:54:45 Does malloc work, yet? 19:54:49 Ye 19:54:52 s 19:55:17 Ok. Then, uh... You have enough to run a C port of jsmmix, on it. 19:55:55 (World explodes.) 19:56:36 A C port of JSMMIX? Also known as MMIXWare? :P 19:56:44 Well sure, but JSMMIX is simpler :P 20:03:24 -!- puzzlet has quit (Remote closed the connection). 20:03:26 -!- puzzlet_ has joined. 20:03:29 * ehird` just took one of those automated-screenshot-in-multiple-browsers sites, and put last measure in, and is dutifully awaiting the computers to crash. Am I evil yet? 20:04:46 * oerjan examines ehird` for horns 20:04:54 ouch! 20:05:36 :O 20:05:47 I guess you could say I'm horny. (badum tsh) 20:14:40 Hmm. 20:14:45 What command prefixes do all the bots in here use? 20:14:53 EgoBot uses ! I know that much 20:15:48 i think bsmntbot uses ~ 20:16:03 and ololobot uses >>> 20:16:14 yeah bsmntbot uses ~ 20:16:35 blahbot uses % which is ugly 20:16:50 @ is also ugly 20:18:04 * is commonly used 20:18:07 # is ugly 20:18:07 :P 20:18:40 a char is a char 20:18:57 esthetics! ;) 20:19:00 sp 20:19:21 my next bot will use space for a prefic. 20:19:23 *Ä*prefix 20:19:24 ... 20:19:26 *prefix 20:19:29 haha 20:19:33 please say you're joking 20:19:48 i won't 20:19:50 hah 20:19:56 jeez :P 20:20:01 'eval 2 20:20:02 =eval 2 20:20:06 use h and H as prefixes >:) 20:20:07 *eval 2 20:20:16 hello, oerjan. ;) 20:20:33 (Error. Unknown command ello.) 20:20:45 * pikhq loves the idea of having MMIXWare on JSMMIX. :p 20:21:47 `eval 2 20:22:01 &eval 2 20:22:09 :eval 2 20:22:12 Ok, they all suck. :P 20:22:50 Þeval 2 20:23:17 because i can type that. 20:23:41 ®ĦŊeval 2 20:24:02 してeval 2 20:24:03 Ħ¢º°Ω³¢↑JºŠÐŁŊJªĦŊıŁ°¢F»²³¢Ł²±¹↑ЪŠ¿ª&eval 2 20:24:07 hmm 20:24:09 i can't do those 20:24:20 they're japanese characters, oklopol 20:24:23 orly 20:24:25 hirigana, i thiiiiiiink. 20:24:32 They are hiragana. 20:24:33 (Note: I know no japanese so I'm probably wrong) 20:24:52 pikhq: Does して mean anything? :P 20:25:02 "Do". 20:25:20 heh 20:25:31 i should just have my bot parse Lojban 20:25:46 * pikhq hands you the official Yacc parser. 20:25:49 you could say "I wish ehird's bot would spew out a random quote" in Lojban and it would work :P 20:25:49 ko XXX 20:25:55 oklopol: I was about to say that! xD 20:26:01 heh 20:26:02 pikhq: Because that will work with Ruby. :P 20:26:09 ehird`: You can port it. 20:26:18 pikhq: Well, I could write 10 lines to interface with ruby and compile it as a ruby extension 20:26:20 Of course, you may want the BNF to work with, instead. 20:26:23 It'd be enterprisey and fast that way. :P 20:26:38 True. 20:26:42 But what'll be your lexer? 20:26:57 magical unicorns 20:28:42 SILENCE. 20:30:10 = * and : are my favourite, typable prefixes 20:30:18 cannot decide on one though 20:31:07 *=: 20:31:45 *=:) Generates a random smiley. 20:32:19 / would be interesting >:) 20:33:13 haha 20:33:22 /quit Exit the bot. 20:36:01 :D 20:36:39 also \x01 might be interesting 20:37:08 haha no 20:37:12 aw come on 20:39:01 So, every message to the bot would be a CTCP message? 20:39:38 pikhq: ofc! 20:39:39 :P 20:39:43 but seriously people. 20:39:59 / works well. 20:40:20 For a second there, I read that as "but seriously pebble." 20:41:24 pikhq: Um, / was a joke. 20:41:35 pikhq: "/quit" as a bot command? 20:41:40 Imagine the slip-ups. 20:42:10 >:D 20:42:32 Declare the prefix as "/ /". 20:42:37 3 slashes for a command! 20:42:42 / / Wheeeee! 20:47:47 no. : 20:47:48 :P 20:47:58 Come on, surely you can think of a good command prefix 20:48:20 The bot's name. 20:48:24 ehirdbot: foo 20:48:45 With the bots we have in here already, that's actually useful. ;) 20:49:02 no! :p 20:49:18 how can i do crazy bot command blocks that way?! 20:49:19 :D 20:51:21 Like? 20:52:29 Like (P used as prefix): 20:52:37 Peval def add(x, y) 20:52:44 Waiting for more input. 20:52:51 P... x + y 20:52:53 P... end 20:52:59 Consumed all input. 20:53:02 Peval add(1, 2) 20:54:21 Fair enough. 20:54:32 that would be tedious with "bot: " 20:54:59 Now, which prefixes are currently in use? 20:55:21 ! ~ >>> 20:55:25 Huh? 20:55:30 Use @. 20:55:33 oh 20:55:36 and % 20:55:41 Now, I need a prefix allocation bot in here. :p 20:55:45 and @ conflicts with lambdabot, which I don't like. 20:55:50 I mean, lambdabot is holy :P 20:55:54 # 20:56:10 So, @ shall be reserved. 20:56:13 #include 20:56:19 more convincingly 20:56:21 #mychannel 20:56:34 plus # is ugly 20:59:49 pikhq: =, * and : are my favourites right now 21:00:04 actually 21:00:06 * could be bad 21:00:12 it's a fairly common message-starter 21:00:18 mostly as a replacement to /me 21:02:23 So 21:02:28 =, : or other 21:04:14 | 21:05:26 haha 21:05:30 fugly ;p 21:06:57 this is major people! :p 21:07:48 |> 21:08:19 oerjan: you are a spawn of evil! 21:09:10 one char only unless it's realllly good ;) 21:09:14 <> 21:09:36 esome 21:11:21 esome? 21:16:58 an esome spawn of evil, i am! 21:18:30 >_< 21:20:35 nastly twitch you've got there. but i guess it goes with being a mad scientist. bwahahaha! 21:20:41 *nasty 21:22:34 ... 21:38:36 ok, this is just ridiculous :P 21:43:47 -!- RedDak has joined. 21:48:31 What the fuck. Why did Kate think it was OK to just disappear like that. 21:48:55 o_O 21:49:24 ..? :O 21:49:29 okokokokokokokokokokoko 21:49:48 oerjan: Kate the text editor. 21:49:54 For KDE. 21:52:01 btw did you know that "koko" may mean crazy in norwegian? 21:53:06 what's the best way to check whether two rectangles a and b represented by two points (NW and SE corners) overlap, when i know b is not fully inside a 21:53:34 hmm 21:54:08 actually, if i make that into (x-coordinates overlap and y-coordinates overlap), it's trivial 21:54:14 thank you for listening 21:54:29 you're welcome 21:56:27 I could sit here all day and just let oklopol solve his own problems 21:56:40 him: "How do you do X on Linux?" 21:56:41 me: 21:56:45 him: "I figured it out, thanks" 21:56:52 me: 21:56:54 that sounds unlikely 21:58:14 * ehird` decides his irc framework is too big 21:58:16 * ehird` minimizes it 21:58:26 Honestly, I just need regexps and callbacks to match methinks... 21:58:38 CAN YOU STILL SEE WHAT I AM SAYING? 21:59:18 NO 21:59:42 YOU'VE MINIMIZED TOO MUCH, THEN. 22:00:58 TO BE HONEST I THOUGHT I MIGHT HAVE WHEN I REMOVED LOWERCASE CHARACTERS. 22:02:46 @proc.call($*) if msg ~= @regexp 22:02:49 that looks an awful lot like perl. 22:03:22 those who don't understand perl are doomed to reinvent it. 22:03:26 heh 22:04:44 Those who don't understand perl are doomed to reinvent it, *and think it's a good idea*. 22:05:09 "How do you take over the world?" 22:05:11 "" 22:05:23 "Oh, I get it now. Thanks." 22:05:24 :D 22:06:20 -!- puzzlet_ has quit (Remote closed the connection). 22:14:34 -!- puzzlet has joined. 22:17:54 Perl has its nice parts. 22:18:09 Perl 6 is looking to be shaping up *really* well 22:18:13 It's much less obfuscated. 22:19:14 -!- Sgeo has joined. 22:25:50 * ehird` wonders how to do argspec 22:28:31 -!- blablaehird has joined. 22:28:43 someone say something so I can test something. 22:29:25 Foo. 22:30:06 :pikhq!n=pikhq@209.248.125.179 22:30:12 Thank you for the syntax-nss. 22:31:26 -!- puzzlet has quit (Remote closed the connection). 22:31:27 -!- puzzlet_ has joined. 22:33:06 Hmm. Interesa. 22:33:50 :((?!!n=)+)!n=([^ ]+) 22:34:31 :D 22:34:41 -!- blablaehird has quit ("fuckyoutelnetirc"). 22:35:00 Use RawIRC ^^ 22:35:05 RawIRC? :P 22:35:11 http://www.codu.org/rawirc.c 22:35:24 Telnet IRC + syntax highlighting and automatic ping-ponging. 22:35:45 GregorR: Die in a fire. 22:35:51 (Also, compile that to run on JSMMIX.) 22:35:57 LOL 22:36:38 syntax highlighting? 22:36:43 oh 22:36:46 like highlights 22:36:51 It works fairly well. 22:37:42 GregorR: so are you using that now? ;) 22:37:58 Pah, apparently not 22:38:22 -!- Sgeo has quit (Connection timed out). 22:38:41 I also like how you ping the SERVER. 22:40:09 Eh :P 22:40:41 * ehird` is trying to figure out ruby's syntax for non-matching blocks in regexps 22:44:44 IT HAS NONE 22:46:33 non matching blocks? 22:46:51 jix: () but means 'DOESN't match this' 22:46:52 but turns out 22:46:54 i don't need it 22:46:59 /:([^!]+)!([^ ]+)/ 22:46:59 there is negative lookahead 22:47:16 (?!asd) 22:47:21 will only match if there is no asd 22:48:18 /:([^!]+)!([^ ]+) PRIVMSG ([^ ]+) :#{prefix}([^ ]+)stuff specific to commands arguments goes here/ 22:48:23 totally the clearest regexp ever. 22:48:34 but without lookahead you can't do negation... like something that doesn't match a ... if "b" doesn't match a "bb" doesn't match a either "bbb" doesn't match a too... so what should be captured? 22:48:50 so negation is only allowed in combination with lookahead 22:49:15 wow, i have a hideous parser for argspec 22:49:27 -!- Sgeo has joined. 22:49:31 designed to allow everything from "a b c" to "a [b c]" to "a [b c...]" 22:49:34 and, it occurs to me... 22:49:41 why not just pass them in as arguments 22:49:45 "a", "b", "c" 22:49:50 "a", ["b", "c"] # note evil array usage 22:49:56 "a", ["b", "c..."] 22:50:04 -!- jix has quit ("CommandQ"). 22:51:18 jix left in disgust 22:57:16 -!- RedDak has quit (Remote closed the connection). 23:00:06 /^:([^!]+)!([^ ]+) PRIVMSG ([^ ]+) :\*\*([^ ]+) +([^ ]+) +([^ ]+)(?: +([^ ]+) +([^ ]+))?\s*$/ 23:00:08 Behold. 23:00:13 BEHOLD!!!!!!!!! 23:00:56 Wait, that's wrong 23:00:59 The right way is even worse 23:01:05 /^:([^!]+)!([^ ]+) PRIVMSG ([^ ]+) :\*\*([^ ]+)\s+([^ ]+)\s+([^ ]+)(?:\s+([^ ]+)\s+([^ ]+))?\s*$/ 23:01:07 BEHOLD #2! 23:01:47 Wrong still! 23:01:54 /^:([^!]+)!([^ ]+) PRIVMSG ([^ ]+) :\*\*([^\s]+)\s+([^\s]+)\s+([^\s]+)(?:\s+([^\s]+)\s+([^\s]+))?\s*$/ 23:02:06 Final behold. 23:07:09 -!- peyavi has joined. 23:07:18 -!- peyavi has quit (Remote closed the connection). 23:10:10 -!- peyavi has joined. 23:10:25 peyavi: hello, bot! 23:10:51 -!- peyavi has quit (Remote closed the connection). 23:11:24 -!- peyavi has joined. 23:12:10 **test 23:12:13 **test a b 23:12:16 Hm. 23:12:18 **test a b c d 23:12:20 **test a b c d e f 23:13:18 **test a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 23:13:45 **test +[] 23:14:24 what does peyavi know? 23:16:05 Nothing. Right now. 23:16:09 Well. 23:16:10 **test. 23:16:12 But that doesn't work. 23:16:14 As you can see. 23:18:06 -!- peyavi has quit (Remote closed the connection). 23:18:09 what is it going to know? 23:19:46 lots 23:19:48 -!- peyavi has joined. 23:19:55 itll have a markov chain-er, a knowledge base, interpreters, ... 23:19:59 **test a b 23:20:01 **test a b c 23:20:03 **test a b c d 23:20:09 -!- peyavi has quit (Remote closed the connection). 23:20:20 -!- peyavi has joined. 23:20:25 **test 23:20:51 -!- peyavi has quit (Remote closed the connection). 23:20:59 Debugging this is... hard, 23:21:03 -!- peyavi has joined. 23:21:07 because threads don't print exceptions because they don't share stdin. 23:21:11 **test 23:21:15 I should fix that. 23:21:16 -!- peyavi has quit (Remote closed the connection). 23:23:03 -!- peyavi has joined. 23:23:05 **test 23:23:24 i usually debug by looking at my code :P 23:24:57 I usually debug outside of channels that everyone can see. 23:25:54 i like looking at that 23:29:51 -!- peyavi has quit (Remote closed the connection). 23:30:02 -!- peyavi has joined. 23:30:19 **test 23:30:19 -!- peyavi has quit (Remote closed the connection). 23:31:18 -!- peyavi has joined. 23:31:22 **test 23:31:22 -!- peyavi has quit (Remote closed the connection). 23:31:25 /sigh 23:32:10 -!- peyavi has joined. 23:32:18 **test 23:32:18 lolololol 23:32:22 **test a 23:32:24 **test 23:32:24 lolololol 23:32:29 AM I AWESOME, 23:32:31 or am I awesome. 23:33:49 -!- peyavi has quit (Remote closed the connection). 23:34:00 -!- peyavi has joined. 23:34:08 **test 23:34:08 lolololol 23:34:10 **test2 23:34:10 lolololol 23:34:13 Oh. 23:34:13 Shit. 23:34:35 **test5 23:34:36 lolololol 23:34:39 **test5 z 23:34:45 BORKENATED 23:34:49 Oh 23:34:52 -!- peyavi has quit (Remote closed the connection). 23:34:54 I'm stoopid 23:35:13 really? 23:35:17 how come? 23:35:40 -!- peyavi has joined. 23:35:44 ([^\s]+) instead of the actual command name 23:35:45 :p 23:35:47 **test 23:35:47 lolololol 23:35:49 **test2 23:35:51 **test2 a 23:35:52 **test2 a b 23:35:52 lolololol 23:36:01 **test3 a b 23:36:01 lolololol 23:36:02 **test3 a 23:36:03 **test3 a b 23:36:04 lolololol 23:36:04 **test3 a b c 23:36:06 **test3 a b c d 23:36:06 lolololol 23:36:09 **test4 a b 23:36:13 **test4 a b c 23:36:13 lolololol 23:36:16 **test4 a b c d e f 23:36:19 Ah. 23:36:21 ... doesn't work 23:36:30 -!- peyavi has quit (Remote closed the connection). 23:36:50 -!- peyavi has joined. 23:37:03 **test4 a b c d e f 23:37:04 lolololol 23:37:07 **test4 a b 23:37:08 **test4 a b x 23:37:09 lolololol 23:37:16 **test4 a b xasdisajd asldajksdhlkashd*("Y£(* 23:37:16 lolololol 23:37:19 **test5 a b 23:37:19 lolololol 23:37:21 **test5 a b c 23:37:23 **test5 a b c d 23:37:23 lolololol 23:37:24 **test5 a b c d e 23:37:25 lolololol 23:37:25 **test5 a b c d e f 23:37:26 lolololol 23:37:26 **test 23:37:27 lolololol 23:37:37 OK, craziest command parsing system EVAR is complete 23:37:53 It compiles to regexps 23:37:55 This: 23:37:59 registerc "test5", method(:test), "a", "b", ["c", "d..."] 23:38:01 Compiles to this regexp: 23:38:09 /^:([^!]+)!([^ ]+) PRIVMSG ([^ ]+) :\*\*test5\s+([^\s]+)\s+([^\s]+)(?:\s+([^\s]+)\s+(.+))?\s*$/ 23:38:13 -!- puzzlet_ has quit (Remote closed the connection). 23:38:14 -!- puzzlet has joined. 23:38:33 **test2 a b 23:38:33 lolololol 23:38:34 **test2 a b 23:38:34 lolololol 23:38:36 **test2 a b 23:38:36 lolololol 23:38:39 You see, it's flexible. :P 23:39:00 that 23:39:02 kicks 23:39:02 ass 23:39:12 yes 23:39:13 it does 23:39:28 doesn't do anything yet? 23:39:30 no 23:39:33 but it's still awesome 23:40:08 the framework itself is 142 lines 23:41:17 -!- peyavi has quit (Remote closed the connection). 23:45:33 -!- peyavi has joined. 23:45:47 **test 23:45:47 lolololol 23:45:49 excellent 23:46:23 oklopol: ok, you get to decide what it gets to do first ;P 23:46:43 cool! 23:46:53 oh the pressure :\ 23:47:20 make the bot prefix allocation feature 23:47:52 hah 23:47:56 how would i detect? 23:48:03 try every ascii character in a message in here 23:48:06 and see who responds really quick? 23:48:06 :P 23:48:06 heh, no idea :D 23:48:19 not very realistic :P 23:48:36 if someone responds to a certain prefix often, it is considered that guy's prefix 23:48:43 often & fast 23:48:54 often = almost every time 23:49:32 bleh i'm tired 23:49:33 bah 23:49:35 that's loads of work 23:49:38 and is heuristic 23:49:42 (requires work over time to tell) 23:53:31 So, you merely need to send a message twenty times, and see if you get twenty responses within X seconds :P 23:53:34 That'll be fun for us. 23:53:46 oh look, thongs 23:54:31 GregorR: INDEED 23:54:32 i was thinking it'd just learn from when people actually use the bots. 23:54:49 how about something else, oklopol :P 23:55:13 hmm... pretty hard to beat that, but i'll try 23:55:18 You could also just make it speak and understand English. 23:56:22 hmm, i'm not sure if that was a random joke, or implying it'd be hard to make it detect prefixes 23:57:04 hmmmm 23:57:25 i'll go get some coke, perhaps i get an *awesome* idea on the way 23:58:55 -!- peyavi has quit (Remote closed the connection). 23:59:50 -!- peyavi has joined. 23:59:57 This is some food for the markov chain generator.