00:02:44 hmmm... 00:02:56 I think I might need to do a genetic algorithm for this... 00:03:05 for what? 00:03:25 * CakeProphet is testing strings for "closeness" 00:04:18 well, you need to decide on a metric 00:04:52 (metric=distance function) 00:05:50 is this something like finding a minimal set of changes? 00:05:58 (diff-like) 00:08:42 -!- calamari has quit ("Leaving"). 00:09:45 CakeProphet: There is an algorithm for that in the python stdlib 00:11:22 lets see 00:11:30 /usr/lib/python2.5/difflib.py 00:12:11 from 2.1 it says 00:12:23 SequenceMatcher.ratio 00:13:47 get_close_matches is a cool function from that module 00:17:27 looks pretty simple 00:18:02 gives 2*/ 00:18:09 -!- Pikhq has quit (Read error: 110 (Connection timed out)). 00:19:16 -!- CakeProphet has quit (Success). 00:21:03 -!- calamari has joined. 00:21:11 I'm going to recode it a little 00:25:36 well, I think I'm a kde convert 00:26:02 ion ftw 00:27:01 lol 00:27:26 ion rocks 00:29:56 -!- CakeProphet has joined. 00:30:28 -!- sebbu has quit ("@+"). 00:44:54 -!- Figs_ has joined. 00:45:24 -!- Figs has quit (Nick collision from services.). 00:45:43 it works! 00:45:47 -!- Figs_ has changed nick to Fogs. 00:45:51 -!- Fogs has changed nick to Figs. 00:49:57 -!- dog4_ has quit ("This computer has gone to sleep"). 01:14:36 -!- anonfunc has joined. 01:27:31 ok, I have some code to compare two strings 01:28:23 ratio("apple", "apple") => 1.0 01:28:41 ratio("apple", "appl") => .888 01:29:15 ratio("apple", "orange") => .363 01:29:29 ratio("apple", "appel") 01:29:43 .8 01:31:26 ratio("aaa", "bbb") => 0. 01:33:51 is that like hamming distance? O.o 01:35:11 ratio("abcde", "edcba") 01:35:19 no 01:36:05 oerjan: .2 01:36:23 so, only one match 01:36:31 it's kinda broken 01:36:36 -!- Figs has left (?). 01:36:38 no consideration of swapping 01:37:51 hmm 01:37:56 not sure how to handle this 01:38:36 i don't think the python library handles swapping either, if i read the documentation correctly 01:39:31 difflib.SequenceMatcher("abcde", "edcba").ratio() => 0 01:39:47 that's strange 01:40:21 i dunno how to remove the matches from strings after they are counted 01:41:02 slicing? 01:41:12 well, yeah 01:42:02 an idea might be to sum something like squares of lengths 01:43:37 then a reversed sequence would match completely in pieces, but the sum would not add up to as much as for equal strings 01:45:30 hmm 01:46:25 on the other hand, matching "abcdef" with "acdebf" might give an unintuitive result if you simply remove the match and match the remainder 01:46:46 because after removing "cde", the strings become equal 01:47:19 ah 01:47:34 gah 01:47:42 well.. 01:47:47 I just created my own thing. 01:47:57 ...that takes into account transposition. 01:48:04 * CakeProphet didn't realize you were talking about it. 01:48:07 simply removing the matches gives ratio("abcde", "edcba") => 1.0 01:48:20 of course 01:48:32 because every piece matches somewhere 01:48:50 yeah 01:48:54 that's not acceptable 01:49:02 except this one uses a decision tree to find the shorted possible way to do it. 01:49:15 that's what my square suggestion meant to fix 01:50:45 this looks ok 01:51:00 4*/**2 01:51:26 and just removing common substrings as we find them 01:53:47 actually, the square root of that 01:54:31 ratio("abcde", "edcba") => 0.4472135955 01:55:31 ...I could actually split off the recursions into threads... if necessary 01:57:26 http://pastebin.ca/420272 <--- 01:59:02 oh man 01:59:11 sum of squares doesn't work very well 01:59:22 ratio("apple", "appel") => .44 02:00:01 -!- anonfunc has quit. 02:00:10 that's not good 02:00:51 you need to find the _longest_ match first 02:00:55 modification to hamming distance tend to work nicely. 02:01:30 you seem to be matching single characters 02:01:46 who me? 02:01:52 no, bsmntbombdood 02:02:12 hmmm 02:02:21 yeah, this finds the first one first 02:03:47 hmmm.... mine works really well for what I'm using it for (finding the closest match to a string within a list of strings) 02:45:49 -!- calamari has quit ("Leaving"). 02:49:35 CakeProphet: Oh, a convience function 02:57:52 ...yes, I'm lazy 02:59:03 a function for black people with braids? 02:59:46 methinks python ints should have an __iter__ method 03:00:47 to iterate over what? 03:00:57 n.__iter__ = range(n) 03:01:17 hmmm.... don't think that would make much sense 03:01:25 for num in 6: 03:01:40 yeah 03:02:00 makes me think of "every possible floating point value of 6"... which would go on forever. 03:02:51 6.next() == 0 03:03:40 ? 03:09:19 -!- calamari has joined. 03:19:39 -!- Figs has joined. 03:19:46 hey 03:19:48 you guys seen this, right? 03:19:50 http://www.nata2.info/d/pictures/f/americans.gif 03:21:41 right. 03:23:26 http://www.glowfoto.com/viewimage.php?y=2007&m=03&img=30-224100L&t=jpg&rand=2971&srv=img4 03:41:55 I doubt highly that that's real. (The first one) 03:43:35 http://www.snopes.com/military/lighthse.htm 03:46:34 woo 03:46:38 i joined facebook!! 03:46:45 oh boy 03:46:46 * GregorR bops lament's nose. 03:46:48 BAD LAMENT 03:46:49 NO BISCUIT 03:46:50 -!- Arrogant has joined. 03:47:08 is there an esoteric programming group? 03:48:06 Psuedo Hadamard transform! 03:48:45 -!- Figs_ has joined. 03:48:52 "pseudo" 03:49:58 -!- Figs has quit (Nick collision from services.). 03:50:01 -!- Figs_ has changed nick to Figs. 03:50:14 ah 03:50:16 ther we go 03:58:10 there isn't even a brainfuck group :( 03:58:40 lame 03:58:50 you're just a lame-nt 04:02:08 -!- jix has quit ("This computer has gone to sleep"). 04:02:46 So, I'm thinking of allowing function overloading by allowing calls to arrays of functions. 04:02:49 [In Plof] 04:04:51 -!- Pikhq has joined. 04:07:45 function overloading? 04:08:21 -!- Arrogant has quit ("Leaving"). 04:14:24 ... you know, multiple functions with the same names, differentiated by their signature... 04:15:44 ...no? 04:16:00 ... what was that no to? :-P 04:16:21 I don't know 04:16:29 ... you know, multiple functions with the same names, differentiated by their signature... 04:16:43 Ah :-P 04:16:49 i understand plof is dynamically typed, so the functions would have to check argument types and backtrack to the next function on failure. 04:17:34 oerjan: Plof is dynamically typed with some static typing operators. There is such an operator in function signatures, which enforces that the function is called with the proper arguments. 04:18:16 e.g.: var println = (x as string){...} 04:18:16 ic, so you can declare signatures. 04:18:20 Yeah. 04:19:04 if you wanted you could probably extend that to pattern matching 04:19:15 -!- Figs has left (?). 04:20:02 and guards 04:21:46 Um, would pattern matching in that scenario not be a guard by definition? 04:22:57 except a pattern could also deconstruct arguments into variables, and a guard could be a general boolean expression 04:23:27 I think that's getting a bit more complicated than is actually valuable :) 04:24:16 just guards then, perhaps. 04:26:39 say, (x as inrange(1,10)) 04:26:46 That I can see. 04:27:23 actually it would be a function to boolean 04:27:27 -!- Pikhq has quit (Read error: 110 (Connection timed out)). 04:27:30 Especially if I implement function overloading as above. 04:28:44 could even have an alternative syntax: (x where x >= 1 and x <= 10) 04:29:18 Yeah, I like that. 04:35:01 -!- calamari has quit ("Leaving"). 04:49:23 -!- CakeProphet_ has joined. 05:04:14 -!- CakeProphet has quit (Connection timed out). 06:15:51 * bsmntbombdood is reading about objective C 06:25:06 looks nice 06:30:46 I wonder why C++ and Java caught on 06:32:20 Apple <3 Obj-C 06:34:07 ... 06:37:12 What? I speak only truth. 06:37:24 if obj-c is as fast as C, that would be fantastic 07:02:02 -!- oerjan has quit ("leaving"). 07:02:11 -!- Sgeo has quit ("Ex-Chat"). 07:02:31 -!- helios24_ has changed nick to helios24. 07:16:59 -!- GreaseMonkey has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:12:56 ObjC is nothing to :3 about. 08:13:23 It's like someone grafted on two dissimilar things together into one weird ununiform conglomerate. 08:13:32 Of course, it's a lot better than C++, so there you go. 08:14:02 So, it's like Plof X-D 08:14:12 My theory about Java is that a long time ago, Java programmers didn't suck and Java ran reliably. I coded a whole bunch of signal processing and NN tools for it, and it was really fast/light. 08:14:53 It worked with 64-bit precision numbers the whole time too, and processed about 6 MB of data per-pass, averaging somewhere in the millions for number of passes. 08:16:17 My conclusion was that, because Java is the New Thing (TM), every bum coder and his mentally addled half-cousin he slept with ends up using Java and turning codebase into poop. That and I don't like Java's emphasis on New Technologies and the annoying abbreviation technologies. 08:17:44 CL would probably be like that too if it had caught on. 08:21:28 afk food 08:29:52 -!- ShadowHntr has joined. 08:30:10 -!- Sukoshi has quit ("愛してた。アンタの高い姿を見たことの最初から、見とれた。アンタの真っ黒髪が風の勝手). 08:32:50 wtf? 08:33:59 excuse me? 08:33:59 :/ 08:53:18 back 09:01:36 -!- ShadowHntr has quit ("End of line."). 09:08:35 -!- dog4 has joined. 09:08:44 -!- dog4 has quit (Remote closed the connection). 09:27:46 -!- Sukoshi has joined. 09:46:14 -!- calamari has joined. 09:59:38 -!- sebbu has joined. 10:24:42 -!- nooga has joined. 10:26:24 what happened with that c2bf compiler? 10:34:05 nooga: asking me? 10:34:40 maybe 10:35:00 oh, then you want GregorR 10:35:20 i c 10:35:25 but i got to go ; 10:43:12 gonna go zzz, night all 10:43:51 nn 10:45:33 -!- GreaseMonkey has quit ("yays for stack-based thingies!"). 10:47:51 -!- calamari has quit (Remote closed the connection). 10:51:21 -!- evilC has joined. 10:51:55 -!- evilC has left (?). 12:00:21 -!- jix has joined. 12:35:58 -!- dog4 has joined. 13:19:04 -!- nazgjunk has joined. 13:22:52 -!- RodgerTheGreat has joined. 13:23:00 hi guys 13:32:49 -!- jix has quit (Read error: 104 (Connection reset by peer)). 13:33:53 -!- jix has joined. 15:32:35 juju 15:32:45 -!- _filippo_ has joined. 15:32:47 i've got my raytracer in sadol working 15:32:49 :D 15:37:07 http://pastebin.ca/419385 :D 15:37:34 -!- dog4 has quit ("This computer has gone to sleep"). 15:39:39 make graphics output 15:40:14 -!- _filippo_ has left (?). 15:42:06 oklopol: echo "2" | BDSM2 raytracer.sad > output.ppm 15:42:24 and then open the pm file with some graphic viewer 15:42:29 ah okily 15:42:33 not now though 15:42:37 i'm gonna study! 15:42:45 i had an exam today, but i slept over it 15:42:46 good luck 15:43:01 i have one tomorrow as well, hope i have better luck with the alarm 15:43:30 :} 15:43:40 -!- crathman has joined. 15:43:45 -!- crathman has quit (Client Quit). 16:14:54 -!- crathman has joined. 19:10:06 -!- calamari has joined. 19:58:17 Changes for Plof2: 1) Ability to call arrays of functions for overloading, 2) null operator for object combination, 3) Remove ternary comparison and re-add builtin if et cetera, 4) Change return rules: If a value returned from a thin function is actually used (e.g. on the right side of an assignment), it does not continue to fall through. This will allow if() and pals to be used in both the imperative sense and the functional sense. 20:08:12 I see that you're all endlessly fascinated :-P 20:14:29 sure 20:14:46 i think the return thing works but STILL i don't like it 20:15:27 i find it quite unintuitive it checks whether it's used for something 20:16:46 So do I :( 20:16:48 still can't find any problem with it 20:16:50 though 20:16:56 I'm trying to find a nice middle ground, but can't *sigh* 20:16:57 :) 20:17:05 So I'm going for a good-enough middle ground ;) 20:17:28 i'm pretty sure some kind of quoting might help, but i'm having a hard time grasping the concept fully even 20:17:40 since that's rarely an issue with languages :) 20:18:20 Basically, here's what it would mean: 20:18:50 var foo = :{ if(:{1 == 1}, {return(3);}, else, {return(4);}); }; // returns 3 20:19:01 var foo = :{ var a = if(:{1 == 1}, {return(3);}, else, {return(4);}); }; // sets a to 3 20:19:46 whose a? 20:20:58 var foo's level's a of foo's a? 20:21:34 will foo become something like struct{int a(==3);} 20:21:40 ? 20:23:50 the "else" thing is quite confusing imo :) 20:24:56 but so... hmm, why does the second one have :{ in the beginning? 20:26:03 ":{" means ":{expression without ; and implicit return }" and "{" means "{ expression; expression; etc.; insert return issue here; }" ? 20:26:07 * GregorR reappears. 20:26:59 :{ is a thick function, a function that the return will conclude at. A { is a thin function. I may be able to remove this distinction with my latest change, or not :) 20:27:20 And because I said "var a", I was declaring an a at that scope, so it sets that a. Not very useful :) 20:27:56 ah, so foo will become nothing in the latter? 20:28:03 because you don't return anything 20:28:06 Right. 20:28:11 It's a contrived example :P 20:29:49 hmm 20:30:24 The thin/thick functions is a concept which helped make returning less ridiculous, but didn't necessarily make it less confusing >_> 20:30:27 I'm still working on it :P 20:30:44 var foo = if(:{1==1}, :{return "1 equals 1!";}, {return "the whole function failed"}); 20:30:46 hmm 20:30:55 couldn't thick/thin fix the if problem 20:31:01 like that i mean ^^^^^^^^^^^^ 20:31:15 The problem is, if is going to be calling those functions. 20:31:30 So the return value will go to 'if'. 20:31:31 -!- helios24_ has joined. 20:31:49 Not (in your example) to foo. 20:32:12 That's what the whole problem with returns was :) 20:32:57 -!- helios24 has quit (Read error: 104 (Connection reset by peer)). 20:33:04 well, obviously... this is too hard for me, i should think about this quite a lot to even be of help at brainstorming :) 20:33:27 heh, "::{" 20:33:29 I hate how, no matter what concept of programming you follow, there's always a nasty corner :P 20:35:24 : == evaluate at upper level -> :{ would be a normal return given to an "if"... since it would do an expression level return, while a ::{ function would evaluate at the function's level the if is claled at 20:35:38 -!- helios24_ has changed nick to helios24. 20:35:43 hmm 20:35:51 It's totally legitimate to pass in functions that you didn't write in right there. 20:35:59 So where the bork would they return to :) 20:36:32 well, they obviously wouldn't be upperlevelized with : 20:37:01 eh 20:37:03 hmm 20:47:49 Welcome to my hell ;) 20:49:38 hmmm... you could like... use a bunch of different concepts... perhaps thwarting nasty corners where they breed. 20:50:55 The nasty corner comes from the merging of two concepts :-P 20:51:00 Namely functional and imperative. 20:51:31 Or rather, "every-block-is-a-function" and imperative programming. 21:02:10 i do quite the same thing with oklotalk actually, but i do everything functionally, just let functions modify upper level variables 21:03:06 i'm not sure what i do differently, but there are no problems.... might just be the fact i've not thought that much about that side of the language :P 21:03:23 -!- Sgeo has joined. 21:13:33 -!- ShadowHntr has joined. 21:18:04 oklopol: how's your learning? 21:18:37 oh the studying... i browsed through the first 50 pages or so :D 21:18:44 ;p 21:18:49 run teh raytracer 21:18:57 hmm... maybe i should 21:20:03 echo "10" | BDSM2 raytracer.sad > test.ppm 21:20:14 it will output 1200x900 image 21:20:35 eh 21:20:58 That interpreter name makes my brain bleed. 21:21:03 D: 21:21:07 it's cool 21:21:08 1. relink it, i've lost the page, 2. i assume i write that on this channel, specify where otherwise :) 21:21:31 i'm porting it to SymbianOS 9 21:21:45 oklopol: you run it in bash 21:22:31 i thought so 21:22:36 well, i don't have bash 21:25:34 pitty -.- 21:26:04 -!- jix__ has joined. 21:26:56 GregorR: i could name the interpreter "CSI - Cool Sadol Interpreter" but it wouldn't be such funny 21:27:25 nooga no windows way to do it? :P 21:27:46 hmm 21:28:02 BDSM2 ray.sad > test.ppm 21:28:16 and then input some number from 1 to 10 21:28:21 and press enter 21:28:26 and wait 21:28:27 -!- crathman has quit ("Chatzilla 0.9.77 [Firefox 2.0.0.3/2007030919]"). 21:28:42 and open test.ppm in irfanview or such thingy 21:29:36 the link? 21:29:42 you have it somewhere? 21:30:32 http://pastebin.ca/419385 21:32:33 hmm so... bdsm2.exe takes for 1. argument the source and for second argument the arguments for the sadol program? 21:34:36 -!- jix has quit (Read error: 110 (Connection timed out)). 21:48:52 GregorR: what about nested thick/thin function 21:48:58 it's not very pretty 22:18:46 but it is esoteric! 22:19:00 call them "function" and "block"? 22:28:04 dynamic and lexical scope. 22:28:41 function = lexical block = dynamical 22:33:09 hmm 22:34:30 you would use blocks as loops and conditions and all that jazz... and functions would be your... well... functions. 22:35:20 maybe you could make functions into thin sugar around blocks 22:36:11 blocks would need a stack anyway, I suspect, so you could just say that a function is a variable containing a block with a little invisible code in it or something. 22:36:33 in haskell, a function is just an expression with arguments, after all... 22:36:35 they could always just be... separate entities entirely... :) :) :) 22:37:42 I always find things work strangely when you attempt to de-primitify your primitives. 22:38:44 Alright... so an integer is an object... so what part of the object gives it its value? What gives a string object its value? ...no one seems to know. :P 22:39:42 what do you mean 'what part'? 22:39:59 ...nothing specific. 22:40:05 i don't understand 22:40:11 integers are objects, clearly 22:40:18 ...just... a part... with all the vagueness entailed. 22:40:29 well, you have special egofield for that, .__value__= 22:40:30 i'm not sure if integers have any 'parts' to speak of 22:40:48 huh? 22:41:28 hmmm... so would the __value__ of 5 be? 5? hehe... makes sense in a strange way. 22:41:31 THE VALUE OF SAM IS SAM 22:41:40 but, CakeProphet_, i don't see why you'd have to know the field, an object hides it's value, integer hiding it's value is essentially that value 22:42:00 INCREMENT CakeProphet_ BY CakeProphet_ GIVING TOQO 22:42:44 mostly that question arises when I subclass an integer... when your working in the integers enternals there's nothing directly accessible that gives 5 its 5ness. 22:43:22 well 22:43:35 that's just a matter of representing your integers nicely. 22:43:50 the whole "everything is an object" notion is infinitely recursive... you have objects consisting of objects.... the tree needs leaves at some point. 22:43:59 yeah 22:44:01 the problem is that preferred representations in math care about operations more than about objects themselves 22:44:24 "Integers are a set (of featureless objects, that is) that behaves in a certain way under certain operations)" 22:44:37 however, you can define them in different ways, for example peano arithmetic 22:44:41 then it's easy 22:44:55 you have a magical singleton object zero 22:44:58 CakeProphet_ what's wrong with infinite recursions? 22:45:05 and then you have objects with field 'pred' 22:45:13 ...it would make more sense to me to simply have an unexplained axiom... the integer... the string... there's nothing more under the hood to know. 22:45:17 it's just a conceptual recursion and does not do any harm 22:45:18 and if your objects pred is zero, then you know the object is one 22:46:19 haha... that's pretty cool. 22:46:21 but in most cases, math treats integers as labeled "points" with no content 22:47:29 two integers are distinguishable if their labels are different 22:47:43 you can't say anything more than that unless you define operations on the integers 22:47:58 there's nothing wrong with a conceptual recursion... in msot cases. It really doesn't harm anything... it just seems silly to confuse everything with the notion that everything needs an underlying explaination. 22:48:41 CakeProphet_: "needs an underlying explanation" is different from "consists of parts" 22:49:46 i think it's pretty silly for integers to have "properties", certainly 22:51:56 consisting of parts amounts to an explaination... What's a bench? Wood and metal.. What's wood? Cellulose. What's Cellulose? (C6H10O5)n. What's Carbon? 6 electrons. What's an electron? 22:52:21 electrons, however, don't consist of parts 22:52:33 we can still "explain" them by detailing their behavior 22:53:37 derailing from computer science... this would get into notions of identity, THE LEAVES OF THE REALITY GRAPH, and human cognition. -wiggles his philosophers hat pre-emptively- 22:56:09 fortunately integers are not 'real' in any way :) 22:56:24 PUN NOT INTENDED AND I SHALL SMITE YOU IF YOU MAKE IT 22:58:40 lament: ACTUALLY INTEGERS ARE REALS, THEY'RE A SUBSET OF REALS 22:59:04 * oklopol waits 23:01:33 -!- ChanServ has set channel mode: +o lament. 23:01:37 -!- oklopol has joined. 23:01:41 :| 23:01:43 -!- lament has set channel mode: -o lament. 23:01:55 sorry :< 23:02:06 i couldn't resist 23:02:26 HMMM, NO 23:02:28 THAT'S A GOOD POINT 23:02:42 Hmmm... Let's turn OO on its head. 23:02:58 and now stuff is defined by what its a part of. 23:02:58 can't we do that tomorrow? :| 23:03:09 CakeProphet_: hmmm 23:03:14 CakeProphet_: that's Prolog i think 23:03:22 CakeProphet_: the "is a" relationship :) 23:03:29 oh, i guess that's different 23:03:37 well.... is a is something like... a type check 23:03:57 * CakeProphet_ is just having a little thought experiment here. 23:03:59 object a contains fields foo and bar 23:04:06 fields foo and bar are contained in object a 23:04:09 it's the same thing... 23:05:19 ah... hmmm... but what is a? 23:05:45 a is a part of the universe. 23:06:27 hmmm... same thing essentially... just... backwards. HMMMM HOW SURPISING 23:06:33 THAT SOMETHING REVERSED IS THE SAME THING REVERSED. 23:07:44 let's close the loop while we're at it. 23:07:55 The universe is a part of an integer :) 23:08:46 -!- helios24 has quit (zelazny.freenode.net irc.freenode.net). 23:08:46 -!- calamari has quit (zelazny.freenode.net irc.freenode.net). 23:08:46 -!- Sukoshi has quit (zelazny.freenode.net irc.freenode.net). 23:08:46 -!- GregorR has quit (zelazny.freenode.net irc.freenode.net). 23:08:47 -!- sekhmet has quit (zelazny.freenode.net irc.freenode.net). 23:08:47 -!- SimonRC has quit (zelazny.freenode.net irc.freenode.net). 23:08:47 -!- ShadowHntr has quit (zelazny.freenode.net irc.freenode.net). 23:08:48 -!- bsmnt_bot has quit (zelazny.freenode.net irc.freenode.net). 23:08:48 -!- tokigun has quit (zelazny.freenode.net irc.freenode.net). 23:08:48 -!- RodgerTheGreat has quit (zelazny.freenode.net irc.freenode.net). 23:08:48 -!- nazgjunk has quit (zelazny.freenode.net irc.freenode.net). 23:08:48 -!- CakeProphet_ has quit (zelazny.freenode.net irc.freenode.net). 23:08:48 -!- gg_ has quit (zelazny.freenode.net irc.freenode.net). 23:08:50 -!- Sgeo has quit (zelazny.freenode.net irc.freenode.net). 23:08:50 -!- lament has quit (zelazny.freenode.net irc.freenode.net). 23:08:51 -!- puzzlet has quit (zelazny.freenode.net irc.freenode.net). 23:08:51 -!- sp3tt has quit (zelazny.freenode.net irc.freenode.net). 23:08:51 -!- wooby has quit (zelazny.freenode.net irc.freenode.net). 23:08:51 -!- Izzy7 has quit (zelazny.freenode.net irc.freenode.net). 23:08:52 -!- cmeme has quit (zelazny.freenode.net irc.freenode.net). 23:08:52 -!- meatmanek has quit (zelazny.freenode.net irc.freenode.net). 23:09:10 -!- Sgeo has joined. 23:09:10 -!- lament has joined. 23:09:10 -!- puzzlet has joined. 23:09:10 -!- sp3tt has joined. 23:09:16 -!- calamari has joined. 23:09:16 -!- Sukoshi has joined. 23:09:16 -!- GregorR has joined. 23:09:16 -!- sekhmet has joined. 23:09:16 -!- SimonRC has joined. 23:09:23 -!- helios24 has joined. 23:09:26 -!- wooby has joined. 23:09:26 -!- Izzy7 has joined. 23:09:26 -!- cmeme has joined. 23:09:26 -!- meatmanek has joined. 23:09:29 -!- dog4 has joined. 23:09:29 -!- ShadowHntr has joined. 23:09:29 -!- bsmnt_bot has joined. 23:09:29 -!- tokigun has joined. 23:10:02 -!- RodgerTheGreat has joined. 23:10:02 -!- nazgjunk has joined. 23:10:02 -!- CakeProphet_ has joined. 23:10:02 -!- gg_ has joined. 23:10:24 -!- dog4 has left (?). 23:11:27 -!- wooby has quit. 23:13:59 * SimonRC goes. 23:17:06 to see the world in a grain of sand 23:17:10 and heaven in a wild flower 23:17:17 hold infinity in the palm of your hand 23:17:22 and eternity in an hour 23:17:37 i never realized that poem was about OOP. 23:19:27 i don't understand it 23:21:14 oh i do, now that i think about it 23:21:16 heh :) 23:23:13 .....I just think this is incredible. http://en.wikipedia.org/wiki/Attosecond 23:28:20 * oklopol has a hard time keeping up with all this intellectualism 23:28:40 CakeProphet_: what's incredible? 23:47:54 1 attosecond is the amount of time it takes for light to travel the length of three hydrogen atoms 23:47:58 O.o 23:50:32 theoretical physics is funny