dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) (12/20/88)
Here's a simple window hack I wrote to pass the time away. It's kinda neat. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # split.doc # split.uue # This archive created: Mon Dec 19 12:45:56 1988 export PATH; PATH=/bin:/usr/bin:$PATH echo shar: "extracting 'split.doc'" '(895 characters)' if test -f 'split.doc' then echo shar: "will not over-write existing file 'split.doc'" else cat << \!Funky!Stuff! > 'split.doc' SPLIT.DOC Matthew Dillon A cute window hack. You start with one vector going in a random direction. After a random interval you fork off another vector. (a fork ends when it reaches the window edge or hits another vector). Hit the RESIZE gadget to clear & restart the window The maximum number of vectors being drawn at the same time is 50. This can be changed by the enviroment variable SPLIT_LIMIT. The program is written using light weight processes (LWPs), and although the memory usage for each vector is quite large verses a more efficient implementation, the actual semantics of the program source are incredibly simple. Memory usage is on the order of 512 bytes per active vector. This program is thus neither optimized for memory usage or speed, and one can easily get a 5x improvement in both by rewriting it. !Funky!Stuff! fi # end of overwriting check echo shar: "extracting 'split.uue'" '(7822 characters)' if test -f 'split.uue' then echo shar: "will not over-write existing file 'split.uue'" else cat << \!Funky!Stuff! > 'split.uue' begin 644 split M```#\P`````````#``````````(```2[````@0````$```/I```$NT[Z"7Q3 M<&QI='1E<B`H8GD@36%T="!$:6QL;VXI`$Y5_^Y";?_^2'H`^$ZZ!*A83RM` M_^Y!^A&P*4B`^D'Z$<XI2(#^2JW_[F<8+RW_[DZZ"+)83SE`@#0O+?_N3KH. MUEA/#*T````"``AF$B!M``PO*``$3KH(C%A/.T#__DIM__YN!CM\`&3__DAX M``-.N@,B6$\P+?_^XT`Y0(`&.6W__H`(2&R``DZZ$BA83RE`@;)(;?_R3KH0 MDEA/("W_]B(M__*Q@2`M__JQ@2E!@;Q*K(&R9SP@;(&R*6@`,H&V84HP+?_^ M2,!R`DZZ#1XO`#`M__Y(P'("3KH-$"\`3KH`]E!/3KH%SB\L@;).NA&X6$]( M>/__3KH#0EA/3EU.=5-03$E47TQ)34E4`$Y5```O"D*G2'@(`$ZZ!<A03TJ` M9P8D7TY=3G5*;(`R9P``I$IL@;IF&B!L@;(B:`!6<``0*0`/<@'AH2\!3KH0 MZ%A/(&R!LB\H`%9.NA"F6$\D0$J`9V8@*@`48$I";(`R8%!"IR\L@;9.NA#F M4$\O+(&R3KH1/%A/3KH!0B!L@;(R*``*2,%.N@Q\+P!.N@$N(&R!LC(H``A( MP4ZZ#&@O`&$F4$]@#%6`9[B0O````?YGJB\*3KH08%A/8(9.N@7R8`#_6&`` M_TY.50``2.</("@M``@J+0`,,"R!NK!L@#1F"$S?!/!.74YU4FR!NDAX``Q( M>`(`3KH$W%!/2H!G`F#@3KH`N,"\`````U.`/@"P?``"9@)@ZDZZ`*+`O``` M``-3@#1`L'P``F8"8.I.N@",P+P````?/`!*;(`R9W131DI&;A0O!2\$3KK_ M?%!/86K`O`````<\`#`'2,#8@#`*2,#:@$J$;4I*A6U&(&R!LC`H``A(P+B` M;#@@;(&R,"@`"DC`NH!L*B\%+P0O+(&V3KH/JD_O``Q*@&86+P4O!"\L@;9. MN@^X3^\`#$ZZ!0!@AE-L@;I@`/\H3E4``"`L@;QR#N*@4H!R#2\`("R!O$ZZ M#@@B'[.`*4"!O"`L@:JQK(&\4JR!JB`L@;SF@,"\'____TY=3G5G<F%P:&EC M<P!I;G1U:71I;VX`97AP86YS:6]N`&1I<VMF;VYT`'1R86YS;&%T;W(`:6-O M;@!M871H9F9P`&UA=&AT<F%N<P!M871H:65E961O=6)B87,`;6%T:&EE965S M:6YG8F%S`&QA>65R<P!C;&ES=`!P;W1G;P!T:6UE<@!D<F5S`'@Q-0!.5?_` M2.<(('@`8```AC`$2,#G@$'Y````>"1`U<@P!$C`<@'AH7``,"T`"L*`9V`O M$DAM_\!.N0``".!03TAZ`%Y(;?_`3KD```T*4$\@:@`$2I!F+$*G2&W_P$ZY M```2,%!/(&H`!""`9A9P`#`M``HO`&$R6$]P`$S?!!!.74YU,`1(P'(!X:&# MN0```#121+A\`!!E`/]V<`%@W"YL:6)R87)Y``!.50``2.<(('@`8&`P!$C` MYX!!^0```'@D0-7(,`1(P'(!X:%P`#`M``K"@&<\(&H`!$J09S0P!$C`<@'A MH<*Y````-&<D(&H`!"\03KD``!'66$\@:@`$0I`P!$C`<@'AH4:!P[D````T M4D2X?``099I,WP003EU.=4Y5_^XO+0`(3KD```CP6$]:@#M`__Y(>``!,"W_ M_DC`+P!.N0``$>903RM`__I"K?_V2JW_^F<``.!(>@#D+RW_^DZY```(X%!/ M+RT`""\M__I.N0``#0I03TAX`^TO+?_Z3KD``!%>4$\K0/_R9P``E$AX``%" MIR\M__).N0``$8I/[P`,0J="IR\M__).N0``$8I/[P`,*T#_[DJM_^YM5B`M M_^Y2@"\`3KD```\D6$\K0/_V9T!(>/__0J<O+?_R3KD``!&*3^\`#"\M_^XO M+?_V+RW_\DZY```1>$_O``RPK?_N9P1"K?_N("W_[B!M__9",`@`+RW_\DZY M```1+EA/,"W__DC`+P`O+?_Z3KD``!(,4$\@+?_V3EU.=45.5CH``$Y5__(O M+0`(3KD```CP6$]:@#M`__XO+0`,3KD```CP6$\[0/_\0FW_^DAX``$P+?_^ M2,`O`$ZY```1YE!/*T#_]DJM__9G``""2'H`B"\M__9.N0``".!03R\M``@O M+?_V3KD```T*4$](>`/N+RW_]DZY```17E!/*T#_\F<V,"W__$C`+P`O+0`, M+RW_\DZY```1K$_O``PR+?_\2,&P@68&.WP``?_Z+RW_\DZY```1+EA/,"W_ M_DC`+P`O+?_V3KD``!(,4$\P+?_Z2,!.74YU14Y6.@``2JR!!F8*(FR!$DJ1 M9@1P`$YU2.<_/DAZ``HI3X$.8``!"$S??/QP`4*L@09.=4Y2``!*K($&9P0N M;($.0JR!`DCG/SXL>``$("H`"-"L@0K`/`#\)4``""`J``Q6@,`\`/PE0``, M<$9A``%T9P``F"9`0BL`$#`\`"@GMP```!990&3V)U(`+B0-E(K4J@`,("H` M"-"")T``#&$``4)G7BEK``R!`@:L````3H$")T``""!`T>H`""\(0^H`""`" MXH@PV5.`9OHB2)/J``PC/```"`XC""=)`#H@7R=(`$(G:@`$`!)![($2(DLD M;($&3J[_%B`+3-]\_$Y:3G4B2W!&80``\I?+8.H@;($&(E!*D68*(FG__+/( M9@).=2%?`!)(Z/S\`!9,Z?S\`!8@:0`2*4F!!G``3M`N;($.+'@`!"1L@08B M2B923J[_!")J``@@*@`,80``GB)*<$9A``"6(DM*D6;`(FR!$DJ19KA.=2!L M@08(J````!!FC`CH``$`$"\((E`@:``$(T@`!"")(%=*D68.(FG__$J19@8N M;($.3G5A`/]V(%\(J````!!.=2`O``1G(B!`"*@``0`09Q)#[($2()$A20`$ M(H@B4"-(``0(Z````!!.=4CG,`)"IR\`(&R`^DZ04(],WT`,2H!.=4CG,`(O M`"\)(&R`_DZ04(],WT`,3G4@;P`$(`@B;P`($-EF_$YU(&\`!"`(2AAF_)'` M(`A3@$YU3E4``$CG#"`D;0`(#!(`(&<&#!(`"68$4HI@\'H`#!(`+68&>@%2 MBF`(#!(`*V8"4HIX`&`@($I2BA`02(!(P'(*+P`@!$ZZ!\`B']*`*`&8O``` M`#`0$DB`2,!![($?"#```@@`9LY*A6<&(`1$@&`"(`1,WP0P3EU.=6%P0^R! MJD7L@:JUR68.,CP`%FL(=``BPE')__PI3X'`+'@`!"E.@<1(YX"`""X`!`$I M9Q!+^@`(3J[_XF`&0J?S7TYS0_H`($ZN_F@I0('(9@PN/``#@`=.KO^48`1. MN@`:4$].=61O<RYL:6)R87)Y`$GY``!__DYU3E4``"\*2'D``0``,"R!H,'\ M``8O`$ZZ!]HI0(',4$]F%$*G2'D``0``3KH'FE!/+FR!P$YU(&R!S$)H``0@ M;(',,7P``0`0(&R!S#%\``$`"B!L@<`@+('`D*@`!%"`*4"!T"!L@=`@O$U! M3EA"ITZZ!XXD0$JJ`*Q83V<P+RT`#"\M``@O"DZZ`+(I?`````&!U"!L@<P` M:(````0@;(',`&B````*3^\`#&!"2&H`7$ZZ![1(:@!<3KH'<"E`@=@@;('8 M2J@`)%!/9Q`@;('8(F@`)"\13KH&;%A/+RR!V"\*3KH">"EL@=B!W%!/3KH& M;"!L@<P@@$ZZ!GP@;(',(4``!F<62'@#[4AZ`"Q.N@98(&R!S"%```Q03R\L M@=PO+('@3KKT_D*G3KH$6D_O``PD7TY=3G4J`$Y5``!(YPPP)&T`$"!M``A* MJ`"L9Q@@;0`(("@`K.6`*``@1"`H`!#E@"9`8`0F;(&B$!-(@$C`T*T`#%2` M*4"!Y$*G+RR!Y$ZZ!FPI0('H4$]F"$S?##!.74YU$!-(@$C`*@`O!2!+4H@O M""\L@>A.N@&.(&R!Z-'%0_H!6!#99OPO+0`,+PHO+('H3KH!3B!L@>A",%@` M*7P````!@>`@;('HT<4F2%*+)$M/[P`8$!-(@$C`*@"PO````"!G(+J\```` M"6<8NKP````,9Q"ZO`````UG"+J\````"F8$4HM@S`P3`"!M``",#!,`(F8R M4HL@2U*+$!!(@$C`*@!G("!*4HH0A;J\````(F80#!,`(F8$4HM@!D(J__]@ M`F#28$0@2U*+$!!(@$C`*@!G,+J\````(&<HNKP````)9R"ZO`````QG&+J\ M````#6<0NKP````*9P@@2E**$(5@PB!*4HI"$$J%9@)3BU*L@>!@`/\\0A)" MIR`L@>!2@.6`+P!.N@4P*4"!W%!/9@A"K('@8`#^OGH`)FR!Z&`>(`7E@"!L M@=PABP@`($L@"$H89OR1P%.(4HC7R%*%NJR!X&W<(`7E@"!L@=Q"L`@`8`#^ M@B``,#Q__V`$,"\`#B!O``1*&&;\4T@B;P`(4T`0V5?(__QG`D(0("\`!$YU M3.\#```$(`@B+P`,8`(0V5?)__QG!E)!8`)"&%')__Q.=4Y5``!(YPXP)&T` M"$*G2'H`CDZZ!,HI0(!.4$]F"$S?#'!.74YU(&T`#")H`"0O*0`$3KH%,"@` M6$]G4DAZ`&T@1"\H`#9.N@4")D!*@%!/9S1(>`/M+PM.N@.R+`!03V<D(`;E M@"H`($4E:``(`*0E1@"<2'@#[4AZ`#A.N@..)4``H%!/+P1.N@3.6$\O+(!. M3KH#[$*L@$Y83V"`:6-O;BYL:6)R87)Y`%=)3D1/5P`J`$CG2`!"A$J`:@1$ M@%)$2H%J!D2!"D0``6$^2D1G`D2`3-\`$DJ`3G5(YT@`0H1*@&H$1(!21$J! M:@)$@6$:(`%@V"\!81(@`2(?2H!.=2\!808B'TJ`3G5(YS``2$%*068@2$$V M`30`0D!(0(##(@!(0#("@L,P`4)!2$%,WP`,3G5(028!(@!"04A!2$!"0'0/ MT(#3@;:!8@22@U)`4<K_\DS?``Q.=4Y5``!(YP`P)&R!KF`4)E(@*@`$4(`O M`"\*3KH#0E!/)$L@"F;H0JR!KDS?#`!.74YU3E4``"\*0?K_QBE(@>Q"IR`M M``A0@"\`3KH"["1`2H!03V8(<``D7TY=3G4DK(&N)6T`"``$*4J!KB`*4(!@ MYDY5```O+0`(8;983TY=3G5.50``2.<`,)?+)&R!KF`.(&T`"%&(L<IG$B9* M)%(@"F;N</],WPP`3EU.=2`+9P0FDF`$*5*!KB`J``10@"\`+PI.N@*8<`!0 M3V#83E4``$JL@?!G!B!L@?!.D"\M``A.N@`(6$].74YU3E7__"\$*VT`"/_\ M2JR!S&<L>`!@"B\$3KH`_%A/4H0P+(&@2,"X@&WL,"R!H,'\``8O`"\L@<Q. MN@(X4$]*K('L9P8@;('L3I!*K(&F9PHO+(&F3KH!J%A/2JR!]&<((&R!]""L M@?A*K(!69PHO+(!63KH!R%A/2JR`4F<*+RR`4DZZ`;A83TJL@%IG"B\L@%I. MN@&H6$]*K('\9PHO+('\3KH!F%A/+'@`!`@N``0!*6<4+PU+^@`*3J[_XBI? M8`9"I_-?3G-*K('89BI*K('H9R(O+('D+RR!Z$ZZ`90@+('@4H#E@"\`+RR! MW$ZZ`8)/[P`08`Y.N@%L+RR!V$ZZ`:A83R`M__PN;('`3G4H'TY=3G5.50`` M2.<.("@M``AR!B`$3KH`1"1`U>R!S$J$;0XP+(&@2,"X@&P$2I)F$BE\```` M`H(`</],WP1P3EU.=3`J``3`?(``9@@O$DZZ`#)83T*2<`!@X$CG<``T`<3` M)@%(0\;`2$-"0]2#2$#`P4A`0D#0@DS?``Y.=4[Z``(B+P`$+&R!R$[N_]PB M+P`$+&R!R$[N_X(B+P`$+&R!R$[N_T`L;('(3N[_RD[Z``),[P`&``0L;('( M3N[_XBQL@<A.[O_$3OH``DSO``X`!"QL@<A.[O_63OH``DSO``X`!"QL@<A. M[O^^3OH``B(O``0L;('(3N[_ID[Z``),[P`.``0L;('(3N[_T$CG`01,[R"` M``PL;('$3J[_E$S?((!.=4[Z``(B;P`$+&R!Q$[N_F).^@`"3.\``P`$+&R! MQ$[N_SHB;P`$+&R!Q$[N_MHL;('$3N[_?$[Z``(B;P`$("\`""QL@<1.[O\N M3OH``B!O``0L;('$3N[^C$[Z``(L;('$(F\`!"`O``A.[OW83OH``B)O``0L M;('$3N[^AB`O``0L;('$3N[^PB!O``0L;('$3N[^@")O``1,[P`#``@L;(`Z M3N[^PB)O``0@+P`(+&R`.D[N_Q8B;P`$3.\``P`(+&R`.D[N_KQ,[P,```0L M;(!.3N[_H"!O``0L;(!.3N[_IB!O``0L;(!.3N[_LB!O``0L;(`^3N[_N"!O M``0L;(`^3N[_-"!O``0L;(`^3N[^.``````#[````!H````````#Z@```_H` M``00```$J```!-X```3X```%&```!2@```4X```%4@``!60```6````%F``` M!:X```72```%Y@``!@0```86```&,@``!DX```9>```&;@``!HP```:J```& MO@``!Z0````&`````0```\@```0^```$;@``!)H```3````)\@````````/R M```#Z@```&H``````````/__```"`@`"``\```````````````0````````` M```@`"#_____``$``0`R```````````````````````````````````````` M``````````````````````````````````````````````````````,H```` M.````S$````\```#.P```$````-%````1````TX```!(```#60```$P```-> M````4````V8```!4```#<````%@```.`````7````Y````!@```#EP```&0` M``.=````:````Z,```!L```#J0```'````.N````=```#R0```\T```````` M``````!G`````````10````````!$``@("`@("`@("`P,#`P,"`@("`@("`@ M("`@("`@("`@()!`0$!`0$!`0$!`0$!`0$`,#`P,#`P,#`P,0$!`0$!`0`D) M"0D)"0$!`0$!`0$!`0$!`0$!`0$!`0$!0$!`0$!`"@H*"@H*`@("`@("`@(" M`@("`@("`@("`@)`0$!`(```%``````````````#[````!,`````````&@`` M`'@```"`````B````)````"8````H````*@```"P````N````,````#(```` MT````-@```#@````Z````/````#X````_````!(````!````?````(0```", M````E````)P```"D````K````+0```"\````Q````,P```#4````W````.0` C``#L````]````1````$8`````````_(```/K`````0```_+4 ` end !Funky!Stuff! fi # end of overwriting check exit 0 # End of shell archive