$ od -c -N 50000 [eris]<Lisp>KOTO>LISPUSERS>IDLEHAX.TEDIT!1 0000000 X E R O X \t I D L E H A X \r 2 \r 0000020 \r 4 \r \r 1 \r \r I D L E H A X \r 1 0000040 \r \r 4 \r \r B y : L a r r y 0000060 M a s i n t e r ( M a s i n t 0000100 e r . p a @ X e r o x ) \r \r T h 0000120 i s p a c k a g e c o n t a 0000140 i n s a c o u p l e o f 0000160 r a n d o m d e m o n s t r a 0000200 t i o n p r o g r a m s , u 0000220 s e f u l a s " I d l e p 0000240 r o g r a m s " , c a l l a b 0000260 l e f r o m t h e b a c k 0000300 g r o u n d m e n u . T h e 0000320 I d l e d i s p l a y o p 0000340 t i o n s i n c l u d e s L 0000360 i n e s W a r p - O u t R a 0000400 d a r T r i a n g l e s R a 0000420 n d A n g l e s P o l y g o n 0000440 s B u b b l e s K a l e i d 0000460 o s c o p e . \r T h e s e a r 0000500 e i m p l e m e n t e d b y 0000520 t h e f o l l o w i n g f 0000540 u n c t i o n s : \r ( P O L Y G 0000560 O N S W N O B L O C K T I 0000600 M E R ) \t \t \t \t \t \t \t [ F u n c 0000620 t i o n ] \r C a l l s ( P O L 0000640 Y G O N S ) o r ( P O L Y G 0000660 O N S w i n d o w ) t o p 0000700 e r p e t u a l l y d r a w 0000720 p o l y g o n s i n t h e 0000740 g i v e n w i n d o w ( i t 0000760 ( r e ) u s e s P O L Y G O 0001000 N S W I N D O W i f a r g u 0001020 m e n t i s N I L ) . T o 0001040 r u n i n t h e b a c k 0001060 g r o u n d , y o u c a n 0001100 A D D . P R O C E S S ( ( P O L 0001120 Y G O N S ( C R E A T E W ] . 0001140 C o n t r o l l e d s o m e 0001160 w h a t b y t h e g l o b 0001200 a l p a r a m e t e r s P O 0001220 L Y G O N M I N P T S ( m i n 0001240 i m u m n u m b e r o f v 0001260 e r t i c e s ) , P O L Y G O 0001300 N M A X P T S ( m a x i m u m 0001320 n u m b e r o f v e r t i 0001340 c e s ) , P O L Y G O N S T E 0001360 P S ( n u m b e r o f s t 0001400 e p s b e t w e e n m i n 0001420 a n d m a x ) , a n d d e 0001440 l a y s P O L Y G O N W A I T 0001460 ( t i m e b e t w e e n d 0001500 i f f e r e n t p o l y g o n 0001520 s ) a n d P O L Y G O N W A 0001540 I T 2 ( d e l a y b e t w e 0001560 e n i n i t i a l d i s p l 0001600 a y o f b e g i n n i n g 0001620 a n d e n d a n d t h e 0001640 m o v e m e n t p h a s e . ) 0001660 \r I f N O B L O C K i s T 0001700 , i t d o e s n ' t b l o 0001720 c k a t a l l ( r u n s 0001740 a f t e r b u t c a n ' t 0001760 r u n i n b a c k g r o u n 0002000 d . ) I f T I M E R i s 0002020 g i v e n , t h e n P O L Y 0002040 G O N S w i l l s t o p a 0002060 f t e r T I M E R i s e x 0002100 p i r e d . ( U s e d b y 0002120 t h e d e m o s y s t e m . 0002140 ) \r ( L I N E S W N L C N 0002160 T S T E P S O D D S T E P ) 0002200 \t \t \t \t \t \t \t [ F u n c t i o n 0002220 ] \r S i m i l a r t o P O L 0002240 Y G O N S i n c o n t r o l 0002260 s , b u t d r a w s p e r 0002300 p e t u a l l y c h a n g i n 0002320 g f o r m u s i n g l i n 0002340 e d r a w . W d e f a u l 0002360 t s a " d e m o w i n d o 0002400 w " , b u t i s t h e w 0002420 i n d o w o n w h i c h t 0002440 h e d i s p l a y i s d r 0002460 a w n , N i s t h e n u 0002500 m b e r o f e n d p o i n t 0002520 s ( e . g . , 2 d r a w s 0002540 l i n e s , 3 d r a w s 0002560 t r i a n g l e s , 7 d r a 0002600 w s 7 - s e g m e n t f i g 0002620 u r e s ) , L C N T i s t 0002640 h e " n u m b e r o f l i 0002660 n e s o n t h e s c r e e 0002700 n a t a n y o n e t i m 0002720 e " , S T E P S i s t h e 0002740 n u m b e r o f l i n e s 0002760 t o d r a w b e t w e e n 0003000 s t a r t a n d e n d ( 0003020 t h e h i g h e r t h i s 0003040 n u m b e r , t h e c l o s 0003060 e r t o g e t h e r t h e 0003100 l i n e s a r e ) , a n d 0003120 O D D S T E P i s a f l a 0003140 g : i f T , t h e n t h 0003160 e o d d e n d p o i n t s 0003200 r e m a i n t h e s a m e 0003220 e v e r y o t h e r i t e r 0003240 a t i o n ( t r y ( L I N E 0003260 S N I L 3 1 4 0 T ) . 0003300 ) T h e b a c k g r o u n d 0003320 R a n d A n g l e s m e a n 0003340 s : ( L I N E S W ( R A N 0003360 D 3 7 ) ( R A N D 1 1 0003400 6 ) ( R A N D 2 5 1 0 0 ) 0003420 ) , w h i l e T r i a n g l 0003440 e s i s ( L A M B D A ( W 0003460 ) ( L I N E S W 3 1 4 0003500 0 ) ) , e t c . \r ( B U B B L 0003520 E S W I N D O W ) \t \t \t \t \t \t 0003540 \t \t \t [ F u n c t i o n ] \r P e 0003560 r p e t u a l l y d r a w s 0003600 c i r c l e s . C o n t r o 0003620 l l e d b y B U B B L E C N 0003640 T , w h i c h i s r e a d 0003660 a t s t a r t u p a s t 0003700 h e n u m b e r o f c i r 0003720 c l e s v i s i b l e a t 0003740 a n y o n e t i m e . \r ( K 0003760 A L W P E R I O D P E R S 0004000 I S T E N C E ) \t \t \t \t \t \t \t \t 0004020 [ F u n c t i o n ] \r B o r r o 0004040 w e d f r o m t h e K A L 0004060 L i s p U s e r s p a c k a 0004100 g e : d r a w s a r a n d 0004120 o m s y m m e t r i c p a t 0004140 t e r n o f d o t s . P r 0004160 e t t y . P e r i o d a f f 0004200 e c t s t h e s t y l e o 0004220 f d i s p l a y , w h i l e 0004240 P E R S I S T E N C E a f f 0004260 e c t s h o w m a n y d o 0004300 t s a r e o n t h e s c 0004320 r e e n a t o n c e . \r ( W 0004340 A R P W ) \t \t \t \t \t \t \t \t \t \t 0004360 [ F u n c t i o n ] \r D r a w s 0004400 a s e q u e n c e o f c 0004420 i r c u l a r p a t t e r n s 0004440 t h a t r e s e m b l e p 0004460 i l e s o f s a n d . O 0004500 r n o t ; y o u d e c i d 0004520 e . \r P O L Y G O N S , L I N 0004540 E S a n d B U B B L E S a 0004560 d j u s t t h e m s e l v e s 0004600 t o t h e s i z e o f 0004620 t h e w i n d o w , s o y 0004640 o u c a n r e s h a p e t 0004660 h e w i n d o w i n t h e 0004700 m i d d l e o f t h e d 0004720 e m o . \r \r \r \r \r \0 \0 \0 \0 \0 003 ( 0004740 L I S T ( ( P A G E N I L 0004760 ( P A P E R S I Z E L e t t e 0005000 r F O L I O I N F O ( A R A 0005020 B I C ) S T A R T I N G P A G 0005040 E # 1 ) ( 0 0 6 1 2 7 0005060 9 2 ) ( ( F O L I O N I L 0005100 ( P A R A L O O K S ( Q U A D 0005120 C E N T E R E D ) C H A R L 0005140 O O K S ( S U P E R S C R I P 0005160 T 0 I N V I S I B L E O F 0005200 F S E L E C T P O I N T O F 0005220 F P R O T E C T E D O F F 0005240 S I Z E 1 0 F A M I L Y M 0005260 O D E R N O V E R L I N E O 0005300 F F S T R I K E O U T O F F 0005320 U N D E R L I N E O F F E 0005340 X P A N S I O N R E G U L A R 0005360 S L O P E R E G U L A R W 0005400 E I G H T M E D I U M I N V 0005420 E R T E D O F F U S E R I N 0005440 F O N I L S T Y L E N I L 0005460 ) F O R M A T I N F O ( A R 0005500 A B I C ) ) ( 1 7 4 3 6 2 0005520 8 8 3 6 ) N I L ) ( H E A 0005540 D I N G N I L ( H E A D I N 0005560 G T Y P E R U N N I N G H E A 0005600 D ) ( 8 4 7 4 4 5 2 8 3 0005620 6 ) N I L ) ( T E X T N I 0005640 L N I L ( 8 4 9 6 4 5 6 0005660 6 0 0 ) N I L ) ) ) ( P A 0005700 G E N I L ( P A P E R S I Z 0005720 E L e t t e r F O L I O I N 0005740 F O ( A R A B I C ) ) ( 0 0005760 0 6 1 2 7 9 2 ) ( ( F O L 0006000 I O N I L ( P A R A L O O K 0006020 S ( Q U A D C E N T E R E D 0006040 ) C H A R L O O K S ( S U P 0006060 E R S C R I P T 0 I N V I S 0006100 I B L E O F F S E L E C T P 0006120 O I N T O F F P R O T E C T 0006140 E D O F F S I Z E 1 0 F 0006160 A M I L Y M O D E R N O V E 0006200 R L I N E O F F S T R I K E 0006220 O U T O F F U N D E R L I N 0006240 E O F F E X P A N S I O N 0006260 R E G U L A R S L O P E R E 0006300 G U L A R W E I G H T M E D 0006320 I U M I N V E R T E D O F F 0006340 U S E R I N F O N I L S T 0006360 Y L E N I L ) F O R M A T I 0006400 N F O ( A R A B I C ) ) ( 1 0006420 7 4 3 6 2 8 8 3 6 ) N I 0006440 L ) ( H E A D I N G N I L 0006460 ( H E A D I N G T Y P E R U N 0006500 N I N G H E A D ) ( 8 4 7 4 0006520 4 5 2 8 3 6 ) N I L ) ( 0006540 T E X T N I L N I L ( 8 4 0006560 9 6 4 5 6 6 0 0 ) N I L 0006600 ) ) ) ( P A G E N I L ( P 0006620 A P E R S I Z E L e t t e r 0006640 F O L I O I N F O ( A R A B I 0006660 C ) ) ( 0 0 6 1 2 7 9 2 0006700 ) ( ( F O L I O N I L ( P 0006720 A R A L O O K S ( Q U A D C 0006740 E N T E R E D ) C H A R L O O 0006760 K S ( S U P E R S C R I P T 0007000 0 I N V I S I B L E O F F 0007020 S E L E C T P O I N T O F F 0007040 P R O T E C T E D O F F S I 0007060 Z E 1 0 F A M I L Y M O D 0007100 E R N O V E R L I N E O F F 0007120 S T R I K E O U T O F F U 0007140 N D E R L I N E O F F E X P 0007160 A N S I O N R E G U L A R S 0007200 L O P E R E G U L A R W E I 0007220 G H T M E D I U M I N V E R 0007240 T E D O F F U S E R I N F O 0007260 N I L S T Y L E N I L ) 0007300 F O R M A T I N F O ( A R A B 0007320 I C ) ) ( 1 7 4 3 6 2 8 8 0007340 3 6 ) N I L ) ( H E A D I 0007360 N G N I L ( H E A D I N G T 0007400 Y P E R U N N I N G H E A D ) 0007420 ( 8 4 7 4 4 5 2 8 3 6 ) 0007440 N I L ) ( T E X T N I L 0007460 N I L ( 8 4 9 6 4 5 6 6 0007500 0 0 ) N I L ) ) ) ) ) \0 \0 \0 \0 0007520 \0 005 \0 006 \0 ( \0 \0 \0 \0 001 310 \0 021 \0 \0 0007540 \0 004 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 0007600 \0 212 001 8 \0 006 \0 \0 \0 004 002 003 \0 \0 \0 \0 0007620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007640 \0 \0 \0 \0 \0 ( \0 212 \0 212 001 8 \0 \0 \0 \0 0007660 \0 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 D \0 \0 0007720 \0 \0 001 310 \0 \0 \0 \0 \0 \0 003 004 \0 \0 001 001 0007740 310 001 \0 \0 \0 \0 \0 \0 \0 \v P A G E H E 0007760 A D I N G \0 \v R U N N I N G H E 0010000 A D \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010020 \0 ( \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 002 004 0010040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010060 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 0010100 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 0010120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010140 \0 \0 \0 \0 \0 004 \0 \a \0 024 \0 006 M O D E 0010160 R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 0010200 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0010220 \0 024 \0 006 M O D E R N \0 006 \0 \0 \0 \0 0010240 \0 \0 \0 \0 \0 022 \0 004 L O G O \0 030 \0 \0 0010260 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E R N 0010300 \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 024 \0 006 M O 0010320 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? 0010340 \0 1 ( D E F A U L T F O N T 1 0010360 ( G A C H A 1 0 ) ( G A C 0010400 H A 8 ) ( T E R M I N A L 0010420 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010440 \0 \0 002 \0 004 \0 \0 \0 005 \0 \0 \0 \0 004 \0 \0 0010460 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \b \0 \0 \0 \0 002 0010500 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v 0010520 H R U L E . G E T F N 001 \0 024 \0 006 0010540 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0010560 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 0010600 003 \0 \0 \0 002 \0 001 \0 \v H R U L E . G 0010620 E T F N 001 \0 024 \0 006 M O D E R N \0 0010640 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 0010660 \0 002 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 0010700 \0 \v H R U L E . G E T F N 001 \0 024 0010720 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0010740 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0010760 002 \0 002 \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 \0 0011000 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U L 0011020 E . G E T F N 001 \0 024 \0 006 M O D E 0011040 R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001 0011060 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 0011100 002 \0 001 \0 \v H R U L E . G E T F N 0011120 001 \0 024 \0 006 M O D E R N \0 \f \0 \0 \0 0011140 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 0011160 \0 \0 \0 002 \0 001 \0 \0 \0 ( \0 \0 \0 \0 002 \0 0011200 \0 \0 \0 \0 002 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 0011220 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 352 \0 \0 \0 \0 0011240 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 2 \0 \0 \0 0011260 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 \n \0 \0 0011300 \0 \0 006 \0 \0 \0 017 \0 \0 \0 \0 005 \0 \0 \0 023 0011320 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 002 0011340 033 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 0011360 \0 261 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 0011400 \0 \0 \a \0 \0 \0 \0 006 \0 \0 \0 026 \0 \0 \0 \0 0011420 005 \0 \0 \0 023 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 0011440 \0 005 \0 \0 002 270 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 0011460 002 \0 005 \0 \0 \0 \t \0 \0 \0 \0 006 \0 \0 \0 006 0011500 \0 \0 \0 \0 005 \0 \0 \0 025 \0 \0 \0 \0 006 \0 \0 0011520 \0 \0 \0 002 \0 005 \0 \0 \0 200 \0 \0 \0 \0 006 \0 0011540 \0 \0 \0 \0 002 \0 005 \0 \0 \0 005 \0 \0 \0 \0 006 0011560 \0 \0 \0 024 \0 \0 \0 \0 005 \0 \0 \0 024 \0 \0 \0 0011600 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 303 \0 \0 0011620 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 006 \0 0011640 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 0011660 026 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 005 \0 \0 0011700 \0 X \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 005 \0 0011720 \0 \0 202 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 006 0011740 \0 \0 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 0011760 006 \0 \0 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 0012000 \0 006 \0 \0 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 0012020 002 \0 006 \0 \0 \0 001 \0 \0 \0 \0 \a \0 \0 \0 \0 0012040 \0 002 \0 006 \0 \0 \t 331 \0 I z 272 0012054