Tip:
Highlight text to annotate it
X
ÿþ> > C U T T S :
H e y e v e r y b o d y . T h i s i s M a t t C u t t s c o m i n g t o y o u f r o
m t h e G o o g l e p l e x a n d w e ' r e t r y i n g s o m e t h i n g n e w t o
d a y .
I n t h e l a s t c o u p l e o f w e e k s , I ' v e h a d a c h a n c e t o s p e
a k a t 2 d i f f e r e n t c o n f e r e n c e s , a n d i f y o u w e r e n ' t a
b l e t o a t t e n d , o r y o u d i d n ' t w a n t t o p a y h u n d r e d s o r
t h o u s a n d s o f d o l l a r s t o h e a r w h a t G o o g l e h a d t o s a y
, I f i g u r e d w h y n o t r e c r e a t e w h a t w e t a l k e d a b o u t a t
t h e c o n f e r e n c e a n d t h e n y o u c o u l d w a t c h i t f o r f r e e
.
S o , t h e f i r s t t h i n g w e ' r e g o i n g t o t a l k a b o u t i s a t a
l k t h a t I g a v e a t W e b 2 . 0 , t h e W e b 2 . 0 S u m m i t i n S a n F r
a n c i s c o t w o o r t h r e e w e e k s a g o .
T h e t i t l e w a s " P r e v e n t i n g V i r t u a l B l i g h t , " w h i c h
i s a t e r m t h a t J o n a h S t e i n c a m e u p w i t h .
A n d , i t ' s p r e t t y i n t e r e s t i n g .
T h e W e b 2 . 0 S u m m i t i s n o t s e a r c h e r s a n d S C O s a n d w e b
m a s t e r s , w h i c h i s m y t y p i c a l c o n f e r e n c e .
I t i s t e c h i e s a n d p r o g r a m m e r s a n d b u s i n e s s d e v e l o
p m e n t p e o p l e a n d t h e W e b 2 . 0 c r o w d .
A n d s o t h e y w e r e t a l k i n g a b o u t p r e v e n t i n g b l i g h t i
n t e r m s o f i f y o u r u n y o u r o w n w e b s e r v i c e , h o w d o y o u
k e e p p e o p l e f r o m c a u s i n g b a s s t u f f t o h a p p e n o n t h a
t s e r v i c e ?
S o , I t h i n k o f b l i g h t a l m o s t a s t h e b y p r o d u c t t h a t '
s l e f t b e h i n d b y w e b s p a m .
W h e n y o u g e t h i t b y w e b s p a m , t h e s e g u y s a r e t r y i n g t
o g e t l i n k s o r d o w h a t e v e r .
W h a t ' s l e f t o v e r i s t h i s v i r t u a l b l i g h t , w h e n e v e r
t h i n g s a r e d e f a c e d a n d t h e c o m m u n i t y t u r n s k i n d o f
s t a l e o r n a s t y o r i n f e c t e d .
S o , w i t h o u t f u r t h e r a d i e u , l e t ' s g o a h e a d a n d s t a r
t o u t . " P r e v e n t i n g V i r t u a l B l i g h t . "
F i r s t , I w a n t t o w a l k t h r o u g h s o m e o f t h e d i f f e r e n t
t y p e s o f b l i g h t s o t h a t y o u g e t a n i d e a o f w h a t w e ' r e
t a l k i n g a b o u t , a n d t h e n w e ' l l t a l k a b o u t h o w t o p r e
v e n t b l i g h t o n y o u r o w n s y s t e m s o r y o u r o w n s i t e , o r
y o u r o w n c o m m u n i t y .
S o , t h e f i r s t t y p e o f b l i g h t i s t h e s i m p l e s t ; i t ' s p
e o p l e w h o a r e t r y i n g t o d e f a c e y o u t o g e t l i n k s .
S o , i t ' s a l m o s t l i k e g r a f f i t i i f y o u h a v e y o u r o w n b
u i l d i n g .
S o m e b o d y ' s s p r a y i n g s t u f f o n t h e o u t s i d e , t r y i n g
t o g e t a t t e n t i o n .
A n d s o , t y p i c a l l y , y o u ' l l h a v e y o u r d o m a i n a n d t h e
s p a m m e r w i l l h a v e a c o m p l e t e l y d i f f e r e n t d o m a i n ,
a n d t h e y ' l l d e f a c e y o u i n s o m e w a y t o t r y t o g e t l i n k
s .
S o , w h e n e v e r I w a s g i v i n g t h e t a l k , I s a i d , " I f y o u h
a v e a b l o g , p l e a s e r a i s e y o u r h a n d . "
A b o u t h a l f t h e a u d i e n c e r a i s e d t h e i r h a n d , a n d t h e
n I s h o w e d t h i s n e x t s l i d e , w h i c h i s a n e x a m p l e o f l i
n k s p a m , w h i c h e v e r y o n e s h o u l d b e f a m i l i a r w i t h i f
y o u h a v e a b l o g .
S o , w e ' v e g o t a l i t t l e b i t o f C y r i l l i c u p t o p , s o m e R
u s s i a n - l o o k i n g s p a m , a n d t h e n w e ' v e g o t s o m e p r e t
t y e n t e r t a i n i n g l i n k s p a m t o w a r d t h e b o t t o m t h a t '
s m o r e o r l e s s g i b b e r i s h w i t h l o t s o f n i c e p h a r m a c y
t e r m s i n b e t w e e n , a n d a l l t h a t s o r t o f s t u f f .
T h a t ' s p r e t t y s t a n d a r d .
S o , l e t ' s g o a h e a d a n d t a l k a b o u t t h e n e x t t y p e o f b l
i g h t .
B e f o r e w e d o t h a t , I ' l l s a y , t h e w a y t h a t y o u k n o w w h
e t h e r y o u ' r e v u l n e r a b l e t o t h i s t y p e o f b l i g h t , t o
l i n k s a s a t y p e o f b l i g h t , i s t o a s k y o u r s e l f , " I s t h
e r e a w a y t h a t p e o p l e c a n g e t f r e e l i n k s f r o m m y s e r v
i c e ?
" I f I r u n a b l o g , c a n p e o p l e g e t a f r e e l i n k b y l e a v i n
g a c o m m e n t ? I f a r u n a f o r u m , c a n p e o p l e g e t a f r e e l i
n k i n t h e i r p r o f i l e p a g e ? " O r s o m e t h i n g l i k e t h a t
.
A n d i f s o , y o u w a n t t o t h i n k a b o u t h o w i t m i g h t g e t a t
t a c k e d b y b l a c k h a t s o r o t h e r i n d i v i d u a l s .
S o , f o r e x a m p l e , i f y o u r u n a b l o g , t h e r e i s A k i s m e t
I f y o u ' v e g o t m o v a b l e t y p e , t h e r e i s t h e a n t i - s p a m
p l u g i n .
S o , t h e r e ' s a l o t o f p a c k a g e s l i k e t h i s .
A n d o f c o u r s e , y o u c a n a l w a y s n o f o l l o w u n t r u s t e d l
i n k s t o o t h e r d o m a i n s .
N o w , j u s t t o b e v e r y c l e a r , w h e n I s a y t h a t , I ' m n o t t
a l k i n g a b o u t n o f o l l o w i n g e v e r y l i n k t o a n o u t s i d e
d o m a i n .
T h e w h o l e i d e a o f n o f o l l o w i s t h a t y o u c a n u s e i t o n t
h o s e l i n k s w h e r e y o u c a n ' t r e a l l y v o u c h f o r a t h i r d
p a r t y o r y o u d o n ' t w a n t t o v o u c h f o r a t h i r d p a r t y .
S o , s u p p o s e y o u h a v e e d i t o r s w h o a r e t r u s t e d e d i t o
r s o n y o u r s i t e , o r p e o p l e w h o h a v e j o i n e d y o u r f o r u
m a n d t h e y ' v e c o n t r i b u t e d h u n d r e d s o f p o s t s a n d y o
u h a v e c o m p l e t e c o n f i d e n c e i n w h a t t h e y l i n k t o .
T h o s e w o u l d b e g r e a t l i n k s t o g o a h e a d a n d l i f t t h e n
o f o l l o w o n , b u t i f y o u ' v e g o t s o m e b o d y w h o j u s t j o i
n e d t h e f o r u m t h a t d a y , a n d t h e i r p r o f i l e n a m e i s " b
u y c h e a p v i a g r a " , t h e n i n t h a t c a s e , y o u m a y w a n t t o
n o f o l l o w t h o s e l i n k s o n t h a t p r o f i l e p a g e .
S o , n o f o l l o w i s a w o n d e r f u l w a y t o s a y t o t h e s e a r c h
e n g i n e s , " D o n ' t f l o w p a g e r a n k . D o n ' t f l o w a n c h o r
t e x t . "
A n d y o u c a n u s e i t a s a g r a n u l a r t o o l o n t h e l i n k s t h a
t y o u d e c i d e y o u w a n t t o v o u c h f o r .
S o , m o v i n g o n b e y o n d j u s t s t a n d a r d l i n k s ; t h e n e x t
s l i d e i s p a r a s i t i c S C O i s h o w t h e w e b m a s t e r s a n d b l
a c k h a t s s o m e t i m e s t a l k a b o u t i t .
I t a l k e d a b o u t i t i n t e r m s o f l a n d i n g p a g e s .
A n d t h e w h o l e i d e a i s w h e t h e r a s p a m m e r c a n g e t a p a g
e o n y o u r s e r v i c e . S o , f o r e x a m p l e , o n B l o g s p o t , c a
n t h e y g e t a f r e e b l o g ?
O n a f o r u m , c a n t h e y g e t t h e i r u s e r p r o f i l e p a g e ?
A n d t h i s i s n o t j u s t u s e d b y s p a m m a s t e r w e b s p a m . A t
o n o f p e o p l e w i l l d o e m a i l s p a m , a n d w h a t t h e y n e e d i
s a l a n d i n g p a g e w h e r e t h e y c a n s e n d a l l o f t h e p e o p l
e t h a t e m a i l s p a m s o t h e y c a n s e n d y o u t o o n e s p e c i f i
c U R L .
A n d s o m e t i m e s t h a t U R L d o e s a r e d i r e c t . S o m e t i m e s
t h a t U R L j u s t h a s a l i n k w h e r e y o u c a n g e t s o m e a f f i l
i a t e c o m m i s s i o n o r w h a t e v e r .
B u t t h e s p a m m e r s a r e r e a l l y j u s t l o o k i n g f o r a l i t t
l e h o m e o n t h e w e b .
S o , r a t h e r t h a n j u s t e f f a c i n g y o u r b u i l d i n g w i t h l
i n k s , n o w t h e y ' r e a c t u a l l y i n s i d e o f t h e b u i l d i n g
.
T h e y h a v e a l i t t l e c u b i c l e o r s o m e t h i n g a n d t h e y ' r
e t r y i n g t o s p a m o t h e r p l a c e s s o t h a t t h e y c a n g e t s o
m e t r a f f i c t o t h a t c u b i c l e .
S o , I s h o w e d a n e x a m p l e , a n d t h i s I j u s t h a p p e n e d t o
d o s i t e : b e r k e l e y . e d u a n d b u y V i a g r a o r s o m e t h i n g
l i k e t h a t .
S o y o u c a n s e e t h i s h a p p e n s t o b e a p a r t i c u l a r w i k i p
i e c e o f s o f t w a r e a n d t h e n a m e o f i t i s V i a g r a , C i a l i
s , L e v i t r a s e r v i c e s .
S o , y o u c a n s e e t h a t i t ' s v e r y , v e r y t a r g e t e d . I t ' s
v e r y r e l e v a n t i f y o u ' r e i n t e r e s t e d i n p h a r m a c e u t
i c a l t e r m s .
N o w , w h a t ' s k i n d o f f u n n y i s t h a t t h i s i s y o u r s t a n d
a r d d e f a c e d w i k i s t a n d a r d d e f a c e d k i n d o f f o r u m s o
r t o f t h i n g .
B u t i f y o u g o t o t h e n e x t s l i d e , y o u ' l l s e e t h a t t h e r
e ' s a l i t t l e b i t o f a n i n d i g n i t y h e r e , w h i c h i s t h a t
t h e y d i d n ' t j u s t c r e a t e t h e i r o w n l i t t l e l a n d i n g p
a g e o n t h e w e b .
I f y o u l o o k d o w n a t t h e b o t t o m o f t h a t p a g e , t h e y a c t
u a l l y p a s t e d s o m e o b f u s c a t e d J a v a S c r i p t .
A n d s o o n t h a t s l i d e , y o u c a n s e e " e v a l ( u n e s c a p e " a
n d t h e n a w h o l e b u n c h o f g i b b e r i s h - l o o k i n g s o r t o f
s t u f f .
W e l l , i f y o u a c t u a l l y " u n e s c a p e " t h a t , y o u ' l l s e e
t h e J a v a S c r i p t t h a t I h a v e a t t h e b o t t o m o f t h e s l i d
e , a n d I ' l l l o o k a t i t f o r a s e c o n d .
I t s e t s o n e v a r i a b l e e q u a l t o t h e v a l u e 2 1 7 . I t s e t s
a s e c o n d v a r i a b l e e q u a l t o v a r i a b l e o n e , a n d t h e n i
t s e t s o u r v a r i a b l e o n e a n d o u r v a r i a b l e t w o e q u a l t
o e a c h o t h e r .
A n d i f s o , g o t o , i t h a p p e n s t o b e o f f i c i a l m e d i c i n e
s . c o m w i t h a n a f f i l i a t e I D .
N o w , w h y a r e t h e y d o i n g t h i s ? W h y a r e t h e o b f u s c a t i
n g i t , a n d w h y a r e t h e y w r i t i n g J a v a S c r i p t , w h i c h w
i l l a l w a y s b e t r u e ?
W e l l , t h e f i r s t r e a s o n , t h e y ' r e t r y i n g t o h i d e i t f
r o m p e o p l e a n d p o s s i b l e f r o m s e a r c h e n g i n e s , a n d t
h e y ' r e t r y i n g t o w r i t e a l i t t l e b i t o f s n e a k y J a v a S
c r i p t .
T h e y d o n ' t j u s t w a n t t o i m m e d i a t e l y s e t y o u t o a d i f
f e r e n t l o c a t i o n b e c a u s e s e a r c h e n g i n e s m i g h t b e a
b l e t o d e t e c t t h a t .
T h e y w a n t t o a c t u a l l y r u n a l i t t l e b i t o f c o d e .
S o , y o u a c t u a l l y w o u l d a l m o s t h a v e t o i n t e r p r e t J a
v a S c r i p t a s y o u ' r e c r a w l i n g t h e w e b t o k n o w t h a t t h
a t i s a s n e a k y r e d i r e c t .
T h e u s e r t h a t l a n d s o n t h a t p a g e i m m e d i a t e l y g e t s w
h i s k e d a w a y t o s o m e o t h e r p h a r m a c y s i t e .
S o , o n e r u l e o f t h u m b , i f y o u ' r e b u i l d i n g y o u r o w n s
e r v i c e , i f y o u ' r e b u i l d i n g y o u r o w n c o m m u n i t y i s d
o n ' t l e t u s e r s i n s e r t c o d e o n y o u r s i t e .
I f t h e y c a n i n s e r t J a v a S c r i p t , t h e n t h e y c a n f o r c e
u s e r s w h o l a n d o n t h a t p a g e t o g e t s e n t a w a y i n o t h e r
p l a c e s .
S o , i f y o u w a n t t o p r e v e n t v i r t u a l b l i g h t , i t ' s a r e
a l l y g o o d i d e a t o n o t l e t p e o p l e i n s e r t c o d e , a n d t o
t h i n k a b o u t t h e t y p e s o f l a n d i n g p a g e s t h a t p e o p l e
m i g h t g r a b .
S o , y o u c a n a s k y o u r s e l f , a n d I ' m m o v i n g o n t o t h e n e
x t s l i d e , c a n s o m e o n e m a k e a l a n d i n g p a g e u s i n g y o u
r s e r v i c e ?
A n d t h a t c a n b e a v e r y b r o a d d e f i n i t i o n . I t c a n b e y o
u r s t a n d a r d p r e h o s t o r a p a g e o n a p r e h o s t l i k e B l o g
s p o t , G e o c i t i e s , A n g e l f i r e .
I t c a n b e a f r e e s u b d o m a i n , a u s e r p r o f i l e p a g e , a s a
l e f o r u m , o r a w i k i t h a t s o m e b o d y c a n g r a b a n d t a k e c
o n t r o l o f .
A n d i f y o u d o h a v e t h a t , t h e n y o u m i g h t w a n t t o t h i n k
a b o u t s e t t i n g u p s o m e b a r r i e r s , s o m e r e g i s t r a t i o
n , s o c a p t u r e s a r e n o t p e r m a n e n t , b u t t h e y w i l l d i s
c o u r a g e s p a m m e r s b e c a u s e t h e s p a m m e r s d o n ' t w a n t
t o d o a l o t o f w o r k i f t h e y d o n ' t h a v e t o .
A n d s o i f y o u c a n m a k e t h e s p a m m e r s d o a l i t t l e b i t m o
r e w o r k , t h e n t h e y ' l l g o o f f a n d h o p e f u l l y t a r g e t s
o m e e a s i e r s p a c e t h a n y o u r p a r t i c u l a r s e r v i c e o r y
o u r p a r t i c u l a r s i t e .
Y o u c a n a l s o s t e p o f f t h e b e a t e n p a t h .
S o , a l o t o f p e o p l e l o o k f o r p r e t t y s t a n d a r d t h i n g s
; v i e w p r o f i l e . p h p o r w p - l o g i n . p h p .
A n d s o i f y o u c a n c h a n g e a f e w o f t h o s e s t r i n g s a r o u n
d w h e r e p e o p l e c a n ' t a u t o m a t i c a l l y k n o w , " O h , h e r
e ' s a s c r i p t i n g a t t a c k t h a t I c a n d o . "
T h a t m i g h t g e t y o u a l i t t l e b i t o f e x t r a p r e d i c t i o n
a s w e l l .
A n d t h e n t h e l a s t s t e p i s y o u c a n a l w a y s c h a r g e m o n e
y . A n d t h e p e o p l e w h o a r e s p a m m i n g , t h e y w a n t t o m a k
e m o n e y ; t h e y d o n ' t w a n t t o p a y m o n e y .
A n d s o i f y o u a d d j u s t a l i t t l e b i t o f b a r r i e r t h e r e ,
y o u ' l l o f t e n f i n d t h a t a l o t o f p e o p l e w i l l g o a n d h i
t o t h e r p l a c e s b e f o r e t h e y h i t y o u r s e r v i c e .
S o , t h a t ' s t w o t y p e s - - d e f a c i n g y o u f o r l i n k s , o r a
c t u a l l y g e t t i n g a p a g e o n y o u r s i t e .
L e t ' s t a l k a b o u t s o m e t h i n g t h a t ' s e v e n m o r e i n s i d
i o u s , w h i c h i s a r e c e n t t r e n d , w h i c h i s h a c k i n g .
S o , y o u c a n t e l l I ' m m e a n t t o b e a p r o g r a m m e r a n d n o t
a n a r t i s t f r o m t h e s e s l i d e s , b e c a u s e t h e y ' r e l i k e
h a n d - d r a w n h a p p y f a c e s a n d t h e y ' r e p r e t t y m e s s y .
B u t , i n t h i s c a s e , a s p a m m e r c a n h a c k p a g e s o n y o u r s
i t e , s u c h t h a t e v e r y s i n g l e p e r s o n w h o l a n d s o n y o u
r s i t e g e t s i n f e c t e d w i t h m a l w a r e .
O r , w h e n e v e r t h e y h a c k , t h e y c a n g i v e t h e m s e l v e s a
m a s s i v e a m o u n t o f l i n k s .
L e t ' s t a l k t h r o u g h a n e x a m p l e .
I p r o m i s e d I w o u l d n ' t s h a r e t h i s p e r s o n ' s n a m e . Y o
u d o n ' t k n o w t h e m , b u t t h e y a r e a G o o g l e r .
S o , t h e r e w a s a b r a n d n e w G o o g l e r w h o h a d s t a r t e d , a
n d w e w e r e h a v i n g a m e e t i n g , a n d s o I s a i d , " O h , d o a l
i t t l e r e s e a r c h o n t h i s f e l l o w b e f o r e I g e t a c h a n c e
t o k n o w w h o h e i s . "
S o , I d i d a s e a r c h f o r h i s n a m e , a n d h e h a s h i s o w n w e b
s i t e , a n d t h e s n i p p e t l o o k e d r e a l l y s t r a n g e .
Y o u c a n s e e t h i s . I n t h e s n i p p e t i s s a y s , " x x x s i m p s
o n s y o u r d i r t y m i n d 3 D s e x c o m i c s " .
N o t w h a t y o u ' d n o r m a l l y e x p e c t f r o m a s n i p p e t .
S o , i f y o u g o t o t h e n e x t s l i d e a n d v i e w t h e s o u r c e , y
o u c a n s e e h e w a s h a c k e d .
S o , i t m a d e f o r k i n d o f a n a w k w a r d m e e t i n g , b e c a u s e
y o u w a l k u p , " H e y , h o w a r e y o u ? N i c e t o m e e t y o u . W e l
c o m e t o G o o g l e . H o w a r e y o u d o i n g ? B y t h e w a y , y o u r s
i t e ' s b e e n h a c k e d . "
A n d h e h a d n ' t e v e n i n s t a l l e d a n y s o f t w a r e . S o , s o m
e t i m e s i t ' s y o u r w e b h o s t .
Y o u m i g h t t h i n k a b o u t w h e t h e r t h e y h a v e a s e c u r e v e
r s i o n o f c P a n e l a n d a l l t h e o t h e r s o f t w a r e t h a t t h a
t w e b h o s t u s e s .
H e d i d n ' t e v e n h a v e a n y s o r t o f c o n t e n t m a n a g e m e n t
H i s w a s h a n d - d o n e H T M L . S o , i t w a s a l m o s t c e r t a i n l
y s o m e t h i n g t o d o w i t h h i s w e b h o s t t h a t w a s g i v i n g h
i m s o m e t r o u b l e .
A n d i f y o u l o o k a t t h e v i e w s o u r c e o n t h i s h a c k i n g e x
a m p l e , h e w a s l u c k y b e c a u s e p e o p l e w e r e n ' t i n s t a l
l i n g m a l w a r e .
I n s t e a d , t h e y w e r e o n l y t r y i n g t o g e t l i n k s .
A n d i f y o u l o o k a t t h e l i n k s , t h e y ' r e g e t t i n g l i n k s
t o s i t e s t h a t t h e m s e l v e s a r e p r o b a b l y h a c k e d .
S o , i n t h i s c a s e , t h e s p a m m e r h a s n ' t l a i d o u t a n y m o
n e y w h a t s o e v e r .
H e ' s h a c k i n g o n e s i t e , g e t t i n g a t o n o f l i n k s , p o i n
t i n g t o l a n d i n g p a g e s o n o t h e r s i t e s t h a t h e ' s e i t h
e r h a c k e d o r d e f a c e d i n s o m e w a y .
S o , t h e s p a m m e r d o e s n ' t h a v e t o p u t a n y m o n e y f o r w a
r d .
I n s t e a d , h e j u s t g e t s a l o t o f v i s i t o r s a n d c a n m a k e
m o n e y o f f o f i t w i t h o u t h a v e t o p a y f o r d o m a i n o r a n y
t h i n g l i k e t h a t .
S o , h o w d o y o u p r o t e c t y o u r s e l f a g a i n s t t h i s ?
W e l l , f i r s t o f f , s t a r t t h i n k i n g a b o u t d o i n g s e c u r
i t y r e v i e w s .
D o s o m e s p o t c h e c k s . I f I w e r e a h a c k e r , h o w w o u l d I a
t t a c k i t ?
S o , w h e t h e r y o u c a l l i t s o m e t h i n g f o r m a l l i k e a s e c
u r i t y a u d i t , o r w h e t h e r i t ' s a s i m p l e a s j u s t p a t c h
i n g y o u r s o f t w a r e r e l i g i o u s l y , i f y o u w e r e t o t a k e
y o u r s t a n d a r d W i n d o w s m a c h i n e a n d j u s t p u t i t o u t ,
y o u k n o w , X P m a c h i n e , n o p a t c h e s o r a n y t h i n g , o n t h
e I n t e r n e t , i t w o u l d p r o b a b l y g e t h a c k e d i n a b o u t h
a l f a n h o u r , m a y b e l e s s .
B u t p e o p l e s e e m t o h a v e t h i s i d e a t h a t t h e y c a n p u t u
p a w e b s e r v i c e w i t h a v e r s i o n a W o r d P r e s s t h a t ' s 2 y
e a r s o l d , o r s o m e t h i n g l i k e t h a t , a n d j u s t l e a v e i t
u p t h e r e f o r e v e r , a n d i t w o n ' t g e t h a c k e d .
T h e f a c t i s a l l c o d e h a s b u g s . I t ' s j u s t y o u c a n ' t w r
T h a n k s .