00:00:00 I WANT A REPRAP 00:00:08 I WANT A PRAM 00:00:10 GregorR: er? 00:00:10 ZAP YOUR PRAM 00:00:21 oerjan: http://www.reprap.org 00:00:44 Rep rap... 00:00:46 ...E 00:00:57 O H S N A P 00:01:26 also 00:01:27 GregorR: 00:01:32 INFINITE PRINTER-PRINTERS 00:01:34 FUCKING AWESOME 00:01:39 I WANT ONE 00:01:42 RepRap achieved self-replication at 14:00 hours UTC on 29 May 2008 at Bath University in the UK. The machine that did it - RepRap Version 1.0 "Darwin" - can be built now - see the Make your own RepRap link there or on the left, and for ways to get the bits and pieces you need, see the Obtaining Parts link. 00:01:47 it sounds like it took a whil 00:01:47 e 00:01:48 :( 00:01:54 oh 00:01:54 no 00:01:55 a few minutes 00:01:57 AWESOME 00:02:08 It took them many years to achieve self-replication. 00:02:10 To increase that 60%, the next version of RepRap will be able to make its own electric circuitry - a technology we have already proved experimentally - though not its electronic chips. After that we'll look to doing transistors with it, and so on... 00:02:12 HAHAHAHHAHAHAH YES 00:02:14 <3333 00:02:30 you realize what this eventually leads to. 00:02:31 I was watching the RepRap project until ... oh, about a month before it became successful X_X 00:02:39 lament: Grey goo? 00:02:46 grey goo 00:03:20 :) 00:03:27 while (1) { replicate() } 00:03:36 hmm well 00:03:52 that reprap printer takes a "few minutes" to print itself 00:03:52 it says 00:03:52 so 00:03:53 just speed that up a lot 00:03:55 and make it smaller 00:04:01 LIGHT_GRAY GOOOOOOO 00:04:15 RepRaps work now? 00:04:23 yep 00:04:43 yeah, you kinda need nanotech for grey goo 00:04:57 lament: thus why I said light gray goo 00:06:27 I wonder how fast gray goo would be. 00:06:31 Seconds? Minutes? Hours? Years? 00:06:32 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(:)*)(!!:^(^)*))a~*^!!^):^aS 00:06:32 (!!:^(^)*) 00:06:41 Gray goo would be a lot like bacteria. 00:06:42 oerjan: wuzzat 00:06:48 darn 00:07:05 Warrigal: I prefer thinking of something that takes a few minutes to cross the whole earth. 00:07:12 zuff: that's too fast. 00:07:20 lament: >:( 00:07:31 lament: Millenia? 00:07:38 they can't move fast by themselves 00:07:46 being so small 00:07:48 why would they move 00:07:55 if they want to go in some direction, just replicate that way 00:07:56 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(:):S*)(!!:^(^):S*))a~*^!!^):^ 00:08:04 bah 00:08:10 zuff: you need resources to replicate 00:08:15 you need to get resources somewhere first 00:08:22 lament: stuff around you :P 00:08:30 like what, air? 00:08:36 yeah! :P 00:08:47 they also need energy 00:09:13 airnergy 00:09:39 air in itself is probably not very energetic, although you can burn things in it 00:10:16 * Warrigal finds out how much is produced in the United States in one day 00:10:24 No, that's not right. 00:10:25 In one minute. 00:10:39 -!- psygnisfive has joined. 00:11:20 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(:)*)(!!:^(^)*))a~*^(~aS:^):^):^ 00:11:21 ()((!())(!:^(:)*)(!!:^(^)*))(~((!())(!:^(:)*)(!!:^(^)*))a~*^(~aS:^):^)(())(((())~:a~*)(())~:a~*)(())(((())~:a~*)(())~:a~*)(((())~:a~*)(())~:a~*) ...too much output! 00:11:33 About $27,000,000. Cool. 00:11:58 oerjan: is this look and say? 00:12:09 no, it's what i was doing initially 00:12:22 next step 00:12:38 lol 00:13:24 oh right 00:13:25 hmm. trying to open {:^}^n? 00:13:33 oklopol: exactly 00:13:36 what? 00:13:41 figured 00:13:48 er wait 00:13:59 hm i could do that, but this is more ambitious 00:14:09 uhhuh? 00:14:29 i realized : and ^ should be easier than : and a which i had thought of before but which was too complicated 00:14:31 zuff: that's pretty standard notation 00:14:39 wat wat wat 00:14:43 oerjan: what does your program do 00:15:02 {:^}^n, n-tuples from {":", "^"} 00:15:05 ... 00:15:06 k 00:15:09 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(:)*)(!!:^(^)*))~*^!!^):^aS 00:15:09 (^:^^:^::) 00:15:13 yes! 00:15:19 8| 00:15:27 holy fuck man. 00:15:31 +ul (::**) (:)~*(*)* S 00:15:32 wanna step me through it? 00:15:37 you realized what it did? 00:15:41 ... 00:15:42 ... 00:15:46 +ul (::**)(:)~*(*)*S 00:15:46 :::*** 00:15:50 INCREMENT 00:15:51 oerjan: your mother realized what that did. 00:16:05 :) 00:16:27 oerjan: so, err, yes, yes i did 00:16:30 it's a compact bit representation, using : and ^ for bits. this program just computes NOT 00:16:34 now step me through it! 00:16:57 yeah maybe that could be the standard way to do bitstrings in underload :) 00:17:01 you should consult ais523 00:17:16 oerjan: now step me through it 00:17:27 -!- psygnisf_ has joined. 00:17:35 and as you pointed out it can also analyze standard numbers 00:17:44 well 00:17:46 it occurs to me that a far easier number representation is: 00:17:59 (^ x N) 00:18:00 that is 00:18:02 3 = (^^^) 00:18:03 zuff: this is for compactness, not ease 00:18:12 +ul (^^^)(^)* 00:18:15 +ul (^^^)(^)*S 00:18:15 ^^^^ 00:18:17 INCREMENT 00:18:21 I dunno how to subtract :D 00:18:21 oh wait 00:18:37 hmm 00:18:43 zuff: i'm not convinced. 00:18:43 +ul (^^^)((^)*)S 00:18:43 (^)* 00:18:47 er, oops 00:18:50 +ul (^^^)((^)*)~^S 00:18:51 ...^ out of stack! 00:18:55 wat? 00:18:55 oh 00:19:01 +ul (^^^)(!)((^)*)~^S 00:19:01 ^^^ 00:19:05 oerjan: are you preparing the step-through ;) 00:19:06 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(:)*)(!!:^(^)*))~*^!!^):^aS 00:19:06 (^:^^:^::) 00:19:07 ? 00:19:08 okay so 00:19:09 hmm 00:19:15 +ul (^^^)(aaaa)((^)*)~^S 00:19:15 (((((^)*)))) 00:19:23 +ul (^^^)(!)((^)*)~^S 00:19:24 ^^^ 00:19:30 oh um 00:19:31 duh 00:19:31 oklopol: in this damn noise? 00:19:32 XD 00:19:42 oerjan: i don't mind. 00:19:46 if you do, i have priv 00:19:49 +ul ()((^)*)(^^^)^S 00:19:49 ...^ out of stack! 00:19:52 wattt 00:20:01 zuff: almost there 00:20:04 oh wait 00:20:09 -!- jayCampbell has left (?). 00:20:09 the representation 00:20:10 should be 00:20:19 hmm. 00:20:20 well 00:20:24 dup dip call dup dip call dup dip call 00:20:27 sort of thing 00:20:29 uhh you know what i mean 00:20:47 oklopol: first, we arrange to get () ((())~:a~*) (:^::^:^^) on the stack 00:21:04 then we run a ^ 00:21:12 er wait 00:21:13 okay... 00:21:30 not ((())~:a~*) but the result of ((())~:a~*):a~* 00:22:04 that program is essential for the building up. if it is run, it leaves (()) plus itself on the stack 00:22:42 the first () is for marking the bottom of stack 00:23:11 okay 00:23:26 now when we run (:^::^:^^) with ((())~:a~*):a~* = (((())~:a~*)(())~:a~*) below 00:23:43 each : will just copy it 00:24:12 while each ^ will run it, leaving a (()) below a copy of it 00:24:48 -!- psygnisfive has quit (Remote closed the connection). 00:25:16 after running (:^::^:^^) we have turned each : -> (((())~:a~*)(())~:a~*) and each ^ -> (()) . 00:25:22 repeat main program: 00:25:40 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(:)*)(!!:^(^)*))~*^!!^):^aS 00:25:40 (^:^^:^::) 00:26:11 how trivial. 00:26:26 tbh i kinda dropped off the wagon at some point, i'd probably have to run that on paper to really get it. 00:26:32 (or look at it before 2 am) 00:26:34 then we do a ! to get rid of the top copy of (((())~:a~*)(())~:a~*). now we just have () at the bottom, (()) for each ^ and (((())~:a~*)(())~:a~*) for each : 00:26:44 hmm oh 00:27:03 not ready yet :) 00:27:10 * oklopol tries to concentrate 00:27:22 this is the state after (:^::^:^^)()~((())~:a~*):a~*~^! 00:27:43 let me do a run to show the stack 00:27:53 oh wait 00:27:58 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~aS:^):^ 00:27:59 (())(())(((())~:a~*)(())~:a~*)(())(((())~:a~*)(())~:a~*)(((())~:a~*)(())~:a~*)(())(((())~:a~*)(())~:a~*)() ...a out of stack! 00:28:06 i'm not sure you have to, i got it on the second read. 00:28:08 pretty simple 00:28:20 (recall this is printed top down) 00:28:30 well someone else might want to follow too 00:28:45 : copies the droppifier, ^ makes it drop 00:29:06 so naturally after the run the droppifiers and droppeds represent the string. 00:29:09 not quite drop, buts (()) under it 00:29:13 yes 00:29:16 *puts 00:29:30 just happened to use a stack term with the complete opposite meaning :P 00:30:14 and now the different marks are conveniently differentiated by how much they leave on the stack when run: () drops itself, (()) leaves just 1, and (((())~:a~*)(())~:a~*) leaves two elements when run 00:30:41 yeah, the rest is just technical mongering. 00:30:47 which by the way i'm pretty surprised fit that little space 00:31:06 even though hmm yeah that's a simple way to distinguish 00:31:24 anyway, like i've said before, you're a god 00:32:02 \(O_O)/ 00:33:22 +ul (^)()(~:*~:)(^^^)^S 00:33:22 ^^ 00:33:28 +ul (^)(~:*~:)(~:*~:)(^^^)^S 00:33:29 ~:*~: 00:33:35 ... 00:34:04 +ul (^)(~:*~:)(~:*~:)(^^^)!!^S 00:34:04 ...: out of stack! 00:34:08 +ul (^)(~:*~:)(~:*~:)(^^^)!^S 00:34:08 ~:*~: 00:34:13 :< 00:34:22 +ul (^)(~:*~:)(~:*~:)(^^^)^!S 00:34:23 ~:*~: 00:34:26 +ul (^)(~:*~:)(~:*~:)(^^^)^!!S 00:34:26 ^^^^^^^^ 00:34:36 lol yeah okay good 00:34:52 +ul (^)(~(^)**~:)(~(^)**~:)(^^^)^!!S 00:34:52 ...: out of stack! 00:35:13 +ul (^)(~(^)*~:)(~(^)*~:)(^^^)^!!S 00:35:13 ^^^^ 00:35:30 +ul ()(~(^)*~:)(~(^)*~:)()(^^^)^!!S 00:35:30 ^^ 00:36:00 +ul (^^^)()~(~(^)*~:)~(~(^)*~:)~^!!S 00:36:00 ^^^ 00:36:09 ... 00:36:13 +ul (^^^)()~(~(^)*~:)~(~(^)*~:)~()~^!!S 00:36:13 ^^ 00:36:25 zuff: . 00:37:43 anyway i'm off to sleep, i'm very tired am i. 00:37:45 -> 01:14:50 -!- psygnisf_ has quit (Remote closed the connection). 01:16:37 -!- adu has joined. 01:18:33 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 01:19:37 -!- puzzlet has joined. 01:28:59 -!- Sgeo has joined. 01:29:01 +ul (^^^^)()~(~(^)*~:)~(~(^)*~:)~()~()~^!!S 01:29:01 ^^ 01:29:07 +ul (^^^^)()~(~(^)*~:)~(~(^)*~:)~()~()~()~^!!S 01:29:07 ^ 01:32:54 +ul ()()~(~(^)*~:)~(~(^)*~:)~()~^!!S 01:32:55 ~(^)*~: 01:33:06 +ul (^)()~(~(^)*~:)~(~(^)*~:)~()~^!!S 01:33:23 +ul (^^)()~(~(^)*~:)~(~(^)*~:)~()~^!!S 01:33:23 ^ 01:34:03 +ul (^)()~(~(^)*~:)~(~(^)*~:)~()~^!!(")SS(")S 01:34:04 "" 01:35:32 +ul (!)()~(~(^)*~:)~(~(^)*~:)~()~^!!(")SS(")S 01:35:32 "" 01:36:37 +ul ((x)S^^)()~(~(^)*~:)~(~(^)*~:)~()~^!!(")SS(")S 01:36:37 x"^" 01:37:03 +ul ((x)S^(x)S^(x)S)()~(~(^)*~:)~(~(^)*~:)~()~^!!(")SS(")S 01:37:03 xxx"^" 01:38:40 -!- GreaseMonkey has joined. 01:42:55 +ul (^^^^)(^^)~(~(^)*~:)~(~(^)*~:)~^!!S 01:42:56 ^^^^^^ 01:45:22 +ul (^^^^)(^^)(~(^)*~:)~(~(^)*~:)~^!!S 01:45:23 ^^^^^^ 01:47:23 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!()((*)~:a~*a*^):a~*)(!:^(:)~^)(!!:^(^)~^))~*^!!^):^aS 01:47:23 (((*)~:a~*a*^)(*)~:a~*a*^) 01:47:59 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!()((*)~:a~*a*^):a~*)(!:^(:)~^)(!!:^(^)~^))~*^!!^):^!aS 01:47:59 (^:^^:^::) 01:51:08 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(^)*)(!!:^(~^)*))~*^!!^):^aS 01:51:08 (~^^~^~^^~^^^) 01:51:27 +ul (^^^^^)(^^^)~(~()~(~(^)*~:)~(~(^)*~:)~()~^~:)~(~()~(~(^)*~:)~(~(^)*~:)~()~^~:)~^!!S 01:51:27 ~(^)*~:^^^^ 01:51:39 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(~^)*)(!!:^(^)*))~*^!!^):^aS 01:51:39 (^~^^^~^^~^~^) 02:06:37 hi 02:06:45 ho 02:06:50 how are you 02:06:54 , 2 02:07:19 +ul (:^:) 02:07:35 + ul (:::::) 02:07:42 no printing statement in there 02:08:03 oerjan: i don't know thu 02:08:08 +ul (:^:)S 02:08:08 :^: 02:08:12 it's underload 02:08:30 oh 02:08:33 ok 02:08:37 I know forth 02:08:37 functional stack language 02:09:04 how so? 02:09:18 ^ runs the command at top of stack 02:09:27 : duplicates the top of stack 02:09:45 ~ switches top two stack elements 02:09:52 S prints top of stack 02:10:05 a adds parentheses around top of stack 02:10:17 +ul (:::):^S 02:10:17 ::: 02:10:40 +ul (:::)^S 02:10:40 ...: out of stack! 02:10:49 ! drops the top of stack 02:11:01 +ul ::::S 02:11:02 ...: out of stack! 02:11:06 the : had nothing duplicate there 02:11:16 *to duplicate 02:11:44 (...) puts ... as an element on top of the stack 02:11:44 +ul (hello world)S 02:11:45 hello world 02:11:56 +ul helloworldS 02:12:13 that's illegal because h is not a command. 02:12:18 oh 02:12:29 so I guess parentheses don't work like I thought 02:12:39 nope, they are like quoting 02:12:59 * concatenates the two top stack elements 02:13:02 +ul (hi)(lo)~S 02:13:02 hi 02:13:14 +ul (hi)(lo)~SS 02:13:14 hilo 02:13:19 +ul (hi)(lo)SS 02:13:19 lohi 02:14:34 +ul (:aSS):aSS 02:14:35 (:aSS):aSS 02:15:01 What language is this? 02:15:06 underload 02:15:21 see above 02:15:34 also, on the wiki 02:16:10 +ul (<)S 02:16:10 < 02:16:19 +ul ("<)S 02:16:19 "< 02:16:31 So much for []<> being reserved? 02:16:36 +ul (h"i)S 02:16:36 h"i 02:16:37 -!- oerjan has set topic: Logs: http://tunes.org/~nef/logs/esoteric | Wiki: http://esolangs.org. 02:17:04 Sgeo: no known interpreter implements that, it says as much 02:17:39 although " quoting could be useful. especially if it ignored that they cannot be used with ordinary parentheses. 02:18:16 +ul (()S 02:18:16 ...out of time! 02:18:18 +ul ("()S 02:18:19 ...out of time! 02:18:31 nope, and the spec also says you cannot 02:21:53 +ul ((*)(*))(~:^~S( )S~a^*a*~:^):^ 02:21:53 * ...: out of stack! 02:21:57 oops 02:22:49 +ul ((*)(*))(~:^~S( )Sa~^*a*~:^):^ 02:22:50 * * ** *** ***** ******** ************* ********************* ********************************** ******************************************************* ...too much output! 02:34:04 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(:^)*)(!!:^(^)*))~*^!!^):^aS 02:34:04 (^:^^^:^^:^:^) 02:34:24 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(~^)*)(!!:^(^)*))~*^!!^):^aS 02:34:24 (^~^^^~^^~^~^) 02:34:50 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^(^)*)(!!:^(:)*))~*^!!^):^aS 02:34:50 (:^::^:^^) 02:35:41 hm... 02:37:02 +ul (::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^:*)(!!:^:*(*)*))~*^!!^):^aS 02:37:02 (****************************************************) 02:37:43 +ul (^::^:)()~((())~:a~*):a~*~^!(~((!())(!:^:*)(!!:^:*(*)*))~*^!!^):^aS 02:37:44 (*************) 02:37:48 :) 02:40:12 wow 02:41:23 adu: i found out how to unpack lists of ^ and : as binary strings. it's not trivial because underload has no basic way of taking apart the inside of parentheses. 02:42:41 you have to trick the ^ and : commands into doing the work for you 02:43:13 oerjan: then make it do it 02:43:39 um i just did? 02:43:49 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!())(!:^((caret))*)(!!:^((colon))*))~*^!!^):^aS 02:43:49 ((colon)(caret)(colon)(colon)(caret)(colon)(caret)(caret)) 02:45:29 -!- adu has quit. 02:45:31 essentially you can turn each of : and ^ into any sequence of commands you choose, by putting it where it says ((caret))* and ((colon))* 02:45:42 oh he left 02:48:59 +ul (^^^)()~((())~:a~*):a~*~^!(~((!())(!:^((caret))*)(!!:^((colon))*))~*^!!^):^aS 02:48:59 ((caret)(caret)(caret)) 02:49:13 you can also select the recursion base case inside the (!()) 02:49:26 -!- Corun has quit ("Leaving"). 02:49:37 Cool. 02:59:41 +ul (:^::^:^^)()~((())~:a~*):a~*~^!(~((!(<))(!:^(0)*)(!!:^(1)*))~*^!!^):^(>)*S 02:59:41 <10110100> 02:59:43 Hmm. I wonder if one row of the Sierpinski gasket is the Cantor set, scaled linearly. 03:00:12 topologically it must be 03:01:03 (the cantor set is the unique zero-dimensional compact metric space without isolated points, if i'm not forgetting something) 03:02:19 hm except some rows of the sierpinsky gasket have whole lines, at least in part 03:02:36 such as the outer edges 03:03:16 but if you pick a coordinate which doesn't have a finite binary representation, you should avoid those 03:04:25 But I said scaled linearly. That's a bit stronger than a homeomorphism. 03:04:45 yes 03:05:57 it would not be the same proportions at every scale, i don't think 03:06:35 unless you hit some spot which solves an equation to make it exact, possibly 03:07:01 I think I'll stare at it until I know the answer. 03:07:54 The answer is no. 03:07:56 note that the obvious spots where you would expect an exact trisection are where you have whole lines 03:07:58 That was easy enough. 03:10:22 however, it may be of a generalized form, where you have a sequence of numbers to determine how much to remove at each step 03:11:13 but all blocks get the same amount removed in a given step 03:11:27 Remove the middle half instead of the middle third. 03:11:32 That's in the Sierpinski gasket. 03:12:01 for _some_ rows. it varies. 03:12:10 Yes. 03:12:56 There's a piecewise recursive formula for this, no doubt. 03:13:38 i think possibly the proportions taken away at one step is a function of the previous step 03:14:09 so you really need only one number 03:15:38 note there are some symmetries there. the top triangle is a rescaling of the whole, preserving all the removed proportions 03:16:01 Yeah. 03:16:06 (for a horizontal row) 03:16:23 hm vertical ones are different 03:16:47 they will not be that simple 03:17:05 Vertical lines sound fun. 03:17:39 they will not have whole line segments, but may have isolated points instead 03:18:01 Straight down the middle, you get countably infinitely many points. 03:18:14 was just about to say 03:18:18 Homeomorphic to {0, 1/2, 2/3, 3/4, . . ., 1}. 03:18:55 Anywhere else, it's probably still a piecewise recursive matter. 03:19:09 Now, ponder lines of slope 1/phi. :-P 03:19:18 i think x with finite binary expansion also gives countable set 03:19:27 Yep. 03:20:26 otherwise, it should be at least a topological cantor set i think 03:20:44 (no isolated points) 03:21:49 ok 03:23:02 i assume with any non-trivial angle, you can never get line segments, and only get isolated points if you hit the corner of a subtriangle. 03:24:40 which means for each angle there are only a countable number of lines that don't give a topological cantor set 03:27:14 Cantor set contains all trinary numbers that can be written without any 1's. 0.202002020220202002202020022 in base-3. 03:27:16 also i think there are only a countable number of angles for which you can intersect more than one isolated point 03:27:53 possibly ending with a single 1 03:28:06 -!- Corun has joined. 03:28:18 because if you intersect two, you intersect two triangle corners, and are down to some rational numbers as coordinates 03:28:50 MizardX: a single 1 = 0222222222222... anyway 03:29:04 ah 03:29:15 but that would be infinite 03:29:20 yeah 03:30:02 but you avoid special cases that way, so may be worth it 03:36:05 .0222... is a special case? 03:37:29 if you write it as .1 03:38:26 Oh. 03:38:46 The Cantor set contains infinite decimals anyway. 04:34:55 The rational fractions with infinite trinary expansion would have to be of the form '0.xxxx(yyyy)', where 'yyyy' is repeating. If 'x' is 'n' trits long, and 'y' is 'm' trits long, then those numbers could be written as 'x / 3^n + y / (3^m+1) / 3^n'. 04:40:06 oh, and neither xxxx nor yyyy can contain any '1'. 04:46:09 err... that would be (3^m - 1) 04:46:33 1/4 = 0.020202... = 0.(02) = 0/3^0 + 2/(3^2 - 1) = 2/8 = 1/4 05:10:20 -!- oerjan has quit ("Good night"). 05:47:21 -!- revcompgeek has joined. 05:52:16 -!- revcompgeek has quit ("http://www.mibbit.com ajax IRC Client"). 06:20:20 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 06:32:44 -!- revcompgeek has joined. 06:38:21 -!- revcompgeek has quit ("http://www.mibbit.com ajax IRC Client"). 07:57:47 -!- Corun has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:06:30 -!- GreaseMonkey has quit ("You only need one wheel. Bikers are just greedy."). 09:13:56 -!- jix has joined. 09:22:30 -!- puzzlet_ has joined. 09:23:24 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 10:29:28 -!- jix has quit ("Computer has gone to sleep"). 11:02:09 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 11:03:15 -!- puzzlet has joined. 11:52:06 -!- fungot has quit (Remote closed the connection). 12:42:36 -!- oklokok has joined. 12:46:09 -!- ineiros_ has changed nick to ineiros. 12:47:15 -!- oklopol has quit (Read error: 60 (Operation timed out)). 13:13:07 -!- jix has joined. 13:16:01 -!- zuff has changed nick to ehird. 13:28:24 -!- jix has quit ("Computer has gone to sleep"). 13:29:43 -!- jix has joined. 13:33:09 -!- ehird has changed nick to zuff. 13:39:23 +ul (a)(:a~*)^ 13:39:26 +ul (a)(:a~*)^S 13:39:26 (a)a 13:39:34 +ul (a)(:a~*)^(:a~*)^S 13:39:34 ((a)a)(a)a 13:39:41 hm 14:10:21 -!- jix has quit ("..."). 14:16:23 -!- clsmith has joined. 14:22:19 -!- jix has joined. 14:30:54 http://www.blackbirdhome.com/ what 14:32:14 African Americans need a different browser to caucasians, see. It's a fact of life. Different, uh, internet habits? 14:34:13 Yes. 14:34:20 Oh wow, it even has black search and black bookmarks. Which are different from normal search and bookmarks, because of their... colour. 14:34:32 Proposal: Black browsers can only access black sites 14:34:41 Same for every other trait 14:34:48 That way we can divide everyone again. :D 14:34:56 Conclusion: lots of fail. 14:35:02 also, you need a Black License to download any Black Browsers 14:35:11 to be sure you're not some random whitey poking around in the black 'net 14:38:12 clsmith: you new here? :) 14:38:19 zuff: I am. :) 14:38:43 welcome 14:38:49 Thanks. xP 14:38:55 clsmith: have you gone through the initiation procedure yet? 14:39:22 zuff: Would it be tactical for me to say yes? 14:39:29 No. 14:39:35 Nom then. 14:39:38 ... *No 14:39:48 clsmith: Okay, it's very simple, just sacrifice a few goats. 14:39:51 20 should be enough. 14:40:02 Also, you have to drink about three cups of children's blood. 14:40:06 'sall there is to it. 14:40:26 Psh. Some initiation; I do that every week or so. 14:41:13 clsmith: I should avoid mentioning the massive orgy/lobotomy hybrid, then. 14:41:23 Umm. Forget I said that. 14:44:20 Has anyone ever written a Tar program in Befunge? 'Cause I was thinking of doing one. 14:45:02 Nope. That'd be neat. 14:45:05 93 or 98? 14:45:13 98. For the i/o etc. 14:45:26 +ul (:(^)~a*^)(:(^)~a*^)* 14:45:29 +ul (:(^)~a*^)(:(^)~a*^)*S 14:45:29 :(^)~a*^:(^)~a*^ 14:45:36 welp, addition is pretty trivial. 14:45:43 now to do the * prog 14:45:51 +ul (*S)(:(^)~a*^)^ 14:45:52 ...* out of stack! 14:45:55 +ul ((*)S)(:(^)~a*^)^ 14:45:56 * 14:46:00 +ul ((*)S)(:(^)~a*^:(^)~a*^)^ 14:46:00 ** 14:46:02 Awesome. 14:46:12 Hmm. 14:46:14 Subtraction: 14:46:33 HmHm. 14:46:43 o. 14:46:44 hm 14:46:45 ah 14:48:14 +ul (:(^)~a*^:(^)~a*^)((:(^)~a*^))~:(^!())~a*^!(*)~^S 14:48:15 * 14:48:23 +ul (:(^)~a*^)((:(^)~a*^))~:(^!())~a*^!(*)~^S 14:48:23 * 14:48:26 wat 14:48:34 o 14:58:19 -!- jix has quit ("..."). 15:50:26 -!- KingOfKarlsruhe has joined. 16:15:39 -!- oerjan has joined. 16:22:41 -!- Slereah_ has joined. 16:23:01 Gaiz 16:23:22 wat 16:23:31 How much time would you estimate a txt file with roughly 6 million chars would take to open? 16:23:39 open, none. 16:23:41 read, long time. 16:23:58 Open with Notepad, that is. 16:24:09 It's been a while and still no dice. 16:24:33 never. 16:24:43 It does seem like it, doesn't it. 16:24:52 I guess I'll go back with a hundred thousand numbers. 16:25:21 well you see notepad's opening time is really an ackermann function of the input length. it's just that the constant overhead is really low so you don't notice until you get up to some size. 16:26:11 Heh. 16:26:46 Well, I'm back at ~600,000 chars, which I know it can open in reasonable time. 16:26:57 (I'm testing a random number generator)) 16:29:51 Although it's still pretty Ackermanny 16:30:15 Please make a plot of notepad's file-opening time as a function of the file length. 16:30:31 With what, a stopwatch? 16:30:40 I'm a lousy programmer, as you know 16:31:08 Yes, a stopwatch. Take at least a dozen measurements for each data point to get more reliable values, also. 16:31:20 SendMessageTimeout might work. 16:31:35 -!- Azstal has changed nick to Asztal. 16:32:13 Ah, there it is. 16:32:18 (The file) 16:32:47 Now let's plot shit with it 16:32:47 ... 16:32:47 ... 16:32:47 NOOOOOOOOOOOOOOO 16:32:58 Bad results 16:33:01 I have to try again 16:33:15 FOR SCIENCE! 16:33:44 The program takes like a microsecond to run 16:33:53 And the resulting file ten minutes to open 16:34:40 I think notepad actually gives up and refuses to open files above a certain size. 16:34:49 have you checked that the file size is what you think? 16:35:06 It's 887 KB. 16:35:21 try wordpad, i vaguely recall that is better 16:35:21 it's worse if you have word wrap on 16:37:20 I just opened a 2MB file in 7 seconds. I think it also helps if it doesn't think your file isn't full of CJK characters... 16:37:59 * oerjan doubts that 16:38:17 which part? 16:38:19 it uses a heuristic to distinguish UTF-16 files from ascii files 16:38:20 only if because of the double negation, you see 16:38:29 oh, right 16:39:21 NEVER AVOID ESCHEWING DOUBLE NEGATION 16:39:21 it's slightly ironic that my constant revision and re-organizing of my sentences results in poorer grammar than it started with :( 16:41:37 I was going to ask if double negation cancels out in Finnish (because it doesn't cancel out in Hungarian), but then realised you're not Finnish :) 16:43:01 it doesn't cancel out in norwegian either, for what it's worth 16:43:11 +_!%# 16:44:01 -!- Slereah_ has quit (Read error: 60 (Operation timed out)). 16:44:08 zuff: you should do something about those exposed entrails 16:44:16 +_!%# 16:48:40 Rather esoteric C question... how fast would calling mmap with O_CREAT be? 16:48:50 I mean, does it create immediately or lazily? 16:48:57 And how quick is that? 16:49:05 O_CREAT sounds strangely religious 16:50:49 I also don't think it's a mmap flag at all. I don't see how it could create a file anyway since it only takes a file descriptor. 16:51:01 Err, yes. 16:51:07 Well, forget the mmap part. 16:51:11 How long does creating a file take? :P 16:51:28 Roughly, etc. 16:55:04 I think you need to do something rather explicit to cause it to actually preallocate the disk space and fill it with zeroes; I think even ftruncate() won't yet do it. 16:55:33 mm. 16:55:43 posix_fallocate() will, since that's what it's for. 16:55:46 For added WTF, this is, by the way, to replace malloc with open/mmap. 16:55:53 Fear. 16:56:24 Asztal: cancels 16:56:28 sleeps -> 17:10:30 -!- Slereah_ has joined. 17:10:41 909 002 bytes, was I saying. 17:10:51 Also here it is : http://membres.lycos.fr/bewulf/Divers7/GR.jpg 17:11:10 It's supposed to be a uniform distribution between 0 and 1. 17:11:17 With a thousand plot points. 17:11:47 who wants to partake in a random number challenge. 17:12:00 Well, it's just for class. 17:12:19 i know 17:12:21 it inspired me 17:12:21 :P 17:12:41 Also it's like the building block of my program, but I'm still fucking far from being done 17:13:11 It's not even used directly. 17:13:23 I use it to generate another random number, this time on a Boltzmann distribution 17:14:03 Basically, the idea is that we keep making RNG functions to get the even-distribution line as straight as possible. 17:14:09 The straightest one wins. (No gays allowed.) 17:14:58 Dude. 17:15:02 It's random. 17:15:10 Yes. 17:15:12 It's not supposed to be straight. 17:15:17 Unless you use infinity numbers. 17:15:19 I'm talking about the distribution. 17:15:36 You don't generate a distribution 17:15:43 You generate numbers. 17:15:54 Slereah_: no shit? 17:15:59 I mean the distribution of the rng function. 17:16:08 The graph isn't even the numbers, it's the normalized classes. 17:16:17 I don't care about your graph... 17:16:24 I'm not talking about it. 17:16:39 I would have done moar stuff, but it gets laggy after 100,000 17:17:27 Well, time to test the Boltzmann distribution now. 17:23:55 Shit. 17:24:04 That program doesn't work now :( 17:29:53 za programma kaputnik 17:30:17 I have to redo the classes thingamagig 17:48:15 Fuck 17:48:35 How can I impose conditions on constants in Mathematica? 17:48:48 Like say it's real and positive 17:56:05 I think you can use Assumptions[] for that. 17:56:25 Let's see. 17:56:27 Quite many commands also accept an Assumptions->{} parameter. 17:57:04 Apparently it's either the Assumpitions option or the Assuming[] command. 17:58:07 Assuming[x >= 0, Integrate[...]] might do something sensible. Although maybe it's not the sort of "constraint" you want. 17:59:04 1/Sqrt[2 \[Pi]]\[ExponentialE]^-(n v^2)/(2 l U) Sqrt[n/( 17:59:05 l U)] v^2 DifferentialD[v] 17:59:06 waaaat 17:59:15 Why is v still there after integration? 17:59:16 WHYYYYY 18:04:01 -!- oerjan has quit ("leaving"). 18:15:56 This is my RNG function: (phi*seed) modulo 1 18:16:09 seed should be values in [1..100000]. 18:16:25 Chosen sequentially. 18:16:46 return 4; 18:21:50 -!- Slereah- has joined. 18:21:50 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 18:22:51 -!- Sgeo has joined. 18:22:51 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)). 19:28:22 -!- kar8nga has joined. 19:53:33 -!- Slereah_ has joined. 19:59:27 -!- jix has joined. 20:18:03 -!- Slereah_ has quit (Read error: 113 (No route to host)). 20:56:38 -!- clsmith has left (?). 21:16:59 -!- Corun has joined. 21:47:58 "Windows got an essential update and decided to reboot your computer without your express permission." 21:48:10 That's why I have Windows ask for permission first. 21:49:05 where's that setting? 21:49:27 The registry somewhere, I think. 21:49:31 Whee, I use twitter now. 21:49:34 http://twitter.com/zuffix. 21:49:37 Add me so I feel worthwhile. 21:59:22 -!- cherez has joined. 22:03:10 -!- jix has quit ("..."). 22:14:17 well now I know what is worse than trying to stay connected to a machine with a dodgy connection 22:14:48 trying to stay connected to a machine with a dodgy connection from a machine with an independantly dodgy connection 22:24:19 -!- kar8nga has left (?). 22:29:26 -!- oerjan has joined. 22:31:10 -!- KingOfKarlsruhe has quit (Remote closed the connection). 22:38:46 I just ran into a crazy person today, a php coder who likes xhtml but can't stand xml. Does anyone else see the contradiction? (btw: is "does" or "do" the right word there?) 22:39:03 does. 22:39:11 and they're a php coder. ignore them. 22:39:19 but they probably mean 22:39:50 zuff, hm that could explain it I guess 22:40:14 and yes a php coder I know. I was just amazed at the contradiction in what he said, in the way he said it. 22:41:21 thanks for the report. :p 22:42:42 -!- cherez has left (?). 22:43:07 +ul (^^^!^!^!^^!^^)(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^aS 22:43:07 (!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*))(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*) ...too much output! 22:43:12 eek 22:43:21 oerjan: am i to understand you failed? 22:43:25 indeed 22:43:32 oh dear, that's not good. 22:43:35 what did you fail at? 22:43:50 * oklokok has idea for cool language, need to spec tomorrowww 22:43:52 at making the program work on first test run 22:44:14 yes of course, but i'm actually more interested in what it was supposed to do. 22:44:23 rule 110 22:44:40 :D 22:44:47 so cool 22:46:00 btw how do you write these, do you use another representation and compile manually, or just write it in one piece? i'm assuming you don't use another interp for cheating your way into works-on-first-attempt, for obvious reasons 22:46:02 ok time for some unit testing 22:46:11 write it in one piece yeah 22:46:21 okay, that's much cooler 22:46:32 * oklokok always cheats nowadays :< 22:46:35 otherwise, how would you make it brief enough for irc 22:46:54 well you can optimize after compilation 22:47:52 +ul (()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)^(~aS:^):^ 22:47:53 (!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*))(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*) ...too much output! 22:49:56 is ^^^!^!^!^^!^^... your input format? 22:50:01 yes 22:50:28 ! is zero, because zeroes are inactive 22:50:41 !^ is 0, ^ is 1. makes case selection easy. 22:50:44 ah. 22:51:18 -!- poiuy_qwert has quit. 22:52:11 ! would make no sense ofc, or you'd have to have an infinite amount of () on the stack when running the first one 22:52:12 +ul (:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^(~aS:^):^ 22:52:13 (!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*))(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*) ...too much output! 22:52:38 darn huge subprogram 22:52:40 but with !^, you can keep state on tos, in some form 22:56:13 +ul (()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)^^!!(~aS:^):^ 22:56:13 (!^((^)*)(!(!^)*))(!^((!^)*)(!(^)*))(!)()() ...a out of stack! 22:56:57 oh wait of course 22:57:17 on my first test, i forgot all of the post-cleanup before printing 22:58:01 do... did that work? 22:58:04 *so 22:58:14 new try 22:58:24 +ul (^^^!^!^!^^!^^)(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!aS 22:58:24 (!^^!^!^^^^) 22:58:35 much better 22:59:02 (111000101) -> (0100111) 22:59:18 that's correct 22:59:29 -!- SimonRC has quit ("Reconnecting"). 22:59:32 -!- SimonRC has joined. 23:00:21 make it show iterations of (^) 23:00:27 ad infinitum 23:02:44 what do you mean (^) ? 23:03:12 also, you will notice that so far it cuts off the edges 23:03:50 +ul (^^^!^!^!^^!^^)(~:aS(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!:aS~:^):^ 23:03:51 (^^^!^!^!^^!^^)(!^^!^!^^^^)(!^^!^!^^^^)(^!^^^!^)(^!^^^!^)(^^^)(^^^)(!^)(!^)()()()()()()()()()()()()()()()()()()()()()()()()()()() ...too much output! 23:04:12 oh 23:04:18 +ul (^^^!^!^!^^!^^)(~:aS(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:04:19 (^^^!^!^!^^!^^)(!^^!^!^^^^)(^!^^^!^)(^^^)(!^)()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()() ...too much output! 23:04:51 plz start @ (^) 23:04:55 i mean 23:05:00 the sequence of just 1 23:05:09 +ul (^)(~:aS(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:05:10 (^)()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()() ...too much output! 23:05:16 err. 23:05:21 but... 23:05:32 i told you it cuts off the edges 23:05:42 ohhh. 23:05:48 so... 23:06:01 you can't run that in any way? hmm... 23:06:10 +ul (^!!!!!!!!!!!!!!^!!!!!!!!!!!!!!1^)(~:aS(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:06:10 (^!!!!!!!!!!!!!!^!!!!!!!!!!!!!!1^) ...! out of stack! 23:06:18 +ul (^!!!!!!!!!!!!!!^!!!!!!!!!!!!!!^)(~:aS(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:06:19 (^!!!!!!!!!!!!!!^!!!!!!!!!!!!!!^) ...! out of stack! 23:06:28 oklokok: !^, not ! 23:06:29 ... 23:06:32 yes yes 23:06:50 +ul (^!^!^!^!^^!^!^!^!^^)(~:aS(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:06:52 (^!^!^!^!^^!^!^!^!^^)(!^!^!^^^!^!^!^^)(!^^^^!^!^^)(^!^^!^^)(^^^)(!^)()()()()()()()()()()()()()()()()()()()()()()()()()()()()()() ...too much output! 23:07:06 hmm. 23:07:16 died just before the first interesting step 23:07:23 +ul (^!^!^!^!^!^^!^!^!^!^!^^)(~:aS(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:07:24 (^!^!^!^!^!^^!^!^!^!^!^^)(!^!^!^!^^^!^!^!^!^^)(!^!^^^^!^!^!^^)(^^!^^!^!^^)(^^^!^^)(!^^^)(^)()()()()()()()()()()()()()()()()()()() ...too much output! 23:09:04 hmmhmm. 1000001000001 -> 00001100001 -> 001110001 -> 1101001 <<< here 1101 is what became out of the 111, right? 23:09:30 just a moment 23:11:39 +ul (^!^!^!^!^!^^!^!^!^!^!^^)(~:(:a~*:((0)S)~*~((1)S)~*):^~^( )S!!(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:11:39 0 1 23:11:45 hmph 23:12:03 making it output in binary? 23:12:07 yes 23:12:20 * SimonRC gives up for this evening. 23:12:22 -!- Corun has quit ("This computer has gone to sleep"). 23:12:24 oh right 23:12:32 +ul (^!^!^!^!^!^^!^!^!^!^!^^)(~:(:a~*:((0)S)~*~(!(1)S)~*):^~^( )S!!(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:12:32 0 1 23:12:42 btw. if it's not too much trouble, i suggest making it not cur things, i mean (^) is the only thing i've seen 110 run on, that's what i wanna see. 23:12:51 *cut things 23:13:02 who wants to figure out the most elegant way to do this ul arith system: 23:13:04 you can make it *cure things though 23:13:13 a(b)2^ 23:13:13 is 23:13:15 the alternative is growing it 23:13:17 abb 23:13:32 oerjan: that's okay imo. 23:13:46 but first output 23:13:57 although you can prolly just grow in one direction, because, well, 110. 23:13:58 (also, wrapping, when i get around to it) 23:17:27 oh right 23:19:22 +ul (^!^!^!^!^!^^!^!^!^!^!^^)(~:(:a~*:((0)S)~*~(!(1)S)~*):a~*~*^( )S!!(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:19:26 1000001000001 00001100001 001110001 1101001 11101 011 1 ...too much output! 23:20:20 yeah okay looks like it works, somewhat. 23:20:33 +ul (^)(~:(:a~*:((0)S)~*~(!(1)S)~*):a~*~*^( )S!!(!^!^)~*(!^)*(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:20:37 1 11 111 1101 11111 110001 1110011 11010111 111111101 1100000111 11100001101 110100011111 1111100110001 11000101110011 111001111010111 1101011001111101 11111111011000111 110000001111001101 1110000011001011111 11010000111011110001 111110001101110010011 1100 ...too much output! 23:26:48 (^^^^^!^!^!^^^!^^^^!^!^^!^!^^^)(~:(:a~*:((0)S)~*~(!(1)S)~*):a~*~*^( )S!!(!^!^)~*(!^)*(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:26:52 er 23:26:52 +ul (^^^^^!^!^!^^^!^^^^!^!^^!^!^^^)(~:(:a~*:((0)S)~*~(!(1)S)~*):a~*~*^( )S!!(!^!^)~*(!^)*(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:26:56 111110001101110010011 1100010011111010110111 11100110110001111111101 110101111110011000000111 1111111000010111000001101 11000001000111101000011111 111000011001100111000110001 1101000111011101101001110011 11111001101110111111011010111 1100010111110111000011 ...too much output! 23:27:38 +ul (^^^^^!^!^^^!^^^^!^^^^^^^!^^^!^^!^^^^)(~:(:a~*:((0)S)~*~(!(1)S)~*):a~*~*^( )S!!(!^!^)~*(!^)*(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:27:41 11111001101110111111011010111 110001011111011100001111111101 1110011110001110100011000000111 11010110010011011100111000001101 111111110110111110101101000011111 1100000011111100011111111000110001 11100000110000100110000001001110011 1101000011100011011100000 ...too much output! 23:28:20 when that long, irssi now wraps them under each other 23:28:51 hey cool 23:28:52 hm although the growing to the left makes it shift 23:29:33 just mirror the rules 23:29:53 i'm sure that's trivial ;) 23:30:18 might be simpler to reverse printing, actually 23:32:59 +ul (^^^^^!^!^^^!^^^^!^^^^^^^!^^^!^^!^^^^)(~:(())(:a~*:((0)~*)~*~(!(1)~*)~*):a~**~*^( )*S!!(!^!^)~*(!^)*(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:33:00 !(1)~*(:a~*:((0)~*)~*~(!(1)~*)~*):a~*:((0)~*)~*~(!(1)~*)~* !(1)~*(:a~*:((0)~*)~*~(!(1)~*)~*):a~*:((0)~*)~*~(!(1)~*)~* !(1)~*(:a~*:((0)~*)~*~(!(1)~*)~*):a~*:((0)~*)~*~(!(1)~*)~* ...too much output! 23:33:20 fnord 23:33:39 +ul (^^^^^!^!^^^!^^^^!^^^^^^^!^^^!^^!^^^^)(~:(())(:a~*:((0)~*)~*~(!(1)~*)~*):a~**~*^!!( )*S(!^!^)~*(!^)*(()()(!)()(!)(:a~*:(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(^)*)))~*~(!^(!^((!^)*)(!(^)*))(!^((^)*)(!(!^)*)))~*):^)~*^!!!!!!~:^):^ 23:33:42 11101011011111101110110011111 101111111100001110111110100011 1110000001100010111000111100111 10110000011100111011001001101011 111110000101101011111011011111111 1000110001111111100011111100000011 11001110010000001100100001100000111 111010110110000011101100011100001011 ...too much output! 23:37:15 of course changing the rules is also trivial, since about one line is a rule table 23:59:23 -!- olsner_ has quit ("Leaving").